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 <kra...@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