[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 2/2] vga: build qxl as module
From: |
Gerd Hoffmann |
Subject: |
[PATCH 2/2] vga: build qxl as module |
Date: |
Thu, 4 Jun 2020 09:59:43 +0200 |
Open questions:
* Do we want this be contigurable? If so, how? Does our miniconf
support tristate Kconfig options?
* The Makefile.target chunk feels quite hackish. Better ideas anyone?
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
Makefile.objs | 1 +
Makefile.target | 7 +++++++
hw/core/qdev.c | 2 ++
hw/Makefile.objs | 1 +
hw/display/Makefile.objs | 4 +++-
5 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/Makefile.objs b/Makefile.objs
index 99774cfd2545..28c165c0e623 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -59,6 +59,7 @@ common-obj-y += migration/
common-obj-y += audio/
common-obj-m += audio/
common-obj-y += hw/
+common-obj-m += hw/
common-obj-y += replay/
diff --git a/Makefile.target b/Makefile.target
index 8ed1eba95b9c..c70325df5796 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -179,6 +179,13 @@ endif # CONFIG_SOFTMMU
dummy := $(call unnest-vars,,obj-y)
all-obj-y := $(obj-y)
+#
+# common-obj-m has some crap here, probably as side effect from
+# filling obj-y. Clear it. Fixes suspious dependency errors when
+# building devices as modules.
+#
+common-obj-m :=
+
include $(SRC_PATH)/Makefile.objs
dummy := $(call unnest-vars,.., \
authz-obj-y \
diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index 20e5c4cbafd8..9ab30676fff7 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -156,6 +156,8 @@ static struct {
const char *type;
const char *mod;
} const hwmodules[] = {
+ { .type = "qxl-vga", .mod = "display-qxl" },
+ { .type = "qxl", .mod = "display-qxl" },
};
static bool qdev_module_loaded_all;
diff --git a/hw/Makefile.objs b/hw/Makefile.objs
index 660e2b437348..fdbc7b017487 100644
--- a/hw/Makefile.objs
+++ b/hw/Makefile.objs
@@ -43,4 +43,5 @@ devices-dirs-y += smbios/
endif
common-obj-y += $(devices-dirs-y)
+common-obj-m += display/
obj-y += $(devices-dirs-y)
diff --git a/hw/display/Makefile.objs b/hw/display/Makefile.objs
index 77a7d622bd2d..e2003d7083c2 100644
--- a/hw/display/Makefile.objs
+++ b/hw/display/Makefile.objs
@@ -44,7 +44,9 @@ common-obj-$(CONFIG_ARTIST) += artist.o
obj-$(CONFIG_VGA) += vga.o
-common-obj-$(CONFIG_QXL) += qxl.o qxl-logger.o qxl-render.o
+#common-obj-$(CONFIG_QXL) += qxl.mo
+common-obj-m += qxl.mo
+qxl.mo-objs = qxl.o qxl-logger.o qxl-render.o
obj-$(CONFIG_VIRTIO_GPU) += virtio-gpu-base.o virtio-gpu.o virtio-gpu-3d.o
obj-$(CONFIG_VHOST_USER_GPU) += vhost-user-gpu.o
--
2.18.4