#7692 closed bug (fixed)
Haiku Crashes in Qemu with Pentium 1, 2 or 3 CPU models
Reported by: | tonestone57 | Owned by: | mmlr |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | System/Kernel | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | x86 |
Description
A3 RC 42159
Haiku goes to KDL when trying to boot anyboot image with cdrom option (as LiveCD) in Qemu. Happens if CPU type is set to Pentium, Pentium 2 or Pentium 3.
Command used: qemu -cpu pentium2 -m 256 -cdrom haiku-alpha-anyboot.image
Tested with Qemu 0.9.1 on Linux and Qemu 0.11.1 on Windows. I do not believe this affects Atom, Athlon or newer CPU types in Qemu. Alpha2 ISO works without crashing.
Anyboot LiveCD is not likely to work on Pentium 1-3 until this ticket gets fixed. I dl images so cannot test changes to trunk until nightly is back up. Please close ticket when you fix and test it yourself.
Attachments (2)
Change History (8)
by , 13 years ago
Attachment: | Screenshot1.png added |
---|
comment:1 by , 13 years ago
Summary: | Haiku Crashes in Qemu when using Pentium 1-3, CPU types → Haiku Crashes in Qemu with Pentium 1, 2 or 3 CPU models |
---|
Some further testing with Qemu 0.11.1 (Windows) showed that Haiku freezes after 3rd boot image is lit up. On 0.9.1 it crashes to KDL but I believe the same Haiku bug is happening on both versions of Qemu.
It only happens when using Pentium 1, 2 or 3 CPU models. Works with Athlon, N270 & Core Duo models.
I disabled IO-APIC & local APIC in safe-mode and Pentium 2 Qemu booted. Issue on 0.11.1 seems to relate to APIC. I believe this could be true for 0.9.1 but have to confirm because not sure yet if dealing with 1 bug or 2 bugs here.
Going to upload serial-out for 0.11.1
comment:2 by , 13 years ago
Blocking: | 7665 added |
---|
comment:3 by , 13 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
The reason is rather simple: QEMU just unsets the APIC support bit in the CPU ID features but still emulates the actual APIC and IO-APIC hardware. Also the ACPI tables still include the full APIC info, which I'd classify as a QEMU bug (since it describes local APICs that wouldn't actually be present on the CPU if it didn't support local APICs). In any case, the local APIC init (or enumeration) should check the CPU features for the APIC feature before moving on. I'll look into that.
comment:4 by , 13 years ago
Ok, thanks Michael. If only a Qemu bug then no rush to fix it. I was worried that same thing may happen to real Pentium 2 or 3 hardware.
Confirmed that disabling APIC on Qemu 0.9.1 (Linux) allows A3 RC to boot. No worries. I can disable APIC for now when booting Haiku in Qemu and wait to see if you can fix the issue. I mostly use VirtualBox anyways. Qemu is only for testing out different CPU models to see if they still work in Haiku.
comment:5 by , 13 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
At least the APIC part is fixed in hrev42215. Note that this will also disable SMP support for such emulated hardware. QEMU is just inconsistent there, it actually enables the APIC emulation when you tell it to emulate an SMP system, but doesn't switch the APIC support bit back on. In any case this should fix the boot issue.
comment:6 by , 6 years ago
Blocking: | 7665 removed |
---|
Haiku Crash in Qemu