diff options
| author | Franklin Wei <frankhwei536@gmail.com> | 2015-02-01 11:33:16 -0500 |
|---|---|---|
| committer | Franklin Wei <frankhwei536@gmail.com> | 2015-02-01 11:33:16 -0500 |
| commit | 439d724ce5939cab7a5c858d1829f212e01e0402 (patch) | |
| tree | 154afa843a96e4cebd4d4f4f480f36415668d620 /kernel/io.c | |
| parent | 1d7843c2b6d746376f87c2634c92cd93d8cdb728 (diff) | |
| download | kappa-439d724ce5939cab7a5c858d1829f212e01e0402.zip kappa-439d724ce5939cab7a5c858d1829f212e01e0402.tar.gz kappa-439d724ce5939cab7a5c858d1829f212e01e0402.tar.bz2 kappa-439d724ce5939cab7a5c858d1829f212e01e0402.tar.xz | |
first real commit
Diffstat (limited to 'kernel/io.c')
| -rw-r--r-- | kernel/io.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/kernel/io.c b/kernel/io.c new file mode 100644 index 0000000..9b56b5d --- /dev/null +++ b/kernel/io.c @@ -0,0 +1,19 @@ +#include <stdint.h> +#include "io.h" + +void outb(uint16_t port, uint8_t val) +{ + asm volatile ("outb %1, %0": :"dN" (port), "a" (val)); +} +uint8_t inb(uint16_t port) +{ + uint8_t ret; + asm volatile ("inb %1, %0" : "=a" (ret) : "dN" (port)); + return ret; +} +uint16_t inw(uint16_t port) +{ + uint16_t ret; + asm volatile ("inw %1, %0" : "=a" (ret) : "dN" (port)); + return ret; +} |