Running r36.5.0-updates branch with L4T 36.5 and a custom device tree for our kernel on orin-agx. We see the error message
ProcHierarchyInfoParser: NumSockets = 1, MaxClustersPerSocket = 3, MaxCoresPerSocket = 12, MaxCoresPerCluster = 4
ERROR DeviceTree for CoreIndex 1 has CoreId = 0x10000, but expected 0x100
ASSERT [DebugStatusCodeDxe] [ConfigurationManagerDataDxe] /home/sweng/trunk_t23x_36.5.0/Linux_for_Tegra/uefi-out/nvidia-uefi/edk2-nvidia/Silicon/NVIDIA/Drivers/ConfigurationManagerData/CacheInfo/CacheInd
Resetting the system in 5 seconds.
▒▒▒▒Shutdown state requested 1
Rebooting system ...
Investigation found that the "cpus" node in our dtb had the cpu cores in the following order:
cpus {
#address-cells = <0x00000001>;
#size-cells = <0x00000000>;
cpu@0 {
...
};
cpu@10000 {
...
};
cpu@20000 {
...
};
cpu@100 {
...
};
with the rest in ascending order. If we recompiled our dtb so that all the cpu cores were in ascending order, the uefi error went away and the agx-orin boots successfully.
Since the order of nodes in the device tree should not matter as long as they are nested the same, UEFI should be able to process the device tree cpu cores regardless of order in the flattened device tree. Otherwise this error can happen simply due to importing dtsi files in the "wrong" order, as we saw with our device tree.
Running r36.5.0-updates branch with L4T 36.5 and a custom device tree for our kernel on orin-agx. We see the error message
Investigation found that the "cpus" node in our dtb had the cpu cores in the following order:
with the rest in ascending order. If we recompiled our dtb so that all the cpu cores were in ascending order, the uefi error went away and the agx-orin boots successfully.
Since the order of nodes in the device tree should not matter as long as they are nested the same, UEFI should be able to process the device tree cpu cores regardless of order in the flattened device tree. Otherwise this error can happen simply due to importing dtsi files in the "wrong" order, as we saw with our device tree.