From 1f71b9576db536af84155363e14fc49e92de2eef Mon Sep 17 00:00:00 2001 From: Brett Weiland Date: Sun, 29 Aug 2021 02:52:48 -0500 Subject: backup 8.29.21 --- src/kernel/int.c | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) (limited to 'src/kernel/int.c') diff --git a/src/kernel/int.c b/src/kernel/int.c index 34f1c78..5901a90 100644 --- a/src/kernel/int.c +++ b/src/kernel/int.c @@ -4,7 +4,7 @@ #include #include #include -#include +#include #include #include #include @@ -44,7 +44,6 @@ .present = 1 \ }) -#define GDT_ADDR (uint64_t)PHYS_TO_VIRT(0x7e22) #define IOAPICR_VER 1 @@ -74,18 +73,10 @@ struct idt_reg { uint64_t offset; } __attribute__((packed)); -struct gdt_reg { - uint16_t size; - uint64_t offset; -} __attribute__((packed)); - struct idt_descriptor *idt; static struct idt_reg idtr; -struct gdt_reg gdtr = { - .size = 0x17, - .offset = GDT_ADDR -}; + lapic_t lapic; //would make this static but it's needed by timer.c @@ -211,7 +202,7 @@ void init_exceptions() { //void new_idt -void init_interrupts() { +void init_interrupts_bsp() { init_madt(); debug_madt(); lapic = get_lapic(); @@ -232,9 +223,7 @@ void init_interrupts() { bzero(&isr_bitmap, sizeof(isr_bitmap)); isr_bitmap[0] = (((uint64_t)1 << 32) - 1); - //set idt and new gdt - asm("lgdt [%0]\n" - "lidt [%1]\n":: "m"(gdtr), "m"(idtr)); + asm("lidt [%0]\n"::"m"(idtr)); //Spurrious Interrupt (permanent, required for APIC) @@ -251,3 +240,6 @@ void init_interrupts() { init_timer(); asm("sti\n"); } + +void smp_init_interrupts() { +} -- cgit v1.2.3