On Mon, Dec 02, 2024 at 02:15:17PM +0100, Herve Codina wrote: > On systems where ACPI is enabled or when a device-tree is not passed to > the kernel by the bootloader, a device-tree root empty node is created. > This device-tree root empty node does not have the #address-cells and > the #size-cells properties > > This leads to the use of the default address cells and size cells values > which are defined in the code to 1 for the address cells value and 1 for > the size cells value. > > According to the devicetree specification and the OpenFirmware standard > (IEEE 1275-1994) the default value for #address-cells should be 2. > > Also, according to the devicetree specification, the #address-cells and > the #size-cells are required properties in the root node. > > The device tree compiler already uses 2 as default value for address > cells and 1 for size cells. The powerpc PROM code also uses 2 as default > value for address cells and 1 for size cells. Modern implementation > should have the #address-cells and the #size-cells properties set and > should not rely on default values. > > On x86, this root empty node is used and the code default values are > used. > > In preparation of the support for device-tree overlay on PCI devices > feature on x86 (i.e. the creation of the PCI root bus device-tree node), > the default value for #address-cells needs to be updated. Indeed, on > x86_64, addresses are on 64bits and the upper part of an address is > needed for correct address translations. On x86_32 having the default > value updated does not lead to issues while the upper part of a 64-bit > value is zero. > > Changing the default value for all architectures may break device-tree > compatibility. Indeed, existing dts file without the #address-cells > property set in the root node will not be compatible with this > modification. > > Instead of updating default values, add both required #address-cells > and #size-cells properties in the device-tree empty node. > > Use 2 for both properties value in order to fully support 64-bit > addresses and sizes on systems using this empty root node. > > Signed-off-by: Herve Codina <herve.codina@xxxxxxxxxxx> > --- > drivers/of/empty_root.dts | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) This also fixes unittest hitting a warning added for 6.13. So I've applied this patch as a fix. Rob