PPC: e500: dt: create /cpus node dynamically
authorAlexander Graf <agraf@suse.de>
Thu, 17 May 2012 09:48:16 +0000 (11:48 +0200)
committerAlexander Graf <agraf@suse.de>
Sat, 23 Jun 2012 23:04:47 +0000 (01:04 +0200)
Signed-off-by: Alexander Graf <agraf@suse.de>
hw/ppce500_mpc8544ds.c
pc-bios/mpc8544ds.dtb
pc-bios/mpc8544ds.dts

index 3ec9013..c046206 100644 (file)
@@ -125,6 +125,11 @@ static int mpc8544_load_device_tree(CPUPPCState *env,
                              hypercall, sizeof(hypercall));
     }
 
+    /* Create CPU nodes */
+    qemu_devtree_add_subnode(fdt, "/cpus");
+    qemu_devtree_setprop_cell(fdt, "/cpus", "#address-cells", 1);
+    qemu_devtree_setprop_cell(fdt, "/cpus", "#size-cells", 0);
+
     /* We need to generate the cpu nodes in reverse order, so Linux can pick
        the first node as boot node and be happy */
     for (i = smp_cpus - 1; i >= 0; i--) {
index db9fb70..a85b93c 100644 (file)
Binary files a/pc-bios/mpc8544ds.dtb and b/pc-bios/mpc8544ds.dtb differ
index f46e9ed..1fcb865 100644 (file)
                pci0 = &pci0;
        };
 
-       cpus {
-               #address-cells = <1>;
-               #size-cells = <0>;
-       };
-
        soc8544@e0000000 {
                #address-cells = <1>;
                #size-cells = <1>;