From f6f6f650da4813d9c243d7b019303c10879038e6 Mon Sep 17 00:00:00 2001 From: Matheus Date: Fri, 22 Jul 2022 17:58:26 -0300 Subject: [PATCH] x86_64 port IO Added byte port IO with outb() and inb() --- src/arch/x86_64/include/arch/io.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/arch/x86_64/include/arch/io.h diff --git a/src/arch/x86_64/include/arch/io.h b/src/arch/x86_64/include/arch/io.h new file mode 100644 index 00000000..762a8bb0 --- /dev/null +++ b/src/arch/x86_64/include/arch/io.h @@ -0,0 +1,14 @@ +#ifndef _IO_H_INCLUDE +#define _IO_H_INCLUDE + +static inline void outb(uint16_t port, uint8_t data){ + asm("out %%al, %%dx" : : "a"(data), "d"(port)); +} + +static inline uint8_t inb(uint16_t port){ + uint8_t ret; + asm("in %%dx, %%al" : "=a"(ret) : "d"(port)); + return ret; +} + +#endif