[PATCH 1/2] ARM: set zero page accessible before copying ATAGs there
Ahmad Fatoum
a.fatoum at pengutronix.de
Wed May 31 03:08:54 PDT 2023
On 31.05.23 12:01, Sascha Hauer wrote:
> 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 at pengutronix.de>
> ---
> 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();
Just < should be enough, no?
> +
> + setup_tags(initrd_address, initrd_size, swap);
> }
> architecture = armlinux_get_architecture();
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list