All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
24 lines
671 B
Rust
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());
|
|
}
|
|
} |