Opened 8 years ago

Closed 8 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:
Has a Patch: no 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)

session.log (9.4 KB ) - added by pulkomandy 8 years ago.
KDL serial log

Download all attachments as: .zip

Change History (6)

in reply to:  description comment:1 by mmlr, 8 years ago

Replying to pulkomandy:

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 ?

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.

comment:2 by pulkomandy, 8 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 ... :)

by pulkomandy, 8 years ago

Attachment: session.log added

KDL serial log

comment:3 by mmlr, 8 years ago

Keywords: MPS added
Owner: changed from axeld to mmlr
Status: newin-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 mmlr, 8 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 pulkomandy, 8 years ago

Resolution: fixed
Status: in-progressclosed

Confirmed working. Thanks!

Note: See TracTickets for help on using tickets.