diff options
| author | Clément Sibille <claymeuns@protonmail.com> | 2021-10-08 08:17:14 +0200 |
|---|---|---|
| committer | Clément Sibille <claymeuns@protonmail.com> | 2021-10-08 08:17:14 +0200 |
| commit | 73338c2d453e7a5928fa7f392e1bc2392dbba3cd (patch) | |
| tree | 6c05321300d9bdac96723da268c6fe0b2f2a5464 /kernel/src/arch/x86 | |
| parent | 06d819c3e8e94972bd4261069d2c5239297bba65 (diff) | |
Move x86-specific code into an arch/x86 module
Diffstat (limited to 'kernel/src/arch/x86')
| -rw-r--r-- | kernel/src/arch/x86/io.rs | 14 | ||||
| -rw-r--r-- | kernel/src/arch/x86/mod.rs | 1 |
2 files changed, 15 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 +} diff --git a/kernel/src/arch/x86/mod.rs b/kernel/src/arch/x86/mod.rs new file mode 100644 index 0000000..af514a1 --- /dev/null +++ b/kernel/src/arch/x86/mod.rs @@ -0,0 +1 @@ +pub mod io; |
