qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC PATCH 4/5] hw/ppc/fdt: Drop dependency on libfdt


From: Paolo Bonzini
Subject: Re: [RFC PATCH 4/5] hw/ppc/fdt: Drop dependency on libfdt
Date: Wed, 12 May 2021 09:59:00 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1

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é <philmd@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)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]