diff options
Diffstat (limited to 'kernel/src/arch/x86/io.rs')
| -rw-r--r-- | kernel/src/arch/x86/io.rs | 14 | 
1 files changed, 14 insertions, 0 deletions
diff --git a/kernel/src/arch/x86/io.rs b/kernel/src/arch/x86/io.rs new file mode 100644 index 0000000..a647408 --- /dev/null +++ b/kernel/src/arch/x86/io.rs @@ -0,0 +1,14 @@ +pub unsafe fn out8(address: u16, value: u8) { +    asm!( +    "out dx, al", in("dx") address, in("al") value +    ); +} + +pub unsafe fn in8(address: u16) -> u8 { +    let result: u8; +    asm!( +    "in al, dx", in("dx") address, out("al") result +    ); + +    result +}  | 
