diff options
author | dzwdz | 2021-10-07 06:37:07 +0000 |
---|---|---|
committer | dzwdz | 2021-10-07 06:37:07 +0000 |
commit | 12ac8f2134d0ca0b103e70515acad3d6ccf9b9c0 (patch) | |
tree | 4bba475661eeb1081e942a506736335513e31256 /src/kernel/arch | |
parent | fbf6183ef8c9d49a14bd3ff01f378d67eaebc300 (diff) |
kernel/i386: add 16bit port io functions
Diffstat (limited to 'src/kernel/arch')
-rw-r--r-- | src/kernel/arch/i386/port_io.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/kernel/arch/i386/port_io.h b/src/kernel/arch/i386/port_io.h index bcf2358..1938c97 100644 --- a/src/kernel/arch/i386/port_io.h +++ b/src/kernel/arch/i386/port_io.h @@ -4,9 +4,19 @@ static inline void port_out8(uint16_t port, uint8_t val) { asm volatile("outb %0, %1" : : "a" (val), "Nd" (port)); } +static inline void port_out16(uint16_t port, uint16_t val) { + asm volatile("outw %0, %1" : : "a" (val), "Nd" (port)); +} + static inline uint8_t port_in8(uint16_t port) { uint8_t val; asm volatile("inb %1, %0" : "=a" (val) : "Nd" (port)); return val; } +static inline uint8_t port_in16(uint16_t port) { + uint16_t val; + asm volatile("inw %1, %0" : "=a" (val) : "Nd" (port)); + return val; +} + |