[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Bug 1248854] Re: The guest cannot boot up with paramet
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [Bug 1248854] Re: The guest cannot boot up with parameter "-no-acpi" |
Date: |
Thu, 7 Nov 2013 14:10:35 +0200 |
On Thu, Nov 07, 2013 at 08:14:28AM -0000, chao zhou wrote:
> the first bad commit is:
> commit 72c194f7e75cb64b2558111cb111adb49fbf4097
> Author: Michael S. Tsirkin <address@hidden>
> Date: Wed Jul 24 18:56:14 2013 +0300
>
> i386: ACPI table generation code from seabios
>
> This adds C code for generating ACPI tables at runtime,
> imported from seabios git tree
> commit 51684b7ced75fb76776e8ee84833fcfb6ecf12dd
>
> Although ACPI tables come from a system BIOS on real hw,
> it makes sense that the ACPI tables are coupled with the
> virtual machine, since they have to abstract the x86 machine to
> the OS's.
>
> This is widely desired as a way to avoid the churn
> and proliferation of QEMU-specific interfaces
> associated with ACPI tables in bios code.
>
> Notes:
> As BIOS can reprogram devices prior to loading
> ACPI tables, we pre-format ACPI tables but defer loading
> hardware configuration there until tables are loaded.
>
> The code structure was intentionally kept as close
> to the seabios original as possible, to simplify
> comparison and making sure we didn't lose anything
> in translation.
>
> Minor code duplication results, to help ensure there are no functional
> regressions, I think it's better to merge it like this and do more code
> changes in follow-up patches.
>
>
> Cross-version compatibility concerns have been addressed:
> ACPI tables are exposed to guest as FW_CFG entries.
> When running with -M 1.5 and older, this patch disables ACPI
> table generation, and doesn't expose ACPI
> tables to guest.
>
> As table content is likely to change over time,
> the following measures are taken to simplify
> cross-version migration:
> - All tables besides the RSDP are packed in a single FW CFG entry.
> This entry size is currently 23K. We round it up to 64K
> to avoid too much churn there.
> - Tables are placed in special ROM blob (not mapped into guest memory)
> which is automatically migrated together with the guest, same
> as BIOS code.
> - Offsets where hardware configuration is loaded in ACPI tables
> are also migrated, this is in case future ACPI changes make us
> rearrange the tables in memory.
>
> This patch reuses some code from SeaBIOS, which was originally under
> LGPLv2 and then relicensed to GPLv3 or LGPLv3, in QEMU under GPLv2+. This
> relicensing has been acked by all contributors that had contributed to the
> code since the v2->v3 relicense. ACKs approving the v2+ relicensing are
> listed below. The list might include ACKs from people not holding
> copyright on any parts of the reused code, but it's better to err on the
> side of caution and include them.
Thanks a lot for the report and the bisect!
I'll send a patch fixing this shortly.
> --
> You received this bug notification because you are a member of qemu-
> devel-ml, which is subscribed to QEMU.
> https://bugs.launchpad.net/bugs/1248854
>
> Title:
> The guest cannot boot up with parameter "-no-acpi"
>
> Status in QEMU:
> New
>
> Bug description:
> Environment:
> ------------
> Host OS (ia32/ia32e/IA64):ia32e
> Guest OS (ia32/ia32e/IA64):ia32e
> Guest OS Type (Linux/Windows):Linux
> kvm.git Commit:81e87e26796782e014fd1f2bb9cd8fb6ce4021a8
> qemu.git Commit:a126050a103c924b03388a9a64ce9af8c96b0969
> Host Kernel Version:3.12.0-rc5
> Hardware:Romley_EP ,Ivytowm_EP
>
>
> Bug detailed description:
> --------------------------
> when create guest with parameter "-no-acpi", the guest cannot boot up.
>
> note: this should be a qemu bug
> kvm + qemu = result
> 81e87e26 + a126050a = bad
> 81e87e26 + b8616055 = good
>
> Reproduce steps:
> ----------------
> 1. create guest
> qemu-system-x86_64 -enable-kvm -m 1024 -smp 2 -net none -no-acpi
> rhel6u4.qcow
>
> Current result:
> ----------------
> guest cannot boot up
>
> Expected result:
> ----------------
> guest boot up fine.
>
> Basic root-causing log:
> ----------------------
> address@hidden qemu]#qemu-system-x86_64 -enable-kvm -m 1024 -smp 2 -net
> none /root/rhel6u4.qcow -no-acpi
> VNC server running on `::1:5900'
> qemu-system-x86_64: /root/qemu/hw/i386/acpi-build.c:135: acpi_get_pm_info:
> Assertion `obj' failed.
> Aborted (core dumped)
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/qemu/+bug/1248854/+subscriptions