diff options
| author | Aleksa Vuckovic <aleksav013@gmail.com> | 2022-08-12 15:36:57 +0200 |
|---|---|---|
| committer | Aleksa Vuckovic <aleksav013@gmail.com> | 2022-08-12 15:48:26 +0200 |
| commit | 5c1c4eb0a4084b666342e6f8eb348eb80be6214b (patch) | |
| tree | 18fd33482c2cdd66eb6be18ac25ad8bde62012ad /kernel/src/cpu | |
| parent | 97c5f8569a845b6e9b3f75460b3b90a2de9b72a8 (diff) | |
memcpy, memset; small fixes
Diffstat (limited to 'kernel/src/cpu')
| -rw-r--r-- | kernel/src/cpu/io.c | 4 | ||||
| -rw-r--r-- | kernel/src/cpu/irq_stub.S | 5 |
2 files changed, 5 insertions, 4 deletions
diff --git a/kernel/src/cpu/io.c b/kernel/src/cpu/io.c index 84298cb..1a68f08 100644 --- a/kernel/src/cpu/io.c +++ b/kernel/src/cpu/io.c @@ -4,11 +4,11 @@ uint8_t inb(uint32_t port) { uint8_t ret; - __asm__ volatile ("inb %%dx, %%al" : "=a"(ret) : "d"(port)); + __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)); + __asm__ volatile ("outb %%al, %%dx;" : : "d"(port), "a"(value)); } diff --git a/kernel/src/cpu/irq_stub.S b/kernel/src/cpu/irq_stub.S index ddd197a..4db722e 100644 --- a/kernel/src/cpu/irq_stub.S +++ b/kernel/src/cpu/irq_stub.S @@ -38,10 +38,11 @@ isr\number: .macro isr_error number .global isr\number isr\number: - # rdi not saved - pop %rdi + add $8, %rsp pushall cld + # setting error to 0 + mov $0, %rdi call isr\number\()_handler popall iretq |
