diff mbox series

[RFC,v4,29/44] hw/pci/Makefile.objs: make pcie configurable

Message ID 20190123065618.3520-30-yang.zhong@intel.com
State New
Headers show
Series Support Kconfig in QEMU | expand

Commit Message

Yang Zhong Jan. 23, 2019, 6:56 a.m. UTC
Make pcie splited from pci and make it configurable.

Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
---
 default-configs/pci.mak | 1 +
 hw/pci/Kconfig          | 3 +++
 hw/pci/Makefile.objs    | 5 +++--
 3 files changed, 7 insertions(+), 2 deletions(-)

Comments

Michael S. Tsirkin Jan. 23, 2019, 2:23 p.m. UTC | #1
On Wed, Jan 23, 2019 at 02:56:03PM +0800, Yang Zhong wrote:
> Make pcie splited from pci and make it configurable.
> 
> Signed-off-by: Yang Zhong <yang.zhong@intel.com>
> Cc: Michael S. Tsirkin <mst@redhat.com>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> ---
>  default-configs/pci.mak | 1 +
>  hw/pci/Kconfig          | 3 +++
>  hw/pci/Makefile.objs    | 5 +++--
>  3 files changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/default-configs/pci.mak b/default-configs/pci.mak
> index f7b3690bbd..b17b456b1e 100644
> --- a/default-configs/pci.mak
> +++ b/default-configs/pci.mak
> @@ -1,4 +1,5 @@
>  CONFIG_PCI=y
> +CONFIG_PCI_EXPRESS=y
>  # For now, CONFIG_IDE_CORE requires ISA, so we enable it here
>  CONFIG_ISA_BUS=y
>  CONFIG_VIRTIO_PCI=y
> diff --git a/hw/pci/Kconfig b/hw/pci/Kconfig
> index d3d2205577..81533b9dc0 100644
> --- a/hw/pci/Kconfig
> +++ b/hw/pci/Kconfig
> @@ -1,2 +1,5 @@
>  config PCI
>      bool
> +
> +config PCI_EXPRESS
> +    bool

Hmm this allows PCIE without PCI.
Should PCI_EXPRESS select PCI?

It's selected itself so can't depend on PCI.


> diff --git a/hw/pci/Makefile.objs b/hw/pci/Makefile.objs
> index 9f905e6344..d30eb32cbb 100644
> --- a/hw/pci/Makefile.objs
> +++ b/hw/pci/Makefile.objs
> @@ -2,8 +2,9 @@ common-obj-$(CONFIG_PCI) += pci.o pci_bridge.o
>  common-obj-$(CONFIG_PCI) += msix.o msi.o
>  common-obj-$(CONFIG_PCI) += shpc.o
>  common-obj-$(CONFIG_PCI) += slotid_cap.o
> -common-obj-$(CONFIG_PCI) += pci_host.o pcie_host.o
> -common-obj-$(CONFIG_PCI) += pcie.o pcie_aer.o pcie_port.o
> +common-obj-$(CONFIG_PCI) += pci_host.o
> +common-obj-$(CONFIG_PCI_EXPRESS) += pcie.o pcie_aer.o
> +common-obj-$(CONFIG_PCI_EXPRESS) += pcie_port.o pcie_host.o
>  
>  common-obj-$(call lnot,$(CONFIG_PCI)) += pci-stub.o
>  common-obj-$(CONFIG_ALL) += pci-stub.o
> -- 
> 2.17.1
Yang Zhong Jan. 25, 2019, 2:10 a.m. UTC | #2
On Wed, Jan 23, 2019 at 09:23:49AM -0500, Michael S. Tsirkin wrote:
> On Wed, Jan 23, 2019 at 02:56:03PM +0800, Yang Zhong wrote:
> > Make pcie splited from pci and make it configurable.
> > 
> > Signed-off-by: Yang Zhong <yang.zhong@intel.com>
> > Cc: Michael S. Tsirkin <mst@redhat.com>
> > Reviewed-by: Thomas Huth <thuth@redhat.com>
> > ---
> >  default-configs/pci.mak | 1 +
> >  hw/pci/Kconfig          | 3 +++
> >  hw/pci/Makefile.objs    | 5 +++--
> >  3 files changed, 7 insertions(+), 2 deletions(-)
> > 
> > diff --git a/default-configs/pci.mak b/default-configs/pci.mak
> > index f7b3690bbd..b17b456b1e 100644
> > --- a/default-configs/pci.mak
> > +++ b/default-configs/pci.mak
> > @@ -1,4 +1,5 @@
> >  CONFIG_PCI=y
> > +CONFIG_PCI_EXPRESS=y
> >  # For now, CONFIG_IDE_CORE requires ISA, so we enable it here
> >  CONFIG_ISA_BUS=y
> >  CONFIG_VIRTIO_PCI=y
> > diff --git a/hw/pci/Kconfig b/hw/pci/Kconfig
> > index d3d2205577..81533b9dc0 100644
> > --- a/hw/pci/Kconfig
> > +++ b/hw/pci/Kconfig
> > @@ -1,2 +1,5 @@
> >  config PCI
> >      bool
> > +
> > +config PCI_EXPRESS
> > +    bool
> 
> Hmm this allows PCIE without PCI.
> Should PCI_EXPRESS select PCI?
> 
> It's selected itself so can't depend on PCI.
>
  Hello Michael,

  I did this in patch 30 as below:
  
  diff --git a/hw/pci/Kconfig b/hw/pci/Kconfig
  index 81533b9dc0..4ca2537980 100644
  --- a/hw/pci/Kconfig
  +++ b/hw/pci/Kconfig
  @@ -3,3 +3,4 @@ config PCI

  config PCI_EXPRESS
     bool
