diff options
| author | Miguel <m.i@gmx.at> | 2018-09-09 03:17:52 +0200 |
|---|---|---|
| committer | Miguel <m.i@gmx.at> | 2018-09-09 03:17:52 +0200 |
| commit | fc1d491479abd74a1e038ad9ff7d4d330d79e4a8 (patch) | |
| tree | 173bc4bca336fbc8a53c9bbd3468946499e161ae /kernel/acpi.c | |
| parent | 9dabe01545644dd78448d8d489616872f14d964b (diff) | |
ioapic works!
Diffstat (limited to 'kernel/acpi.c')
| -rw-r--r-- | kernel/acpi.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/kernel/acpi.c b/kernel/acpi.c index f5c18ca..5192c37 100644 --- a/kernel/acpi.c +++ b/kernel/acpi.c @@ -1,9 +1,4 @@ -#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 "kernel.h" #include <stdint.h> #include <stdbool.h> #include "smp.h" @@ -79,6 +74,7 @@ uint8_t *apci_get_next_entry(uint8_t *addr,smp_processors *procdata) else if(*addr==1) { 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]); } 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])); |
