Re: [PATCH] arm: Add support for ZSTD compressed kernel

From: Russell King - ARM Linux admin
Date: Thu Aug 06 2020 - 06:12:41 EST


On Thu, Aug 06, 2020 at 10:45:42AM +0200, Norbert Lange wrote:
> Am Do., 6. Aug. 2020 um 02:30 Uhr schrieb Russell King - ARM Linux
> admin <linux@xxxxxxxxxxxxxxx>:
> >
> > On Thu, Aug 06, 2020 at 01:05:55AM +0200, Norbert Lange wrote:
> > > diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
> > > index 434a16982e34..1af01bfe6638 100644
> > > --- a/arch/arm/boot/compressed/head.S
> > > +++ b/arch/arm/boot/compressed/head.S
> > > @@ -614,7 +614,11 @@ not_relocated: mov r0, #0
> > > */
> > > mov r0, r4
> > > mov r1, sp @ malloc space above stack
> > > +#if defined(CONFIG_KERNEL_ZSTD)
> > > + add r2, sp, #0x30000 @ Context needs ~160K
> >
> > That's going to mess up kexec:
> >
> > /*
> > * The zImage length does not include its stack (4k) or its
> > * malloc space (64k). Include this.
> > */
> > len += 0x11000;
> >
> > I guess we need to add this to the information provided to kexec.
>
> Ouch, I guess it's rather impossible to load a new ZSTD kernel with a old
> kexec version in that case.
>
> Some ideas to fix that would be:
>
> - Increase the padding to "192K + 4K is enough for everyone" in kexec
> - Add the required/recommended stack+heap size to zImage so kexec can use it.

This is definitely preferred. See patches - though this is only the
kernel side. The first I've had for some time and isn't related to
this issue.

--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!