When I tried to run some new efi tests with pytest, efi_smbios_register()
triggered a segmentation fault. Here is the location where it happened:
efi_init_obj_list()
  efi_smbios_register()
    write_smbios_table()
      smbios_write_type4()
        smbios_write_type4_dm()

where dev_get_parent_platdata() should return a pointer to struct
cpu_platdata, but it is actually NULL because any cpu device on
sandbox is attached to "root_driver."

With this patch, this issue will be fixed by moving all the definitions
of cpus under "cpus" node so that they have a "cpu_bus" parent.

Signed-off-by: AKASHI Takahiro <takahiro.aka...@linaro.org>
---
 arch/sandbox/dts/test.dts | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts
index 27b0baab2781..c549d9e50fb8 100644
--- a/arch/sandbox/dts/test.dts
+++ b/arch/sandbox/dts/test.dts
@@ -389,19 +389,21 @@
                mbox-names = "other", "test";
        };
 
-       cpu-test1 {
-               compatible = "sandbox,cpu_sandbox";
-               u-boot,dm-pre-reloc;
-       };
+       cpus {
+               cpu-test1 {
+                       compatible = "sandbox,cpu_sandbox";
+                       u-boot,dm-pre-reloc;
+               };
 
-       cpu-test2 {
-               compatible = "sandbox,cpu_sandbox";
-               u-boot,dm-pre-reloc;
-       };
+               cpu-test2 {
+                       compatible = "sandbox,cpu_sandbox";
+                       u-boot,dm-pre-reloc;
+               };
 
-       cpu-test3 {
-               compatible = "sandbox,cpu_sandbox";
-               u-boot,dm-pre-reloc;
+               cpu-test3 {
+                       compatible = "sandbox,cpu_sandbox";
+                       u-boot,dm-pre-reloc;
+               };
        };
 
        i2s: i2s {
-- 
2.21.0

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to