-#include "madt_parser.h"
-#include <lunaix/mm/kalloc.h>
+#include "parser.h"
+#include <lunaix/mm/valloc.h>
void
madt_parse(acpi_madt_t* madt, acpi_context* toc)
uintptr_t ics_end = (uintptr_t)madt + madt->header.length;
// Cosidering only one IOAPIC present (max 24 pins)
- // FIXME: use hash table instead
toc->madt.irq_exception =
- (acpi_intso_t*)lxcalloc(24, sizeof(acpi_intso_t*));
+ (acpi_intso_t**)vcalloc(24, sizeof(acpi_intso_t*));
size_t so_idx = 0;
while (ics_start < ics_end) {
case ACPI_MADT_IOAPIC:
toc->madt.ioapic = (acpi_ioapic_t*)entry;
break;
- case ACPI_MADT_INTSO:
- {
+ case ACPI_MADT_INTSO: {
acpi_intso_t* intso_tbl = (acpi_intso_t*)entry;
toc->madt.irq_exception[intso_tbl->source] = intso_tbl;
break;