From a9d39fdb56526c4146d92e6af68cc175ec4da7c2 Mon Sep 17 00:00:00 2001 From: Dennis Kobert Date: Thu, 7 Nov 2019 18:32:47 +0100 Subject: Add interupt descriptor table --- kernel/src/lib.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'kernel/src/lib.rs') diff --git a/kernel/src/lib.rs b/kernel/src/lib.rs index d5a3e9e..45ba8e1 100644 --- a/kernel/src/lib.rs +++ b/kernel/src/lib.rs @@ -1,12 +1,12 @@ #![no_main] #![feature(compiler_builtins_lib)] #![feature(custom_test_frameworks)] +#![feature(abi_x86_interrupt)] #![test_runner(crate::test_runner)] #![reexport_test_harness_main = "test_main"] #![no_std] -extern crate compiler_builtins; - +mod interrupts; mod io; use core::fmt::Write; @@ -25,6 +25,7 @@ pub fn test_runner(tests: &[&dyn Fn(&mut OStream)]) { #[no_mangle] pub extern "C" fn _start() -> ! { + interrupts::table::init(); if cfg!(test) { #[cfg(test)] test_main(); @@ -71,5 +72,6 @@ pub extern "C" fn panic_handler(_info: &core::panic::PanicInfo) -> ! { write!(serial::SerialStream::new(), "Testing failed\n").unwrap(); qemu::exit_qemu(qemu::QemuExitCode::Failed); } + x86_64::instructions::interrupts::int3(); loop {} } -- cgit v1.2.3-54-g00ecf