Skip to content

Commit cef3139

Browse files
CFSworksffainelli
authored andcommitted
arm64: dts: broadcom: bcmbca: bcm4908: Reserve CFE stub area
The CFE bootloader places a stub program in the first page of physical memory to hold the secondary CPUs until the boot CPU writes the release address, but does not splice a /reserved-memory node into the FDT to protect it. If Linux overwrites this program before execution reaches smp_prepare_cpus(), the secondary CPUs may become inaccessible. This is only a problem with CFE, and then only until the secondary CPUs are brought online. Ideally, there would be some hypothetical mechanism we could use to indicate that this area of memory is sensitive only during boot. But as there is none, and since it is such a small amount of memory, it is easiest to reserve it unconditionally. Therefore, add a /reserved-memory node to bcm4908.dtsi to protect the first 4KiB of physical memory. Signed-off-by: Sam Edwards <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Florian Fainelli <[email protected]>
1 parent 44308ef commit cef3139

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,16 @@
6868
};
6969
};
7070

71+
reserved-memory {
72+
#address-cells = <2>;
73+
#size-cells = <2>;
74+
ranges;
75+
76+
cfe-stub@0 {
77+
reg = <0x0 0x0 0x0 0x1000>;
78+
};
79+
};
80+
7181
axi@81000000 {
7282
compatible = "simple-bus";
7383
#address-cells = <1>;

0 commit comments

Comments
 (0)