diff options
Diffstat (limited to 'kernel/acpi.c')
| -rw-r--r-- | kernel/acpi.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/acpi.c b/kernel/acpi.c index da16be8..586336c 100644 --- a/kernel/acpi.c +++ b/kernel/acpi.c @@ -65,8 +65,10 @@ uint8_t *apci_get_next_entry(uint8_t *addr,smp_processors *procdata) // usable if(addr[4]&1) { - if(procdata->processors>=SMP_MAX_PROC) + if(procdata->processors>=SMP_MAX_PROC){ + panic(FOOLOS_MODULE_NAME,"we do not support that many processors. recompile with higher SMP_MAX_PROC."); + } procdata->local_apic_id[procdata->processors]=addr[3]; procdata->processors++; @@ -139,6 +141,8 @@ bool acpi_find(smp_processors *procdata) { log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Looking for RSDP Table"); char *search=0x7ffff; //will be 16 bit aligned; + procdata->processors=0; + procdata->boot=0; while(search<=0xfffff) { |
