summaryrefslogtreecommitdiff
path: root/kernel/src/apic/madt.c
diff options
context:
space:
mode:
authorAleksa Vuckovic <aleksav013@gmail.com>2023-01-29 03:24:37 +0100
committerAleksa Vuckovic <aleksav013@gmail.com>2023-01-29 03:26:11 +0100
commitb44da1cc8773578610db2225b21c0882ad37f5a2 (patch)
tree41bdcc41a94630d1ff8e0196c0e119b36639d497 /kernel/src/apic/madt.c
parent37c9560515dffebab1e0dc6b79d6ac66eff6a161 (diff)
timer.c: added wait_queue & wait(ms)
Diffstat (limited to 'kernel/src/apic/madt.c')
-rw-r--r--kernel/src/apic/madt.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/kernel/src/apic/madt.c b/kernel/src/apic/madt.c
index 654182a..d133f2d 100644
--- a/kernel/src/apic/madt.c
+++ b/kernel/src/apic/madt.c
@@ -145,6 +145,16 @@ void parse_madt()
}
kfree(madt);
+
+ uint8_t bspid = curr_cpu_apic_id();
+
+ map_addr(lapic_addr, lapic_addr, FLAG_PRESENT);
+ map_addr(ioapic_addr, ioapic_addr, FLAG_PRESENT);
+ // irq is 2 because of gsi remap
+ ioapic_set_irq(0x2, bspid, 0x20); // timer
+ ioapic_set_irq(0x1, bspid, 0x21); // keyboard
+ __asm__ volatile ("sti;");
+
/*
for(size_t i = 0; i < numcores; i++) {
// do not start BSP, that's already running this code
@@ -168,13 +178,4 @@ void parse_madt()
}
}
*/
-
- uint8_t bspid = curr_cpu_apic_id();
-
- map_addr(lapic_addr, lapic_addr, FLAG_PRESENT);
- map_addr(ioapic_addr, ioapic_addr, FLAG_PRESENT);
- // irq is 2 because of gsi remap
- ioapic_set_irq(0x2, bspid, 0x20); // timer
- ioapic_set_irq(0x1, bspid, 0x21); // keyboard
- __asm__ volatile ("sti;");
}