[PATCH] ARM: dts: bcm283x: Reserve first page for firmware

Stefan Wahren stefan.wahren at i2se.com
Tue May 9 02:03:36 PDT 2017


Hi Phil,

Am 09.05.2017 um 10:20 schrieb Phil Elwell:
> The Raspberry Pi startup stub files for multi-core BCM283X processors
> make the secondary CPUs spin until the corresponding mailbox is
> written. These stubs are loaded at physical address 0x00000xxx (as seen
> by the ARMs), but this page will be reused by the kernel unless it is
> explicitly reserved, causing the waiting cores to execute random code.
>
> Use the /memreserve/ Device Tree directive to mark the first page as
> off-limits to the kernel.
>
> See: https://github.com/raspberrypi/linux/issues/1989
>
> Signed-off-by: Phil Elwell <phil at raspberrypi.org>
> ---
>  arch/arm/boot/dts/bcm2710-rpi-3-b.dts | 4 ----

could you please rebase your patch on a upstream tree (e.g. linux-next)?
There has never been such a file.

>  arch/arm/boot/dts/bcm283x.dtsi        | 2 ++
>  2 files changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts
> index b21d286..cbec919 100644
> --- a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts
> +++ b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts
> @@ -1,9 +1,5 @@
>  /dts-v1/;
>  
> -#ifdef RPI364
> -/memreserve/ 0x00000000 0x00001000;
> -#endif
> -
>  #include "bcm2710.dtsi"
>  #include "bcm283x-rpi-smsc9514.dtsi"
>  
> diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
> index 7d58cd7..0bc1932 100644
> --- a/arch/arm/boot/dts/bcm283x.dtsi
> +++ b/arch/arm/boot/dts/bcm283x.dtsi
> @@ -3,6 +3,8 @@
>  #include <dt-bindings/clock/bcm2835-aux.h>
>  #include <dt-bindings/gpio/gpio.h>
>  
> +/memreserve/ 0x00000000 0x00001000;
> +

Would be nice to have a short comment within the dtsi file explaining
what this reserve contains.

Thanks
Stefan

>  /* This include file covers the common peripherals and configuration between
>   * bcm2835 and bcm2836 implementations, leaving the CPU configuration to
>   * bcm2835.dtsi and bcm2836.dtsi.





More information about the linux-rpi-kernel mailing list