[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1.7] pc: get rid of builtin pvpanic for "-M pc-1
From: |
Anthony Liguori |
Subject: |
Re: [Qemu-devel] [PATCH 1.7] pc: get rid of builtin pvpanic for "-M pc-1.5" |
Date: |
Tue, 05 Nov 2013 20:03:43 -0800 |
User-agent: |
Notmuch/0.15.2+202~g0c4b8aa (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu) |
Paolo Bonzini <address@hidden> writes:
> This causes two slight backwards-incompatibilities between "-M pc-1.5"
> and 1.5's "-M pc":
Can you rebase this? It no longer applies because of the acpi building
changes.
Regards,
Anthony Liguori
>
> (1) a fw_cfg file is removed with this patch. This is only a problem
> if migration stops the virtual machine exactly during fw_cfg enumeration.
>
> (2) after migration, a VM created without an explicit "-device pvpanic"
> will stop reporting panics to management.
>
> The first problem only occurs if migration is done at a very, very
> early point (and I'm not sure it can happen in practice for reasonable-size
> VMs, since it will likely take more time to send the RAM to destination,
> than it will take for BIOS to scan fw_cfg).
>
> The second problem only occurs if the guest panics _and_ has a guest
> driver _and_ management knows to look at the crash event, so it is
> mostly theoretical at this point in time.
>
> Thus keep the code simple, and pretend it was never broken.
>
> Signed-off-by: Paolo Bonzini <address@hidden>
> ---
> hw/i386/pc_piix.c | 7 -------
> hw/i386/pc_q35.c | 7 -------
> hw/misc/pvpanic.c | 5 -----
> include/hw/i386/pc.h | 3 ---
> 4 files changed, 22 deletions(-)
>
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index c6042c7..a041e53 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -57,7 +57,6 @@ static const int ide_iobase[MAX_IDE_BUS] = { 0x1f0, 0x170 };
> static const int ide_iobase2[MAX_IDE_BUS] = { 0x3f6, 0x376 };
> static const int ide_irq[MAX_IDE_BUS] = { 14, 15 };
>
> -static bool has_pvpanic;
> static bool has_pci_info = true;
>
> /* PC hardware initialisation */
> @@ -225,10 +224,6 @@ static void pc_init1(QEMUMachineInitArgs *args,
> if (pci_enabled) {
> pc_pci_device_init(pci_bus);
> }
> -
> - if (has_pvpanic) {
> - pvpanic_init(isa_bus);
> - }
> }
>
> static void pc_init_pci(QEMUMachineInitArgs *args)
> @@ -245,13 +240,11 @@ static void pc_compat_1_6(QEMUMachineInitArgs *args)
> static void pc_compat_1_5(QEMUMachineInitArgs *args)
> {
> pc_compat_1_6(args);
> - has_pvpanic = true;
> }
>
> static void pc_compat_1_4(QEMUMachineInitArgs *args)
> {
> pc_compat_1_5(args);
> - has_pvpanic = false;
> x86_cpu_compat_set_features("n270", FEAT_1_ECX, 0, CPUID_EXT_MOVBE);
> x86_cpu_compat_set_features("Westmere", FEAT_1_ECX, 0,
> CPUID_EXT_PCLMULQDQ);
> }
> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> index ca84e1c..593ed2a 100644
> --- a/hw/i386/pc_q35.c
> +++ b/hw/i386/pc_q35.c
> @@ -47,7 +47,6 @@
> /* ICH9 AHCI has 6 ports */
> #define MAX_SATA_PORTS 6
>
> -static bool has_pvpanic;
> static bool has_pci_info = true;
>
> /* PC hardware initialisation */
> @@ -214,10 +213,6 @@ static void pc_q35_init(QEMUMachineInitArgs *args)
> if (pci_enabled) {
> pc_pci_device_init(host_bus);
> }
> -
> - if (has_pvpanic) {
> - pvpanic_init(isa_bus);
> - }
> }
>
> static void pc_compat_1_6(QEMUMachineInitArgs *args)
> @@ -229,13 +224,11 @@ static void pc_compat_1_6(QEMUMachineInitArgs *args)
> static void pc_compat_1_5(QEMUMachineInitArgs *args)
> {
> pc_compat_1_6(args);
> - has_pvpanic = true;
> }
>
> static void pc_compat_1_4(QEMUMachineInitArgs *args)
> {
> pc_compat_1_5(args);
> - has_pvpanic = false;
> x86_cpu_compat_set_features("n270", FEAT_1_ECX, 0, CPUID_EXT_MOVBE);
> x86_cpu_compat_set_features("Westmere", FEAT_1_ECX, 0,
> CPUID_EXT_PCLMULQDQ);
> }
> diff --git a/hw/misc/pvpanic.c b/hw/misc/pvpanic.c
> index b64e3bb..4c85906 100644
> --- a/hw/misc/pvpanic.c
> +++ b/hw/misc/pvpanic.c
> @@ -112,11 +112,6 @@ static void pvpanic_isa_realizefn(DeviceState *dev,
> Error **errp)
> isa_register_ioport(d, &s->io, s->ioport);
> }
>
> -void pvpanic_init(ISABus *bus)
> -{
> - isa_create_simple(bus, TYPE_ISA_PVPANIC_DEVICE);
> -}
> -
> static Property pvpanic_isa_properties[] = {
> DEFINE_PROP_UINT16("ioport", PVPanicState, ioport, 0x505),
> DEFINE_PROP_END_OF_LIST(),
> diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
> index 6083839..f6313b2 100644
> --- a/include/hw/i386/pc.h
> +++ b/include/hw/i386/pc.h
> @@ -213,9 +213,6 @@ static inline bool isa_ne2000_init(ISABus *bus, int base,
> int irq, NICInfo *nd)
> void pc_system_firmware_init(MemoryRegion *rom_memory,
> bool isapc_ram_fw);
>
> -/* pvpanic.c */
> -void pvpanic_init(ISABus *bus);
> -
> /* e820 types */
> #define E820_RAM 1
> #define E820_RESERVED 2
> --
> 1.8.3.1