diff options
| author | Aleksa Vuckovic <aleksav013@gmail.com> | 2022-08-05 03:14:51 +0200 |
|---|---|---|
| committer | Aleksa Vuckovic <aleksav013@gmail.com> | 2022-08-05 03:14:51 +0200 |
| commit | be3274c49d0ca5e31daa855c4c109d830fdead67 (patch) | |
| tree | 7f097287c7917b5bf662c5d2322a437a15f2a2da /kernel/io.c | |
| parent | f622bf0d79a7460cb160207bcd75f257deb872ea (diff) | |
interrupts
Diffstat (limited to 'kernel/io.c')
| -rw-r--r-- | kernel/io.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/kernel/io.c b/kernel/io.c new file mode 100644 index 0000000..6bf67d0 --- /dev/null +++ b/kernel/io.c @@ -0,0 +1,13 @@ +#include <stdint.h> + +uint8_t inb(uint32_t port) +{ + uint8_t ret; + __asm__ volatile ("inb %%dx, %%al" : "=a"(ret) : "d"(port)); + return ret; +} + +void outb(uint32_t port, uint8_t value) +{ + __asm__ volatile ("outb %%al, %%dx" : : "d"(port), "a"(value)); +} |
