diff mbox series

[PULL,v2,15/15] hw/core: Only build guest-loader if libfdt is available

Message ID 20210317072216.16316-16-alex.bennee@linaro.org
State New
Headers show
Series [PULL,v2,01/15] utils: Use fixed-point arithmetic in qemu_strtosz | expand

Commit Message

Alex Bennée March 17, 2021, 7:22 a.m. UTC
From: Philippe Mathieu-Daudé <philmd@redhat.com>

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>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20210315170439.2868903-1-philmd@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

Comments

Philippe Mathieu-Daudé March 17, 2021, 12:10 p.m. UTC | #1
Hi Alex,

On 3/17/21 8:22 AM, Alex Bennée wrote:
> From: Philippe Mathieu-Daudé <philmd@redhat.com>
> 
> 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>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
> Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
> Message-Id: <20210315170439.2868903-1-philmd@redhat.com>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

On Mon, Mar 15, 2021 at 06:04:39PM +0100, Philippe Mathieu-Daudé 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>

If you have to post a v3 due to merge conflict, this patch
also had:

Reviewed-by: Anthoine Bourgeois <anthoine.bourgeois@gmail.com>
Tested-by: Anthoine Bourgeois <anthoine.bourgeois@gmail.com>

(but it was sent off-list).

Thanks,

Phil.
diff mbox series

Patch

diff --git a/hw/core/Kconfig b/hw/core/Kconfig
index fdf03514d7..9397503656 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 9cd72edf51..59f1605bb0 100644
--- a/hw/core/meson.build
+++ b/hw/core/meson.build
@@ -16,6 +16,7 @@  hwcore_files = files(
 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 @@  softmmu_ss.add(files(
   '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',