Opened 13 years ago
Closed 13 years ago
#8102 closed bug (fixed)
"disable local apic" option needed to boot
Reported by: | pulkomandy | Owned by: | mmlr |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | System/Kernel | Version: | R1/Development |
Keywords: | MPS | Cc: | |
Blocked By: | Blocking: | ||
Platform: | All |
Description
I tried installing Haiku on an older computer. I found out that I have to go in the debug options and check "disable local apic", else I get a kernel panic trying to use the local apic. IS there a way to detect the problem at runtime and disable the option then ?
Attachments (1)
Change History (6)
comment:1 by , 13 years ago
comment:2 by , 13 years ago
Will look at it closer, but it is likely a duplicate of #7628 (same CPU and simialr chipset). Well, plugging in serial debug as vesa doesn't seem to work either ... :)
comment:3 by , 13 years ago
Keywords: | MPS added |
---|---|
Owner: | changed from | to
Status: | new → in-progress |
Looks broken indeed. There seems to be a floating structure for MP config, but the content looks like garbage. Finding zero CPUs in it should be a pretty good hint for it not being valid, but some other sanity checks should probably be added as well. I'll look into it as I probably was the last last one to touch it anyway.
comment:4 by , 13 years ago
Should be fixed in hrev43217. I couldn't test it though. Mainly the code already returned an error for your case, but the fields set so far weren't reset, so later code would still use the broken local APIC physical address. Please confirm/close.
comment:5 by , 13 years ago
Resolution: | → fixed |
---|---|
Status: | in-progress → closed |
Confirmed working. Thanks!
Replying to pulkomandy:
There are two ways to detect this, one being the local APIC address not being set at all, and the other being the APIC flag in the CPUID being disabled. We didn't do the second one initially, but we do respect it since quite a while now due to QEMU using it to signal APIC support. Can you provide the initial debug output up to and including the panic? That might give a clue as to what combination of things triggers this.