JuliOS/src/interrupts/pic/disk.rs
Julien CLEMENT 8e0fbfe263
All checks were successful
continuous-integration/drone/push Build is passing
struggling with drives PIC hardware interrupts
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-13 21:38:09 +01:00

24 lines
671 B
Rust

use crate::println;
use super::{InterruptIndex, PICS};
use x86_64::structures::idt::InterruptStackFrame;
fn disk_interrupt_handler(disk: u16) {
println!("Received disk {} interrupt", disk);
}
pub extern "x86-interrupt" fn disk1_interrupt_handler(_stack_frame: InterruptStackFrame) {
disk_interrupt_handler(1);
unsafe {
PICS.lock()
.notify_end_of_interrupt(InterruptIndex::HardDisk1.as_u8());
}
}
pub extern "x86-interrupt" fn disk2_interrupt_handler(_stack_frame: InterruptStackFrame) {
disk_interrupt_handler(2);
unsafe {
PICS.lock()
.notify_end_of_interrupt(InterruptIndex::HardDisk2.as_u8());
}
}