qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]