On Wed, 20 Aug 2014 23:00:57 +0200 "Michael S. Tsirkin" <m...@redhat.com> wrote:
> On Wed, Aug 20, 2014 at 04:41:25PM -0400, Luiz Capitulino wrote: > > > > Starting a QEMU instance manually configured to boot a Fedora installation > > kernel with the -kernel/-initrd command-line options cause ACPI to brake > > in the guest with the following messages: > > Thanks. > Please try > [PATCH] pc: reserve more memory for ACPI for new machine types > that I just sent. It fixes the issue for me, thanks! > > > > [ 0.000000] ACPI: uC\xffffffcdT 000000003ffe1854 2009587B (v49 > > \xffffffb2?a\xffffffdf?? \xffffffca\xffffffe2???\xffffffa6K\xfffffffc > > 4CFA21C8 \xffffffa1\xfffffff5\xffffffa5[ 2AA2CAF0) > > [ 0.000000] ------------[ cut here ]------------ > > [ 0.000000] WARNING: CPU: 0 PID: 0 at arch/x86/mm/ioremap.c:536 > > __early_ioremap+0x12b/0x1ce() > > [ 0.000000] Modules linked in: > > [ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted > > 3.11.10-301.fc20.x86_64 #1 > > [ 0.000000] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS > > rel-1.7.5-0-ge51488c-20140602_164612-nilsson.home.kraxel.org 04/01/2014 > > [ 0.000000] 0000000000000009 ffffffff81c01d58 ffffffff816441db > > 0000000000000000 > > [ 0.000000] ffffffff81c01d90 ffffffff8106715d 0000000000000000 > > 000000003ffe1000 > > [ 0.000000] 0000000000000000 0000000000000854 0000000000000000 > > ffffffff81c01da0 > > [ 0.000000] Call Trace: > > [ 0.000000] [<ffffffff816441db>] dump_stack+0x45/0x56 > > [ 0.000000] [<ffffffff8106715d>] warn_slowpath_common+0x7d/0xa0 > > [ 0.000000] [<ffffffff8106723a>] warn_slowpath_null+0x1a/0x20 > > [ 0.000000] [<ffffffff81d264a1>] __early_ioremap+0x12b/0x1ce > > [ 0.000000] [<ffffffff81d26371>] ? __early_set_fixmap+0x97/0x9c > > [ 0.000000] [<ffffffff81d2672a>] early_ioremap+0x13/0x15 > > [ 0.000000] [<ffffffff81d1e173>] __acpi_map_table+0x13/0x18 > > [ 0.000000] [<ffffffff8163dbaa>] acpi_os_map_memory+0x26/0x14e > > [ 0.000000] [<ffffffff81d51037>] acpi_tb_parse_root_table+0x187/0x2c3 > > [ 0.000000] [<ffffffff813863c9>] ? acpi_find_root_pointer+0x11b/0x15e > > [ 0.000000] [<ffffffff81d511ca>] acpi_initialize_tables+0x57/0x59 > > [ 0.000000] [<ffffffff81d4ef97>] acpi_table_init+0x1b/0x99 > > [ 0.000000] [<ffffffff81d1e523>] acpi_boot_table_init+0x1e/0x85 > > [ 0.000000] [<ffffffff81d1609f>] setup_arch+0xbc3/0xcec > > [ 0.000000] [<ffffffff81d0ebbc>] start_kernel+0xcf/0x416 > > [ 0.000000] [<ffffffff81d0e120>] ? early_idt_handlers+0x120/0x120 > > [ 0.000000] [<ffffffff81d0e5de>] x86_64_start_reservations+0x2a/0x2c > > [ 0.000000] [<ffffffff81d0e6e8>] x86_64_start_kernel+0x108/0x117 > > [ 0.000000] ---[ end trace 0d4a133504d48174 ]--- > > > > ... > > > > [ 0.148843] ACPI: Interpreter disabled > > > > As the ACPI support in the guest kernel is not functional, QEMU won't be > > notified when the guest is powered off by the user which in turn won't > > cause QEMU to emit QMP events and change the RunState from "running" to > > "paused". This in turn cause problems to libvirt too. > > > > I bisected this and the culprit is: > > > > commit 868270f23d8db2cce83e4f082fe75e8625a5fbf9 > > Author: Michael S. Tsirkin <m...@redhat.com> > > Date: Mon Jul 28 23:07:11 2014 +0200 > > > > acpi-build: tweak acpi migration limits > > > > Indeed, if I revert that commit everything works as expected. > > > > Here is my full reproducer. Please, note that I didn't cook that reproducer > > myself. This problem was originally reported as a libvirt/QMP problem. > > > > 1. Download initrd.img and vmlinuz from a fedora mirror (eg. > > http://fedora.mirror.lstn.net/releases/20/Fedora/x86_64/os/images/pxeboot/) > > > > 2. Run QEMU with: > > > > # qemu -enable-kvm -m 1024 -no-shutdown \ > > -boot strict=on -kernel /home/lcapitulino/files/vmlinuz \ > > -initrd /home/lcapitulino/files/initrd.img \ > > -append > > method=http://fedora.mirror.lstn.net/releases/20/Fedora/x86_64/os/ \ > > -drive file=/var/lib/libvirt/images/rhel7.img,if=virtio \ > > -monitor stdio -vnc :0 -qmp tcp:0:4444,nowait,server > > > > 3. After the kernel boots, switch to to the installer shell: > > > > (qemu) sendkey ctrl-alt-f2 > > > > 4. Check if the kernel's ACPI interpreter has been enabled > > > > # dmesg | grep -i interpreter > > [ 0.148843] ACPI: Interpreter disabled >