[PATCH-for-5.2] hw/vfio: Move some target-independent devices to common-objs

Philippe Mathieu-Daudé posted 1 patch 3 years, 9 months ago
Test checkpatch passed
Test docker-mingw@fedora passed
Test FreeBSD passed
Test docker-quick@centos7 passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200715131322.28767-1-philmd@redhat.com
hw/vfio/Makefile.objs | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
[PATCH-for-5.2] hw/vfio: Move some target-independent devices to common-objs
Posted by Philippe Mathieu-Daudé 3 years, 9 months ago
These devices do not depend on the target CPU configuration
(32 or 64-bit, big / little endian). Move them to common-obj
to compile them once for all the targets.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/vfio/Makefile.objs | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/hw/vfio/Makefile.objs b/hw/vfio/Makefile.objs
index 9bb1c09e84..f663a800b1 100644
--- a/hw/vfio/Makefile.objs
+++ b/hw/vfio/Makefile.objs
@@ -1,8 +1,9 @@
 obj-y += common.o spapr.o
-obj-$(CONFIG_VFIO_PCI) += pci.o pci-quirks.o display.o
+obj-$(CONFIG_VFIO_PCI) += pci.o pci-quirks.o
 obj-$(CONFIG_VFIO_CCW) += ccw.o
 obj-$(CONFIG_VFIO_PLATFORM) += platform.o
-obj-$(CONFIG_VFIO_XGMAC) += calxeda-xgmac.o
-obj-$(CONFIG_VFIO_AMD_XGBE) += amd-xgbe.o
 obj-$(CONFIG_VFIO_AP) += ap.o
-obj-$(CONFIG_VFIO_IGD) += igd.o
+common-obj-$(CONFIG_VFIO_PCI) += display.o
+common-obj-$(CONFIG_VFIO_XGMAC) += calxeda-xgmac.o
+common-obj-$(CONFIG_VFIO_AMD_XGBE) += amd-xgbe.o
+common-obj-$(CONFIG_VFIO_IGD) += igd.o
-- 
2.21.3


Re: [PATCH-for-5.2] hw/vfio: Move some target-independent devices to common-objs
Posted by Alex Williamson 3 years, 9 months ago
On Wed, 15 Jul 2020 15:13:22 +0200
Philippe Mathieu-Daudé <philmd@redhat.com> wrote:

> These devices do not depend on the target CPU configuration
> (32 or 64-bit, big / little endian). Move them to common-obj
> to compile them once for all the targets.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  hw/vfio/Makefile.objs | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/hw/vfio/Makefile.objs b/hw/vfio/Makefile.objs
> index 9bb1c09e84..f663a800b1 100644
> --- a/hw/vfio/Makefile.objs
> +++ b/hw/vfio/Makefile.objs
> @@ -1,8 +1,9 @@
>  obj-y += common.o spapr.o
> -obj-$(CONFIG_VFIO_PCI) += pci.o pci-quirks.o display.o
> +obj-$(CONFIG_VFIO_PCI) += pci.o pci-quirks.o
>  obj-$(CONFIG_VFIO_CCW) += ccw.o
>  obj-$(CONFIG_VFIO_PLATFORM) += platform.o
> -obj-$(CONFIG_VFIO_XGMAC) += calxeda-xgmac.o
> -obj-$(CONFIG_VFIO_AMD_XGBE) += amd-xgbe.o
>  obj-$(CONFIG_VFIO_AP) += ap.o
> -obj-$(CONFIG_VFIO_IGD) += igd.o
> +common-obj-$(CONFIG_VFIO_PCI) += display.o
> +common-obj-$(CONFIG_VFIO_XGMAC) += calxeda-xgmac.o
> +common-obj-$(CONFIG_VFIO_AMD_XGBE) += amd-xgbe.o
> +common-obj-$(CONFIG_VFIO_IGD) += igd.o

What thing, or lack of thing, are you looking for in these files that
aren't in the others?  For instance if igd.o is common, but pci-quirks.o
is not, where igd.o is just a quirk that got split out of pci-quirks.o
so that we could more easily compile it out, it feels like we might be
stumbling into cases where adding or removing code that would shift
objects into or out of the common-obj target.  I don't know how to
maintain that.  Thanks,

Alex