summaryrefslogtreecommitdiff
path: root/kernel/src/cpu
diff options
context:
space:
mode:
authorAleksa Vuckovic <aleksav013@gmail.com>2022-08-12 15:36:57 +0200
committerAleksa Vuckovic <aleksav013@gmail.com>2022-08-12 15:48:26 +0200
commit5c1c4eb0a4084b666342e6f8eb348eb80be6214b (patch)
tree18fd33482c2cdd66eb6be18ac25ad8bde62012ad /kernel/src/cpu
parent97c5f8569a845b6e9b3f75460b3b90a2de9b72a8 (diff)
memcpy, memset; small fixes
Diffstat (limited to 'kernel/src/cpu')
-rw-r--r--kernel/src/cpu/io.c4
-rw-r--r--kernel/src/cpu/irq_stub.S5
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