Add a Kconfig entry for guest-loader so we can optionally deselect
it (default is built in), and add a Meson dependency on libfdt.
This fixes when building with --disable-fdt:
/usr/bin/ld: libcommon.fa.p/hw_core_guest-loader.c.o: in function `loader_insert_platform_data':
hw/core/guest-loader.c:56: undefined reference to `qemu_fdt_add_subnode'
/usr/bin/ld: hw/core/guest-loader.c:57: undefined reference to `qemu_fdt_setprop'
/usr/bin/ld: hw/core/guest-loader.c:61: undefined reference to `qemu_fdt_setprop_string_array'
/usr/bin/ld: hw/core/guest-loader.c:68: undefined reference to `qemu_fdt_setprop_string'
/usr/bin/ld: hw/core/guest-loader.c:74: undefined reference to `qemu_fdt_setprop_string_array'
collect2: error: ld returned 1 exit status
Fixes: a33ff6d2c6b ("hw/core: implement a guest-loader to support static hypervisor guests")
Reported-by: Christian Borntraeger <borntraeger@de.ibm.com>
Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
hw/core/Kconfig | 5 +++++
hw/core/meson.build | 3 +--
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/hw/core/Kconfig b/hw/core/Kconfig
index fdf03514d7d..9397503656d 100644
--- a/hw/core/Kconfig
+++ b/hw/core/Kconfig
@@ -11,6 +11,11 @@ config GENERIC_LOADER
bool
default y
+config GUEST_LOADER
+ bool
+ default y
+ depends on TCG
+
config OR_IRQ
bool
diff --git a/hw/core/meson.build b/hw/core/meson.build
index 9cd72edf513..59f1605bb07 100644
--- a/hw/core/meson.build
+++ b/hw/core/meson.build
@@ -16,6 +16,7 @@
common_ss.add(files('cpu.c'))
common_ss.add(when: 'CONFIG_FITLOADER', if_true: files('loader-fit.c'))
common_ss.add(when: 'CONFIG_GENERIC_LOADER', if_true: files('generic-loader.c'))
+common_ss.add(when: ['CONFIG_GUEST_LOADER', fdt], if_true: files('guest-loader.c'))
common_ss.add(when: 'CONFIG_OR_IRQ', if_true: files('or-irq.c'))
common_ss.add(when: 'CONFIG_PLATFORM_BUS', if_true: files('platform-bus.c'))
common_ss.add(when: 'CONFIG_PTIMER', if_true: files('ptimer.c'))
@@ -37,8 +38,6 @@
'clock-vmstate.c',
))
-softmmu_ss.add(when: 'CONFIG_TCG', if_true: files('guest-loader.c'))
-
specific_ss.add(when: 'CONFIG_SOFTMMU', if_true: files(
'machine-qmp-cmds.c',
'numa.c',
--
2.26.2
On Mon, Mar 15, 2021 at 1:15 PM Philippe Mathieu-Daudé <philmd@redhat.com> wrote: > > Add a Kconfig entry for guest-loader so we can optionally deselect > it (default is built in), and add a Meson dependency on libfdt. > > This fixes when building with --disable-fdt: > > /usr/bin/ld: libcommon.fa.p/hw_core_guest-loader.c.o: in function `loader_insert_platform_data': > hw/core/guest-loader.c:56: undefined reference to `qemu_fdt_add_subnode' > /usr/bin/ld: hw/core/guest-loader.c:57: undefined reference to `qemu_fdt_setprop' > /usr/bin/ld: hw/core/guest-loader.c:61: undefined reference to `qemu_fdt_setprop_string_array' > /usr/bin/ld: hw/core/guest-loader.c:68: undefined reference to `qemu_fdt_setprop_string' > /usr/bin/ld: hw/core/guest-loader.c:74: undefined reference to `qemu_fdt_setprop_string_array' > collect2: error: ld returned 1 exit status > > Fixes: a33ff6d2c6b ("hw/core: implement a guest-loader to support static hypervisor guests") > Reported-by: Christian Borntraeger <borntraeger@de.ibm.com> > Tested-by: Christian Borntraeger <borntraeger@de.ibm.com> > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Alistair > --- > hw/core/Kconfig | 5 +++++ > hw/core/meson.build | 3 +-- > 2 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/hw/core/Kconfig b/hw/core/Kconfig > index fdf03514d7d..9397503656d 100644 > --- a/hw/core/Kconfig > +++ b/hw/core/Kconfig > @@ -11,6 +11,11 @@ config GENERIC_LOADER > bool > default y > > +config GUEST_LOADER > + bool > + default y > + depends on TCG > + > config OR_IRQ > bool > > diff --git a/hw/core/meson.build b/hw/core/meson.build > index 9cd72edf513..59f1605bb07 100644 > --- a/hw/core/meson.build > +++ b/hw/core/meson.build > @@ -16,6 +16,7 @@ > common_ss.add(files('cpu.c')) > common_ss.add(when: 'CONFIG_FITLOADER', if_true: files('loader-fit.c')) > common_ss.add(when: 'CONFIG_GENERIC_LOADER', if_true: files('generic-loader.c')) > +common_ss.add(when: ['CONFIG_GUEST_LOADER', fdt], if_true: files('guest-loader.c')) > common_ss.add(when: 'CONFIG_OR_IRQ', if_true: files('or-irq.c')) > common_ss.add(when: 'CONFIG_PLATFORM_BUS', if_true: files('platform-bus.c')) > common_ss.add(when: 'CONFIG_PTIMER', if_true: files('ptimer.c')) > @@ -37,8 +38,6 @@ > 'clock-vmstate.c', > )) > > -softmmu_ss.add(when: 'CONFIG_TCG', if_true: files('guest-loader.c')) > - > specific_ss.add(when: 'CONFIG_SOFTMMU', if_true: files( > 'machine-qmp-cmds.c', > 'numa.c', > -- > 2.26.2 > >
Philippe Mathieu-Daudé <philmd@redhat.com> writes: > Add a Kconfig entry for guest-loader so we can optionally deselect > it (default is built in), and add a Meson dependency on libfdt. > > This fixes when building with --disable-fdt: > > /usr/bin/ld: libcommon.fa.p/hw_core_guest-loader.c.o: in function `loader_insert_platform_data': > hw/core/guest-loader.c:56: undefined reference to `qemu_fdt_add_subnode' > /usr/bin/ld: hw/core/guest-loader.c:57: undefined reference to `qemu_fdt_setprop' > /usr/bin/ld: hw/core/guest-loader.c:61: undefined reference to `qemu_fdt_setprop_string_array' > /usr/bin/ld: hw/core/guest-loader.c:68: undefined reference to `qemu_fdt_setprop_string' > /usr/bin/ld: hw/core/guest-loader.c:74: undefined reference to `qemu_fdt_setprop_string_array' > collect2: error: ld returned 1 exit status > > Fixes: a33ff6d2c6b ("hw/core: implement a guest-loader to support static hypervisor guests") > Reported-by: Christian Borntraeger <borntraeger@de.ibm.com> > Tested-by: Christian Borntraeger <borntraeger@de.ibm.com> > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Queued to for-6.0/assorted-fixes, thanks. -- Alex Bennée
© 2016 - 2024 Red Hat, Inc.