Message ID | 1421659723-2496-4-git-send-email-tiejun.chen@intel.com |
---|---|
State | New |
Headers | show |
On Mo, 2015-01-19 at 17:28 +0800, Tiejun Chen wrote: > +static void xen_igd_passthrough_i440fx_class_init(ObjectClass *klass, > + void *data) > +{ > + DeviceClass *dc = DEVICE_CLASS(klass); > + > + dc->desc = "IGD PT XEN Host bridge"; > +} IMO "xen" naming should go away here too. cheers, Gerd
On 2015/1/19 19:40, Gerd Hoffmann wrote: > On Mo, 2015-01-19 at 17:28 +0800, Tiejun Chen wrote: >> +static void xen_igd_passthrough_i440fx_class_init(ObjectClass *klass, >> + void *data) >> +{ >> + DeviceClass *dc = DEVICE_CLASS(klass); >> + >> + dc->desc = "IGD PT XEN Host bridge"; >> +} > > IMO "xen" naming should go away here too. > Its easy to do but we need to wait KvmGT guys' response, so now it makes sense to leave "xen" as a prefix since this just work in xen side. Thanks Tiejun
On 01/20/2015 10:52 AM, Chen, Tiejun wrote: > On 2015/1/19 19:40, Gerd Hoffmann wrote: >> On Mo, 2015-01-19 at 17:28 +0800, Tiejun Chen wrote: >>> +static void xen_igd_passthrough_i440fx_class_init(ObjectClass *klass, >>> + void *data) >>> +{ >>> + DeviceClass *dc = DEVICE_CLASS(klass); >>> + >>> + dc->desc = "IGD PT XEN Host bridge"; >>> +} >> >> IMO "xen" naming should go away here too. >> I would agree with this. In fact, this piece of code could possibly be used by: a) IGD passthru for Xen and KVM, and/or: b) IGD Mediated passthru for Xen and KVM, i.e. XenGT/KVMGT So it looks better if have "xen" naming purged :) > > Its easy to do but we need to wait KvmGT guys' response, so now it makes > sense to leave "xen" as a prefix since this just work in xen side. > > Thanks > Tiejun > -- Thanks, Jike
On 2015/1/20 12:28, Jike Song wrote: > On 01/20/2015 10:52 AM, Chen, Tiejun wrote: >> On 2015/1/19 19:40, Gerd Hoffmann wrote: >>> On Mo, 2015-01-19 at 17:28 +0800, Tiejun Chen wrote: >>>> +static void xen_igd_passthrough_i440fx_class_init(ObjectClass *klass, >>>> + void *data) >>>> +{ >>>> + DeviceClass *dc = DEVICE_CLASS(klass); >>>> + >>>> + dc->desc = "IGD PT XEN Host bridge"; >>>> +} >>> >>> IMO "xen" naming should go away here too. >>> > > I would agree with this. > > In fact, this piece of code could possibly be used by: > > a) IGD passthru for Xen and KVM, and/or: > b) IGD Mediated passthru for Xen and KVM, i.e. XenGT/KVMGT > > So it looks better if have "xen" naming purged :) Okay, I'll do this in next revision. Thanks Tiejun > >> >> Its easy to do but we need to wait KvmGT guys' response, so now it makes >> sense to leave "xen" as a prefix since this just work in xen side. >> >> Thanks >> Tiejun >> > > -- > Thanks, > Jike > >
diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c index adc5025..1468961 100644 --- a/hw/pci-host/piix.c +++ b/hw/pci-host/piix.c @@ -729,6 +729,21 @@ static const TypeInfo i440fx_info = { .class_init = i440fx_class_init, }; +static void xen_igd_passthrough_i440fx_class_init(ObjectClass *klass, + void *data) +{ + DeviceClass *dc = DEVICE_CLASS(klass); + + dc->desc = "IGD PT XEN Host bridge"; +} + +static const TypeInfo xen_igd_passthrough_i440fx_info = { + .name = TYPE_XEN_IGD_PASSTHROUGH_I440FX_PCI_DEVICE, + .parent = TYPE_I440FX_PCI_DEVICE, + .instance_size = sizeof(PCII440FXState), + .class_init = xen_igd_passthrough_i440fx_class_init, +}; + static const char *i440fx_pcihost_root_bus_path(PCIHostState *host_bridge, PCIBus *rootbus) { @@ -770,6 +785,7 @@ static const TypeInfo i440fx_pcihost_info = { static void i440fx_register_types(void) { type_register_static(&i440fx_info); + type_register_static(&xen_igd_passthrough_i440fx_info); type_register_static(&piix3_info); type_register_static(&piix3_xen_info); type_register_static(&i440fx_pcihost_info); diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 755d6a7..07b3afc 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -247,6 +247,8 @@ typedef struct PCII440FXState PCII440FXState; #define TYPE_I440FX_PCI_HOST_BRIDGE "i440FX-pcihost" #define TYPE_I440FX_PCI_DEVICE "i440FX" +#define TYPE_XEN_IGD_PASSTHROUGH_I440FX_PCI_DEVICE "xen-igd-passthrough-i440FX" + PCIBus *i440fx_init(const char *host_type, const char *pci_type, PCII440FXState **pi440fx_state, int *piix_devfn, ISABus **isa_bus, qemu_irq *pic,
Implement a pci host bridge specific to passthrough. Actually this just inherits the standard one. Signed-off-by: Tiejun Chen <tiejun.chen@intel.com> --- hw/pci-host/piix.c | 16 ++++++++++++++++ include/hw/i386/pc.h | 2 ++ 2 files changed, 18 insertions(+)