diff options
Diffstat (limited to 'bunny/src/io.rs')
-rw-r--r-- | bunny/src/io.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/bunny/src/io.rs b/bunny/src/io.rs new file mode 100644 index 0000000..2fae55a --- /dev/null +++ b/bunny/src/io.rs @@ -0,0 +1,18 @@ +use x86_64::instructions::port::{Port, PortReadWrite}; + +const PIC1 : u16 = 0x20; +const PIC2 : u16 = 0xa0; +#[allow(unused)] +pub const PIC1_COMMAND : u16 = PIC1; +pub const PIC1_DATA : u16 = PIC1; +#[allow(unused)] +pub const PIC2_COMMAND : u16 = PIC2 + 1; +pub const PIC2_DATA : u16 = PIC2 + 1; + +pub const PIC_DISABLE : u8 = 0xff; + +#[inline(always)] +pub unsafe fn out<T: PortReadWrite>(port: u16, value: T) { + let mut p = Port::new(port); + p.write(value) +} |