qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [v5][PATCH 4/4] xen:hw:i386:pc_piix: introduce new mach


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [v5][PATCH 4/4] xen:hw:i386:pc_piix: introduce new machine for IGD passthrough
Date: Thu, 14 Aug 2014 18:03:38 +0200

On Tue, Aug 12, 2014 at 05:49:17PM +0800, Tiejun Chen wrote:
> Now we can introduce a new machine, xenigd, specific to IGD
> passthrough. This can avoid involving other common codes.
> 
> Signed-off-by: Tiejun Chen <address@hidden>

This broke make check since the new machine was not
blacklisted.
I sent a patch to fix this,
pls make sure make check passes when posting patches.


> ---
>  hw/i386/pc_piix.c | 43 +++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 43 insertions(+)
> 
> v5:
> 
> * Nothing is changed.
> 
> v4:
> 
> * Rebase
> 
> v3:
> 
> * Rebase
> 
> v2:
> 
> * Unify prefix with XEN_IGD_PASSTHROUGH/xen_igd_passthrough like patch #3
> 
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index 2bf8046..9d37f18 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -309,6 +309,15 @@ static void pc_init_pci(MachineState *machine)
>               TYPE_I440FX_PCI_DEVICE);
>  }
>  
> +
> +#ifdef CONFIG_XEN
> +static void xen_igd_passthrough_pc_init_pci(MachineState *machine)
> +{
> +    pc_init1(machine, 1, 1, TYPE_I440FX_PCI_HOST_BRIDGE,
> +             TYPE_XEN_IGD_PASSTHROUGH_I440FX_PCI_DEVICE);
> +}
> +#endif
> +
>  static void pc_compat_2_0(MachineState *machine)
>  {
>      /* This value depends on the actual DSDT and SSDT compiled into
> @@ -457,6 +466,18 @@ static void pc_xen_hvm_init(MachineState *machine)
>          pci_create_simple(bus, -1, "xen-platform");
>      }
>  }
> +
> +static void xen_igd_passthrough_pc_hvm_init(MachineState *machine)
> +{
> +    PCIBus *bus;
> +
> +    xen_igd_passthrough_pc_init_pci(machine);
> +
> +    bus = pci_find_primary_bus();
> +    if (bus != NULL) {
> +        pci_create_simple(bus, -1, "xen-platform");
> +    }
> +}
>  #endif
>  
>  #define PC_I440FX_MACHINE_OPTIONS \
> @@ -906,6 +927,27 @@ static QEMUMachine xenfv_machine = {
>          { /* end of list */ }
>      },
>  };
> +
> +static QEMUMachine xenigd_machine = {
> +    PC_COMMON_MACHINE_OPTIONS,
> +    .name = "xenigd",
> +    .desc = "Xen Fully-virtualized PC specific to IGD",
> +    .init = xen_igd_passthrough_pc_hvm_init,
> +    .max_cpus = HVM_MAX_VCPUS,
> +    .default_machine_opts = "accel=xen",
> +    .hot_add_cpu = pc_hot_add_cpu,
> +    .compat_props = (GlobalProperty[]) {
> +        /* xenfv has no fwcfg and so does not load acpi from QEMU.
> +         * as such new acpi features don't work.
> +         */
> +        {
> +            .driver   = "PIIX4_PM",
> +            .property = "acpi-pci-hotplug-with-bridge-support",
> +            .value    = "off",
> +        },
> +        { /* end of list */ }
> +    },
> +};
>  #endif
>  
>  static void pc_machine_init(void)
> @@ -929,6 +971,7 @@ static void pc_machine_init(void)
>      qemu_register_pc_machine(&isapc_machine);
>  #ifdef CONFIG_XEN
>      qemu_register_pc_machine(&xenfv_machine);
> +    qemu_register_pc_machine(&xenigd_machine);
>  #endif
>  }
>  
> -- 
> 1.9.1



reply via email to

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