Message ID | 20231006064515.33487-1-philmd@linaro.org |
---|---|
State | New |
Headers | show |
Series | dtc | expand |
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
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
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(-)