+    select PCI

   Regards,

   Yang

> 
> > diff --git a/hw/pci/Makefile.objs b/hw/pci/Makefile.objs
> > index 9f905e6344..d30eb32cbb 100644
> > --- a/hw/pci/Makefile.objs
> > +++ b/hw/pci/Makefile.objs
> > @@ -2,8 +2,9 @@ common-obj-$(CONFIG_PCI) += pci.o pci_bridge.o
> >  common-obj-$(CONFIG_PCI) += msix.o msi.o
> >  common-obj-$(CONFIG_PCI) += shpc.o
> >  common-obj-$(CONFIG_PCI) += slotid_cap.o
> > -common-obj-$(CONFIG_PCI) += pci_host.o pcie_host.o
> > -common-obj-$(CONFIG_PCI) += pcie.o pcie_aer.o pcie_port.o
> > +common-obj-$(CONFIG_PCI) += pci_host.o
> > +common-obj-$(CONFIG_PCI_EXPRESS) += pcie.o pcie_aer.o
> > +common-obj-$(CONFIG_PCI_EXPRESS) += pcie_port.o pcie_host.o
> >  
> >  common-obj-$(call lnot,$(CONFIG_PCI)) += pci-stub.o
> >  common-obj-$(CONFIG_ALL) += pci-stub.o
> > -- 
> > 2.17.1
Michael S. Tsirkin Jan. 25, 2019, 2:43 a.m. UTC | #3
On Fri, Jan 25, 2019 at 10:10:53AM +0800, Yang Zhong wrote:
> On Wed, Jan 23, 2019 at 09:23:49AM -0500, Michael S. Tsirkin wrote:
> > On Wed, Jan 23, 2019 at 02:56:03PM +0800, Yang Zhong wrote:
> > > Make pcie splited from pci and make it configurable.
> > > 
> > > Signed-off-by: Yang Zhong <yang.zhong@intel.com>
> > > Cc: Michael S. Tsirkin <mst@redhat.com>
> > > Reviewed-by: Thomas Huth <thuth@redhat.com>
> > > ---
> > >  default-configs/pci.mak | 1 +
> > >  hw/pci/Kconfig          | 3 +++
> > >  hw/pci/Makefile.objs    | 5 +++--
> > >  3 files changed, 7 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/default-configs/pci.mak b/default-configs/pci.mak
> > > index f7b3690bbd..b17b456b1e 100644
> > > --- a/default-configs/pci.mak
> > > +++ b/default-configs/pci.mak
> > > @@ -1,4 +1,5 @@
> > >  CONFIG_PCI=y
> > > +CONFIG_PCI_EXPRESS=y
> > >  # For now, CONFIG_IDE_CORE requires ISA, so we enable it here
> > >  CONFIG_ISA_BUS=y
> > >  CONFIG_VIRTIO_PCI=y
> > > diff --git a/hw/pci/Kconfig b/hw/pci/Kconfig
> > > index d3d2205577..81533b9dc0 100644
> > > --- a/hw/pci/Kconfig
> > > +++ b/hw/pci/Kconfig
> > > @@ -1,2 +1,5 @@
> > >  config PCI
> > >      bool
> > > +
> > > +config PCI_EXPRESS
> > > +    bool
> > 
> > Hmm this allows PCIE without PCI.
> > Should PCI_EXPRESS select PCI?
> > 
> > It's selected itself so can't depend on PCI.
> >
>   Hello Michael,
> 
>   I did this in patch 30 as below:
>   
>   diff --git a/hw/pci/Kconfig b/hw/pci/Kconfig
>   index 81533b9dc0..4ca2537980 100644
>   --- a/hw/pci/Kconfig
>   +++ b/hw/pci/Kconfig
>   @@ -3,3 +3,4 @@ config PCI
> 
>   config PCI_EXPRESS
>      bool
> +    select PCI
> 
>    Regards,
> 
>    Yang

