diff options
author | sigsegv7 <ian@vegaa.systems> | 2023-10-04 19:21:14 -0400 |
---|---|---|
committer | sigsegv7 <ian@vegaa.systems> | 2023-10-04 19:26:28 -0400 |
commit | ccf6421ebfd30808a24b1a08aa6dbf963de1f24d (patch) | |
tree | 3bad85fcb50e1ba8e2471c0ed49b2b6513dcd56d /sys/arch/amd64/lapic.c | |
parent | 3da66ee8c13dc5826d3eb1087b2b61bee7ceaf9e (diff) |
kernel/amd64: Initialize IDT and GDT first
This commit moves the interrupts_init() and gdt_load()
calls to the top so interrupts are set up first in case
something goes wrong so we can get information from
exception handlers.
Signed-off-by: sigsegv7 <ian@vegaa.systems>
Diffstat (limited to 'sys/arch/amd64/lapic.c')
-rw-r--r-- | sys/arch/amd64/lapic.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/arch/amd64/lapic.c b/sys/arch/amd64/lapic.c index 792cfa3..53a4fd5 100644 --- a/sys/arch/amd64/lapic.c +++ b/sys/arch/amd64/lapic.c @@ -251,10 +251,14 @@ lapic_init(void) /* Get the current processor, and calibrate LAPIC timer */ cur_cpu = this_cpu(); + CPU_INFO_LOCK(cur_cpu); + lapic_timer_init(&tmr_freq); cur_cpu->lapic_tmr_freq = tmr_freq; /* Set the Local APIC ID */ cur_cpu->lapic_id = lapic_get_id(); + BSP_KINFO("BSP Local APIC ID: %d\n", cur_cpu->lapic_id); + } |