From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36067) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VCBW3-0000kx-G4 for qemu-devel@nongnu.org; Wed, 21 Aug 2013 12:44:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VCBVu-0003lO-VL for qemu-devel@nongnu.org; Wed, 21 Aug 2013 12:44:15 -0400 Received: from mail-qa0-x236.google.com ([2607:f8b0:400d:c00::236]:38650) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VCBVu-0003ky-SB for qemu-devel@nongnu.org; Wed, 21 Aug 2013 12:44:06 -0400 Received: by mail-qa0-f54.google.com with SMTP id bv4so553737qab.20 for ; Wed, 21 Aug 2013 09:44:06 -0700 (PDT) Sender: Paolo Bonzini From: Paolo Bonzini Date: Wed, 21 Aug 2013 18:43:13 +0200 Message-Id: <1377103396-24307-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [RFC PATCH v2 0/3] Start fixing the pvpanic mess List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: pkrempa@redhat.com, marcel.a@redhat.com, libvir-list@redhat.com, lersek@redhat.com, mst@redhat.com, armbru@redhat.com, lcapitulino@redhat.com, rhod@redhat.com, kraxel@redhat.com, anthony@codemonkey.ws, hutao@cn.fujitsu.com, afaerber@suse.de The pvpanic mess is even bigger than anticipated. Let's fix the monitor's behavior (patch 1), get rid of all traces that the broken pvpanic existed (patch 2), and give it a new name so that libvirt can detect a design that works (patch 3). All downstreams are urged to apply patches 1+2 as soon as they are merged in QEMU. Still, there are still other problems to solve. In QEMU, exposing "-device isa-pvpanic" in the ACPI tables. Quite frankly I don't have the time to fix this. We have ~3 months though. Patch 3 should not be applied until it is fixed. Also, libvirt needs to know under which circumstances to add "-device isa-pvpanic", besides obviously the availability of the device. IMHO it is just too complicated to retrofit all complications in . In fact, I suspect would match more closely QEMU's "internal error" state, and it would be quite useful to add that to the QEMU driver. Thus, libvirt could add support for an element with the following values: - default, which depends on the hypervisor and is "crash" for Xen, "ignore" for everything else - "crash", which is the only supported value on Xen and means "use the value of " - ignore, which is the behavior of old libvirt that don't know pvpanic - restart, destroy, preserve, rename-restart as for . In particular, preserve can still use the crashed_guest_panicked status, thus keeping the API compatible. - pause, to pause the VM (with a new substatus) would also have a coredump='yes/no' attribute, where yes is only valid if the element is *not* one of default/crash/ignore. Only "default" and "ignore" would be accepted for QEMU that does not support the isa-pvpanic device. Ideally, the coredump attribute would be added to too for simplicity (Xen would refuse coredump + rename-restart and coredump + preserve). Paolo Paolo Bonzini (3): vl: allow "cont" from panicked state pc: get rid of builtin pvpanic pvpanic: rename to isa-pvpanic gdbstub.c | 3 --- hw/i386/pc_piix.c | 8 -------- hw/i386/pc_q35.c | 6 ------ hw/misc/pvpanic.c | 16 +++------------- include/hw/i386/pc.h | 3 --- vl.c | 6 ++---- 6 files changed, 5 insertions(+), 37 deletions(-) -- 1.8.3.1