From f67ad595650954195ef064a8b91038dbd0e16842 Mon Sep 17 00:00:00 2001 From: Miguel Date: Tue, 4 Sep 2018 01:39:10 +0200 Subject: ioapic & lapic --- kernel/acpi.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'kernel/acpi.c') diff --git a/kernel/acpi.c b/kernel/acpi.c index 6d1fbc8..084c193 100644 --- a/kernel/acpi.c +++ b/kernel/acpi.c @@ -1,7 +1,7 @@ #include "kernel/kernel.h" // Advanced Configuration and Power Interface // http://wiki.xomb.org/index.php?title=ACPI_Tables - +// https://wiki.osdev.org/MADT#Entry_Type_1_:_I.2FO_APIC #include @@ -58,11 +58,11 @@ typedef struct uint8_t *apci_get_next_entry(uint8_t *addr,smp_processors *procdata) { - klog("Examining MADT Entry at 0x%08X",addr); + //klog("Examining MADT Entry at 0x%08X",addr); if(*addr==0) { - klog("MADT Entry: LocalAPIC"); + klog("MADT Entry: LocalAPIC ()"); // usable if(addr[4]&1) { @@ -78,7 +78,7 @@ uint8_t *apci_get_next_entry(uint8_t *addr,smp_processors *procdata) } else if(*addr==1) { - klog("MADT Entry: IO APIC"); + klog("MADT Entry: IO APIC 0x%08X",addr[4]); } else if(*addr==2)klog("MADT Entry: Interrupt Source Override"); else klog("MADT Entry: type:0x%X",*addr); @@ -91,7 +91,7 @@ void acpi_check_madt(uint32_t *madt,smp_processors *procdata) { acpi_madt *table=(acpi_madt *)*madt; - klog("Looking for MADT Table at %08X.",table); +// klog("Looking for MADT Table at %08X.",table); if(!strcmp_l("APIC",table->sig,4)) { klog("Found MADT Table at 0x%08X",table); @@ -102,6 +102,7 @@ void acpi_check_madt(uint32_t *madt,smp_processors *procdata) entry+=sizeof(acpi_madt); procdata->local_apic_address=table->apic_local; + procdata->flags=table->flags; while(entryprocessors=0; procdata->boot=0; -- cgit v1.2.3