From b44da1cc8773578610db2225b21c0882ad37f5a2 Mon Sep 17 00:00:00 2001 From: Aleksa Vuckovic Date: Sun, 29 Jan 2023 03:24:37 +0100 Subject: timer.c: added wait_queue & wait(ms) --- kernel/src/apic/madt.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'kernel/src/apic/madt.c') 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;"); } -- cgit v1.2.3