We used skip setting up the zero page as faulting when the SDRAM starts at 0x0. One reason for doing that was that ATAGs will be copied there in that case. Call zero_page_access() if necessary to be able to set the zero page to faulting during barebox startup in the next step. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- arch/arm/lib32/armlinux.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/arm/lib32/armlinux.c b/arch/arm/lib32/armlinux.c index 6cb7d4b5f3..9b2f1f4544 100644 --- a/arch/arm/lib32/armlinux.c +++ b/arch/arm/lib32/armlinux.c @@ -18,6 +18,7 @@ #include <memory.h> #include <of.h> #include <magicvar.h> +#include <zero_page.h> #include <asm/byteorder.h> #include <asm/setup.h> @@ -265,8 +266,12 @@ void start_linux(void *adr, int swap, unsigned long initrd_address, pr_debug("booting kernel with devicetree\n"); params = oftree; } else { - setup_tags(initrd_address, initrd_size, swap); params = armlinux_get_bootparams(); + + if ((unsigned long)params <= PAGE_SIZE) + zero_page_access(); + + setup_tags(initrd_address, initrd_size, swap); } architecture = armlinux_get_architecture(); -- 2.39.2