From ee2ec6abbcfb6de48a8f5594e05ba0a837216fa8 Mon Sep 17 00:00:00 2001 From: Miguel Date: Mon, 10 Sep 2018 19:08:04 +0200 Subject: apic et al. --- kernel/acpi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'kernel/acpi.c') diff --git a/kernel/acpi.c b/kernel/acpi.c index f424312..67f31fb 100644 --- a/kernel/acpi.c +++ b/kernel/acpi.c @@ -57,6 +57,7 @@ static uint8_t *apci_get_next_entry(uint8_t *addr,acpi_information *procdata) if(*addr==0) { klog("Type 0: LocalAPIC (enabled=%d) (id=0x%08X)",addr[4]&1,addr[3]); + // usable if(addr[4]&1) { @@ -74,10 +75,10 @@ static uint8_t *apci_get_next_entry(uint8_t *addr,acpi_information *procdata) { klog("Type 1: IO APIC (id=%d) (addr=0x%08X) (base=%d)",addr[2], *((uint32_t*)&addr[4]),*((uint32_t*)&addr[8])); procdata->io_apic_address=*((uint32_t*)&addr[4]); + fixme("support multiple IO Apics and consider interrupt source overrides during irq config!"); } else if(*addr==2){ klog("Type 2: Interrupt Source Override (bus src=%d) (irq src=%d) (global=%d) (flags=%d)",addr[2],addr[3],*((uint32_t*)&addr[4]),*((uint16_t*)&addr[8])); - } else if(*addr==4){ klog("Type 4: Non-maskable interrupts (proc id=%d) (flags=%d) (LINT#=%d)",addr[2],*((uint16_t*)&addr[3]),addr[5]); -- cgit v1.2.3