Maybe squash this into patch 29 then.

> > 
> > > diff --git a/hw/pci/Makefile.objs b/hw/pci/Makefile.objs
> > > index 9f905e6344..d30eb32cbb 100644
> > > --- a/hw/pci/Makefile.objs
> > > +++ b/hw/pci/Makefile.objs
> > > @@ -2,8 +2,9 @@ common-obj-$(CONFIG_PCI) += pci.o pci_bridge.o
> > >  common-obj-$(CONFIG_PCI) += msix.o msi.o
> > >  common-obj-$(CONFIG_PCI) += shpc.o
> > >  common-obj-$(CONFIG_PCI) += slotid_cap.o
> > > -common-obj-$(CONFIG_PCI) += pci_host.o pcie_host.o
> > > -common-obj-$(CONFIG_PCI) += pcie.o pcie_aer.o pcie_port.o
> > > +common-obj-$(CONFIG_PCI) += pci_host.o
> > > +common-obj-$(CONFIG_PCI_EXPRESS) += pcie.o pcie_aer.o
> > > +common-obj-$(CONFIG_PCI_EXPRESS) += pcie_port.o pcie_host.o
> > >  
> > >  common-obj-$(call lnot,$(CONFIG_PCI)) += pci-stub.o
> > >  common-obj-$(CONFIG_ALL) += pci-stub.o
> > > -- 
> > > 2.17.1
Yang Zhong Jan. 25, 2019, 2:48 a.m. UTC | #4
On Thu, Jan 24, 2019 at 09:43:44PM -0500, Michael S. Tsirkin wrote:
> On Fri, Jan 25, 2019 at 10:10:53AM +0800, Yang Zhong wrote:
> > On Wed, Jan 23, 2019 at 09:23:49AM -0500, Michael S. Tsirkin wrote:
> > > On Wed, Jan 23, 2019 at 02:56:03PM +0800, Yang Zhong wrote:
> > > > Make pcie splited from pci and make it configurable.
> > > > 
> > > > Signed-off-by: Yang Zhong <yang.zhong@intel.com>
> > > > Cc: Michael S. Tsirkin <mst@redhat.com>
> > > > Reviewed-by: Thomas Huth <thuth@redhat.com>
> > > > ---
> > > >  default-configs/pci.mak | 1 +
> > > >  hw/pci/Kconfig          | 3 +++
> > > >  hw/pci/Makefile.objs    | 5 +++--
> > > >  3 files changed, 7 insertions(+), 2 deletions(-)
> > > > 
> > > > diff --git a/default-configs/pci.mak b/default-configs/pci.mak
> > > > index f7b3690bbd..b17b456b1e 100644
> > > > --- a/default-configs/pci.mak
> > > > +++ b/default-configs/pci.mak
> > > > @@ -1,4 +1,5 @@
> > > >  CONFIG_PCI=y
> > > > +CONFIG_PCI_EXPRESS=y
> > > >  # For now, CONFIG_IDE_CORE requires ISA, so we enable it here
> > > >  CONFIG_ISA_BUS=y
> > > >  CONFIG_VIRTIO_PCI=y
> > > > diff --git a/hw/pci/Kconfig b/hw/pci/Kconfig
> > > > index d3d2205577..81533b9dc0 100644
> > > > --- a/hw/pci/Kconfig
> > > > +++ b/hw/pci/Kconfig
> > > > @@ -1,2 +1,5 @@
> > > >  config PCI
> > > >      bool
> > > > +
> > > > +config PCI_EXPRESS
> > > > +    bool
> > > 
> > > Hmm this allows PCIE without PCI.
> > > Should PCI_EXPRESS select PCI?
> > > 
> > > It's selected itself so can't depend on PCI.
> > >
> >   Hello Michael,
> > 
> >   I did this in patch 30 as below:
> >   
> >   diff --git a/hw/pci/Kconfig b/hw/pci/Kconfig
> >   index 81533b9dc0..4ca2537980 100644
> >   --- a/hw/pci/Kconfig
> >   +++ b/hw/pci/Kconfig
> >   @@ -3,3 +3,4 @@ config PCI
> > 
> >   config PCI_EXPRESS
> >      bool
> > +    select PCI
> > 
> >    Regards,
> > 
> >    Yang
> 
> Maybe squash this into patch 29 then.
> 
> > >
  Okay, i will do it in next version, thanks Michael, Yang.
 
