Add the XEN_IGD_PASSTHROUGH Kconfig option.
Xen build has that option selected by default. Non-Xen builds now
have to select this feature manually.
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
v3: Only default with Xen (Alex Williamson)
I did not used 'depends on XEN' as suggested by Alex but
'default y if XEN', so one can build XEN without this feature
(for example, on other ARCH than X86).
---
hw/pci-host/Kconfig | 5 +++++
hw/pci-host/Makefile.objs | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/hw/pci-host/Kconfig b/hw/pci-host/Kconfig
index b0aa8351c4..24ba8ea046 100644
--- a/hw/pci-host/Kconfig
+++ b/hw/pci-host/Kconfig
@@ -1,6 +1,11 @@
config PAM
bool
+config XEN_IGD_PASSTHROUGH
+ bool
+ default y if XEN
+ select PCI_I440FX
+
config PREP_PCI
bool
select PCI
diff --git a/hw/pci-host/Makefile.objs b/hw/pci-host/Makefile.objs
index fa6d1556c0..9c466fab01 100644
--- a/hw/pci-host/Makefile.objs
+++ b/hw/pci-host/Makefile.objs
@@ -14,7 +14,7 @@ common-obj-$(CONFIG_VERSATILE_PCI) += versatile.o
common-obj-$(CONFIG_PCI_SABRE) += sabre.o
common-obj-$(CONFIG_FULONG) += bonito.o
common-obj-$(CONFIG_PCI_I440FX) += i440fx.o
-common-obj-$(CONFIG_PCI_I440FX) += xen_igd_pt.o
+common-obj-$(CONFIG_XEN_IGD_PASSTHROUGH) += xen_igd_pt.o
common-obj-$(CONFIG_PCI_EXPRESS_Q35) += q35.o
common-obj-$(CONFIG_PCI_EXPRESS_GENERIC_BRIDGE) += gpex.o
common-obj-$(CONFIG_PCI_EXPRESS_XILINX) += xilinx-pcie.o
--
2.21.0
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
> -----Original Message----- > From: Xen-devel <xen-devel-bounces@lists.xenproject.org> On Behalf Of > Philippe Mathieu-Daudé > Sent: 09 December 2019 09:50 > To: qemu-devel@nongnu.org > Cc: Thomas Huth <thuth@redhat.com>; Stefano Stabellini > <sstabellini@kernel.org>; Michael S. Tsirkin <mst@redhat.com>; Paul > Durrant <paul@xen.org>; Markus Armbruster <armbru@redhat.com>; Alex > Williamson <alex.williamson@redhat.com>; Marcel Apfelbaum > <marcel.apfelbaum@gmail.com>; Paolo Bonzini <pbonzini@redhat.com>; Anthony > Perard <anthony.perard@citrix.com>; xen-devel@lists.xenproject.org; > Philippe Mathieu-Daudé <philmd@redhat.com> > Subject: [Xen-devel] [PATCH-for-5.0 v3 6/6] hw/pci-host: Add Kconfig entry > to select the IGD Passthrough Host Bridge > > Add the XEN_IGD_PASSTHROUGH Kconfig option. > > Xen build has that option selected by default. Non-Xen builds now > have to select this feature manually. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > v3: Only default with Xen (Alex Williamson) > > I did not used 'depends on XEN' as suggested by Alex but > 'default y if XEN', so one can build XEN without this feature > (for example, on other ARCH than X86). Allowing it to be compiled out for Xen builds is quite reasonable IMO. I don't believe it is widely used. Acked-by: Paul Durrant <paul@xen.org> > --- > hw/pci-host/Kconfig | 5 +++++ > hw/pci-host/Makefile.objs | 2 +- > 2 files changed, 6 insertions(+), 1 deletion(-) > > diff --git a/hw/pci-host/Kconfig b/hw/pci-host/Kconfig > index b0aa8351c4..24ba8ea046 100644 > --- a/hw/pci-host/Kconfig > +++ b/hw/pci-host/Kconfig > @@ -1,6 +1,11 @@ > config PAM > bool > > +config XEN_IGD_PASSTHROUGH > + bool > + default y if XEN > + select PCI_I440FX > + > config PREP_PCI > bool > select PCI > diff --git a/hw/pci-host/Makefile.objs b/hw/pci-host/Makefile.objs > index fa6d1556c0..9c466fab01 100644 > --- a/hw/pci-host/Makefile.objs > +++ b/hw/pci-host/Makefile.objs > @@ -14,7 +14,7 @@ common-obj-$(CONFIG_VERSATILE_PCI) += versatile.o > common-obj-$(CONFIG_PCI_SABRE) += sabre.o > common-obj-$(CONFIG_FULONG) += bonito.o > common-obj-$(CONFIG_PCI_I440FX) += i440fx.o > -common-obj-$(CONFIG_PCI_I440FX) += xen_igd_pt.o > +common-obj-$(CONFIG_XEN_IGD_PASSTHROUGH) += xen_igd_pt.o > common-obj-$(CONFIG_PCI_EXPRESS_Q35) += q35.o > common-obj-$(CONFIG_PCI_EXPRESS_GENERIC_BRIDGE) += gpex.o > common-obj-$(CONFIG_PCI_EXPRESS_XILINX) += xilinx-pcie.o > -- > 2.21.0 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xenproject.org > https://lists.xenproject.org/mailman/listinfo/xen-devel
On 09/12/19 11:10, Durrant, Paul wrote: >> >> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> >> --- >> v3: Only default with Xen (Alex Williamson) >> >> I did not used 'depends on XEN' as suggested by Alex but >> 'default y if XEN', so one can build XEN without this feature >> (for example, on other ARCH than X86). I think what you want is achieved by default y depends on XEN && PC_I440FX ?
On 12/9/19 11:42 AM, Paolo Bonzini wrote: > On 09/12/19 11:10, Durrant, Paul wrote: >>> >>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> >>> --- >>> v3: Only default with Xen (Alex Williamson) >>> >>> I did not used 'depends on XEN' as suggested by Alex but >>> 'default y if XEN', so one can build XEN without this feature >>> (for example, on other ARCH than X86). > > I think what you want is achieved by > > default y > depends on XEN && PC_I440FX I think so, but with PC_I440FX -> PCI_I440FX ;) It would be cleaner to pass the CONFIG_XEN_PCI_PASSTHROUGH variable to Kconfig and use it (use 'depends on XEN_PCI_PASSTHROUGH'). This can be another step, so if this series looks OK to you so far, do you mind fixing this and the comment in the previous patch noticed by Thomas: - Extract it into a new file, 'hw/pci-host/igd_pt.c'. + Extract it into a new file, 'hw/pci-host/xen_igd_pt.c'. Thanks! Phil.
On 09/12/19 11:56, Philippe Mathieu-Daudé wrote: > > I think so, but with PC_I440FX -> PCI_I440FX ;) > > It would be cleaner to pass the CONFIG_XEN_PCI_PASSTHROUGH variable to > Kconfig and use it (use 'depends on XEN_PCI_PASSTHROUGH'). > > This can be another step, so if this series looks OK to you so far, do > you mind fixing this and the comment in the previous patch noticed by > Thomas: > > - Extract it into a new file, 'hw/pci-host/igd_pt.c'. > + Extract it into a new file, 'hw/pci-host/xen_igd_pt.c'. Sure. Paolo _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
On 09/12/19 10:50, Philippe Mathieu-Daudé wrote: > Add the XEN_IGD_PASSTHROUGH Kconfig option. > > Xen build has that option selected by default. Non-Xen builds now > have to select this feature manually. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > v3: Only default with Xen (Alex Williamson) > > I did not used 'depends on XEN' as suggested by Alex but > 'default y if XEN', so one can build XEN without this feature > (for example, on other ARCH than X86). > --- > hw/pci-host/Kconfig | 5 +++++ > hw/pci-host/Makefile.objs | 2 +- > 2 files changed, 6 insertions(+), 1 deletion(-) > > diff --git a/hw/pci-host/Kconfig b/hw/pci-host/Kconfig > index b0aa8351c4..24ba8ea046 100644 > --- a/hw/pci-host/Kconfig > +++ b/hw/pci-host/Kconfig > @@ -1,6 +1,11 @@ > config PAM > bool > > +config XEN_IGD_PASSTHROUGH > + bool > + default y if XEN > + select PCI_I440FX Maybe "depends on PCI_I440FX" (so if somebody builds a Xen+KVM, q35-only machine they don't get IGD passthrough). I can do this when applying. Paolo > + > config PREP_PCI > bool > select PCI > diff --git a/hw/pci-host/Makefile.objs b/hw/pci-host/Makefile.objs > index fa6d1556c0..9c466fab01 100644 > --- a/hw/pci-host/Makefile.objs > +++ b/hw/pci-host/Makefile.objs > @@ -14,7 +14,7 @@ common-obj-$(CONFIG_VERSATILE_PCI) += versatile.o > common-obj-$(CONFIG_PCI_SABRE) += sabre.o > common-obj-$(CONFIG_FULONG) += bonito.o > common-obj-$(CONFIG_PCI_I440FX) += i440fx.o > -common-obj-$(CONFIG_PCI_I440FX) += xen_igd_pt.o > +common-obj-$(CONFIG_XEN_IGD_PASSTHROUGH) += xen_igd_pt.o > common-obj-$(CONFIG_PCI_EXPRESS_Q35) += q35.o > common-obj-$(CONFIG_PCI_EXPRESS_GENERIC_BRIDGE) += gpex.o > common-obj-$(CONFIG_PCI_EXPRESS_XILINX) += xilinx-pcie.o >
© 2016 - 2026 Red Hat, Inc.