From 476d4bad741d0e972e95fdeb99d947a8f71a774c Mon Sep 17 00:00:00 2001 From: 8infy <99danilt@gmail.com> Date: Sun, 1 Sep 2024 19:54:24 +0300 Subject: [PATCH] io: add outw & inw helpers --- kernel-src/include/x86-64/arch/io.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/kernel-src/include/x86-64/arch/io.h b/kernel-src/include/x86-64/arch/io.h index 6f537f8f..ff80b44d 100644 --- a/kernel-src/include/x86-64/arch/io.h +++ b/kernel-src/include/x86-64/arch/io.h @@ -14,6 +14,16 @@ static inline uint32_t ind(uint16_t port) { return ret; } +static inline void outw(uint16_t port, uint16_t data) { + asm volatile("out %%ax, %%dx" : : "a"(data), "d"(port)); +} + +static inline uint16_t inw(uint16_t port) { + uint16_t ret; + asm volatile("in %%dx, %%ax" : "=a"(ret) : "d"(port)); + return ret; +} + static inline void outb(uint16_t port, uint8_t data) { asm volatile("out %%al, %%dx" : : "a"(data), "d"(port)); }