diff options
Diffstat (limited to 'kernel/src/main.rs')
-rw-r--r-- | kernel/src/main.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/kernel/src/main.rs b/kernel/src/main.rs index 50b281f..017f4b9 100644 --- a/kernel/src/main.rs +++ b/kernel/src/main.rs @@ -19,8 +19,12 @@ extern "C" fn _start() -> ! { interrupts::gdt::init(); interrupts::idt::init(); - let apic = interrupts::apic::Apic::new().expect("no APIC support"); - let apic = unsafe { interrupts::apic::set_local_apic(apic) }; + loop {} + let apic = unsafe { + interrupts::apic::try_initialize_local_apic() + .as_mut() + .expect("no APIC support") + }; apic.set_timer_interrupt_handler( interrupts::apic::TimerDivideConfig::Div16, @@ -31,11 +35,13 @@ extern "C" fn _start() -> ! { let mut stdout = OStream::new(); stdout.print(b"apic initialisation complete\n"); - x86_64::instructions::interrupts::int3(); + //x86_64::instructions::interrupts::int3(); + stdout.print(b"foolete\n"); if cfg!(test) { qemu::exit_qemu(qemu::QemuExitCode::Success); } + #[allow(clippy::empty_loop)] loop {} } |