> > > > diff --git a/hw/pci/Makefile.objs b/hw/pci/Makefile.objs
> > > > index 9f905e6344..d30eb32cbb 100644
> > > > --- a/hw/pci/Makefile.objs
> > > > +++ b/hw/pci/Makefile.objs
> > > > @@ -2,8 +2,9 @@ common-obj-$(CONFIG_PCI) += pci.o pci_bridge.o
> > > >  common-obj-$(CONFIG_PCI) += msix.o msi.o
> > > >  common-obj-$(CONFIG_PCI) += shpc.o
> > > >  common-obj-$(CONFIG_PCI) += slotid_cap.o
> > > > -common-obj-$(CONFIG_PCI) += pci_host.o pcie_host.o
> > > > -common-obj-$(CONFIG_PCI) += pcie.o pcie_aer.o pcie_port.o
> > > > +common-obj-$(CONFIG_PCI) += pci_host.o
> > > > +common-obj-$(CONFIG_PCI_EXPRESS) += pcie.o pcie_aer.o
> > > > +common-obj-$(CONFIG_PCI_EXPRESS) += pcie_port.o pcie_host.o
> > > >  
> > > >  common-obj-$(call lnot,$(CONFIG_PCI)) += pci-stub.o
> > > >  common-obj-$(CONFIG_ALL) += pci-stub.o
> > > > -- 
> > > > 2.17.1
diff mbox series

Patch

diff --git a/default-configs/pci.mak b/default-configs/pci.mak
index f7b3690bbd..b17b456b1e 100644
--- a/default-configs/pci.mak
+++ b/default-configs/pci.mak
@@ -1,4 +1,5 @@ 
 CONFIG_PCI=y
+CONFIG_PCI_EXPRESS=y
 # For now, CONFIG_IDE_CORE requires ISA, so we enable it here
 CONFIG_ISA_BUS=y
 CONFIG_VIRTIO_PCI=y
diff --git a/hw/pci/Kconfig b/hw/pci/Kconfig
index d3d2205577..81533b9dc0 100644
--- a/hw/pci/Kconfig
+++ b/hw/pci/Kconfig
@@ -1,2 +1,5 @@ 
 config PCI
     bool
+
+config PCI_EXPRESS
+    bool
diff --git a/hw/pci/Makefile.objs b/hw/pci/Makefile.objs
index 9f905e6344..d30eb32cbb 100644
--- a/hw/pci/Makefile.objs
+++ b/hw/pci/Makefile.objs
@@ -2,8 +2,9 @@  common-obj-$(CONFIG_PCI) += pci.o pci_bridge.o
 common-obj-$(CONFIG_PCI) += msix.o msi.o
 common-obj-$(CONFIG_PCI) += shpc.o
 common-obj-$(CONFIG_PCI) += slotid_cap.o
-common-obj-$(CONFIG_PCI) += pci_host.o pcie_host.o
-common-obj-$(CONFIG_PCI) += pcie.o pcie_aer.o pcie_port.o
+common-obj-$(CONFIG_PCI) += pci_host.o
+common-obj-$(CONFIG_PCI_EXPRESS) += pcie.o pcie_aer.o
+common-obj-$(CONFIG_PCI_EXPRESS) += pcie_port.o pcie_host.o
 
 common-obj-$(call lnot,$(CONFIG_PCI)) += pci-stub.o
 common-obj-$(CONFIG_ALL) += pci-stub.o