On 12/05/21 04:30, David Gibson wrote:
On Tue, May 11, 2021 at 05:53:53PM +0200, Philippe Mathieu-Daudé wrote:
hw/ppc/fdt.c defines the ppc_create_page_sizes_prop() function,
which is unrelated to the libfdt. Remove the incorrect library
dependency on the file.
Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com>
This is definitely wrong as it stands. AFAICT this doesn't add a
build of hw/ppc/fdt.c anywhere, but it is definitely needed by both
pseries and powernv machine types, who select FDT_PPC for this exact
reason.
I will grant you that it is badly named. It is in fact related to
libfdt, just rather indirectly.
The patch makes sense in general. The file is only needed for pseries
and powernv, not for e.g. e500 which does need fdt.
I would get rid of FDT_PPC completely. First, before patch 3, you can
move fdt.c to PSERIES and POWERNV (it's too small to need its own
Kconfig symbol) and only leave
ppc_ss.add(when: 'CONFIG_FDT_PPC', if_true: fdt)
Since you are at it, remove the silly #ifdef TARGET_PPC64 in the
hw/ppc/fdt.c file.
Then in patch 3:
- add to Kconfig.host
config FDT
bool
config LIBFDT
bool
depends on FDT
- for all the boards I listed in my review, add "select LIBFDT" in
addition to "depends on FDT".
- add to meson.build
softmmu_ss.add(when: 'CONFIG_LIBFDT', if_true: fdt)
Paolo
---
hw/ppc/meson.build | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/ppc/meson.build b/hw/ppc/meson.build
index e82a6b4105b..580e6e42c8a 100644
--- a/hw/ppc/meson.build
+++ b/hw/ppc/meson.build
@@ -3,9 +3,9 @@
'ppc.c',
'ppc_booke.c',
))
-ppc_ss.add(when: 'CONFIG_FDT_PPC', if_true: [files(
+ppc_ss.add(when: 'CONFIG_FDT_PPC', if_true: files(
'fdt.c',
-), fdt])
+))
ppc_ss.add(when: 'CONFIG_FW_CFG_PPC', if_true: files('fw_cfg.c'))
# IBM pSeries (sPAPR)