qemu-ppc
[Top][All Lists]
Advanced

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

Re: [PATCH] dtc


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH] dtc
Date: Fri, 6 Oct 2023 08:47:45 +0200
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.15.1

Oops, wrong subject.

On 6/10/23 08:45, Philippe Mathieu-Daudé wrote:
QEMU consumes some device tree blobs, so these have been committed
to the tree in as firmware, along with the device tree source used
to generate them. We know the blobs are "good enough" to have QEMU
boot a system, so we don't really maintain and rebuild the sources.

These blobs were generated with older 'dtc' binaries. We use the
v1.6.1 version since 2021 (commit 962fde57b7 "dtc: Update to version
1.6.1").

Since commit 6e0dc9d2a8 ("meson: compile bundled device trees"),
if dtc binary is available, it is directly used to compile the
device tree sources. New versions of 'dtc' add checks which display
warnings or errors. Our sources are a bit old, so dtc v1.6.1 now
emit the following warnings on a fresh build:

   [163/3414] Generating pc-bios/canyonlands.dts with a custom command
   pc-bios/canyonlands.dts:47.9-50.4: Warning (unit_address_vs_reg): /memory: 
node has a reg or ranges property, but no unit name
   pc-bios/canyonlands.dts:210.13-429.5: Warning (unit_address_vs_reg): 
/plb/opb: node has a reg or ranges property, but no unit name
   pc-bios/canyonlands.dts:464.26-504.5: Warning (pci_bridge): /plb/pciex@d00000000: node name is 
not "pci" or "pcie"
   pc-bios/canyonlands.dts:506.26-546.5: Warning (pci_bridge): /plb/pciex@d20000000: node name is 
not "pci" or "pcie"
   pc-bios/canyonlands.dtb: Warning (unit_address_format): Failed prerequisite 
'pci_bridge'
   pc-bios/canyonlands.dtb: Warning (pci_device_reg): Failed prerequisite 
'pci_bridge'
   pc-bios/canyonlands.dtb: Warning (pci_device_bus_num): Failed prerequisite 
'pci_bridge'
   pc-bios/canyonlands.dts:268.14-289.7: Warning (avoid_unnecessary_addr_size): 
/plb/opb/ebc/ndfc@3,0: unnecessary #address-cells/#size-cells without "ranges" or child 
"reg" property
   [164/3414] Generating pc-bios/petalogix-s3adsp1800.dts with a custom command
   pc-bios/petalogix-s3adsp1800.dts:258.33-266.5: Warning (interrupt_provider): 
/plb/interrupt-controller@81800000: Missing #address-cells in interrupt provider
   [165/3414] Generating pc-bios/petalogix-ml605.dts with a custom command
   pc-bios/petalogix-ml605.dts:234.39-241.5: Warning (interrupt_provider): 
/axi/interrupt-controller@81800000: Missing #address-cells in interrupt provider
   [177/3414] Generating pc-bios/bamboo.dts with a custom command
   pc-bios/bamboo.dts:45.9-48.4: Warning (unit_address_vs_reg): /memory: node 
has a reg or ranges property, but no unit name
   pc-bios/bamboo.dts:87.13-154.5: Warning (unit_address_vs_reg): /plb/opb: 
node has a reg or ranges property, but no unit name
   pc-bios/bamboo.dts:198.3-50: Warning (chosen_node_stdout_path): 
/chosen:linux,stdout-path: Use 'stdout-path' instead
   pc-bios/bamboo.dts:87.13-154.5: Warning (interrupts_property): /plb/opb: 
Missing interrupt-parent
   pc-bios/bamboo.dts:100.14-108.6: Warning (interrupts_property): 
/plb/opb/ebc: Missing interrupt-parent

 From QEMU perspective, these warnings are not really useful. It is
the responsibility of developers adding DT source/blob to QEMU
repository to check the source doesn't produce warnings, but as
long as the blob is useful enough, QEMU can consume it. So these
warnings don't add any value, instead they are noisy and might
distract us to focus on important warnings. Better disable them.

'dtc' provides the '--quiet' option for that:

   $ dtc --help
   Usage: dtc [options] <input file>

   Options: -[qI:O:o:V:d:R:S:p:a:fb:i:H:sW:E:@AThv]
     -q, --quiet
           Quiet: -q suppress warnings, -qq errors, -qqq all

Update meson to disable these unuseful DTC warnings.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
Note, meson outputs "Generating dts" instead of "Generating dtb".
---
  pc-bios/meson.build | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/pc-bios/meson.build b/pc-bios/meson.build
index e67fa433a1..162663fed6 100644
--- a/pc-bios/meson.build
+++ b/pc-bios/meson.build
@@ -95,7 +95,8 @@ foreach f : [
          output: out,
          install: get_option('install_blobs'),
          install_dir: qemu_datadir,
-        command: [ dtc, '-I', 'dts', '-O', 'dtb', '-o', '@OUTPUT@', '@INPUT0@' 
])
+        command: [ dtc, '-q', '-I', 'dts', '-O', 'dtb',
+                        '-o', '@OUTPUT@', '@INPUT0@' ])
    else
      blobs += out
    endif




reply via email to

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