From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36536) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VeONG-0005CM-EW for qemu-devel@nongnu.org; Thu, 07 Nov 2013 07:07:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VeONB-0001O4-Cz for qemu-devel@nongnu.org; Thu, 07 Nov 2013 07:07:46 -0500 Received: from mx1.redhat.com ([209.132.183.28]:46458) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VeONB-0001Nm-4x for qemu-devel@nongnu.org; Thu, 07 Nov 2013 07:07:41 -0500 Date: Thu, 7 Nov 2013 14:10:35 +0200 From: "Michael S. Tsirkin" Message-ID: <20131107121035.GA31746@redhat.com> References: <20131107081329.12674.45503.malonedeb@chaenomeles.canonical.com> <20131107081428.24131.25940.malone@gac.canonical.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20131107081428.24131.25940.malone@gac.canonical.com> Subject: Re: [Qemu-devel] [Bug 1248854] Re: The guest cannot boot up with parameter "-no-acpi" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Bug 1248854 <1248854@bugs.launchpad.net> Cc: qemu-devel@nongnu.org, chao zhou On Thu, Nov 07, 2013 at 08:14:28AM -0000, chao zhou wrote: > the first bad commit is: > commit 72c194f7e75cb64b2558111cb111adb49fbf4097 > Author: Michael S. Tsirkin > 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: > ---------------------- > [root@vt-snb9 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