Message ID | 20210629134018.62859-1-xypron.glpk@gmx.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/1] RISC-V: load initrd wherever it fits into memory | expand |
On Tue, Jun 29, 2021 at 6:40 AM Heinrich Schuchardt <xypron.glpk@gmx.de> wrote: > > Requiring that initrd is loaded below RAM start + 256 MiB led to failure > to boot SUSE Linux with GRUB on QEMU, cf. > https://lists.gnu.org/archive/html/grub-devel/2021-06/msg00037.html > > Remove the constraint. > > Reported-by: Andreas Schwab <schwab@linux-m68k.org> > Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> > --- > arch/riscv/include/asm/efi.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/riscv/include/asm/efi.h b/arch/riscv/include/asm/efi.h > index 7542282f1141..649ab513dc99 100644 > --- a/arch/riscv/include/asm/efi.h > +++ b/arch/riscv/include/asm/efi.h > @@ -33,10 +33,10 @@ static inline unsigned long efi_get_max_fdt_addr(unsigned long image_addr) > > #define ARCH_EFI_IRQ_FLAGS_MASK (SR_IE | SR_SPIE) > > -/* Load initrd at enough distance from DRAM start */ > +/* Load initrd anywhere in system RAM */ > static inline unsigned long efi_get_max_initrd_addr(unsigned long image_addr) > { > - return image_addr + SZ_256M; > + return ULONG_MAX; > } > > #define alloc_screen_info(x...) (&screen_info) > -- > 2.30.2 > LGTM Reviewed-by: Atish Patra <atish.patra@wdc.com> -- Regards, Atish
On Wed, 30 Jun 2021 at 00:56, Atish Patra <atishp@atishpatra.org> wrote: > > On Tue, Jun 29, 2021 at 6:40 AM Heinrich Schuchardt <xypron.glpk@gmx.de> wrote: > > > > Requiring that initrd is loaded below RAM start + 256 MiB led to failure > > to boot SUSE Linux with GRUB on QEMU, cf. > > https://lists.gnu.org/archive/html/grub-devel/2021-06/msg00037.html > > > > Remove the constraint. > > > > Reported-by: Andreas Schwab <schwab@linux-m68k.org> > > Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> > > --- > > arch/riscv/include/asm/efi.h | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/arch/riscv/include/asm/efi.h b/arch/riscv/include/asm/efi.h > > index 7542282f1141..649ab513dc99 100644 > > --- a/arch/riscv/include/asm/efi.h > > +++ b/arch/riscv/include/asm/efi.h > > @@ -33,10 +33,10 @@ static inline unsigned long efi_get_max_fdt_addr(unsigned long image_addr) > > > > #define ARCH_EFI_IRQ_FLAGS_MASK (SR_IE | SR_SPIE) > > > > -/* Load initrd at enough distance from DRAM start */ > > +/* Load initrd anywhere in system RAM */ > > static inline unsigned long efi_get_max_initrd_addr(unsigned long image_addr) > > { > > - return image_addr + SZ_256M; > > + return ULONG_MAX; > > } > > > > #define alloc_screen_info(x...) (&screen_info) > > -- > > 2.30.2 > > > > LGTM > > Reviewed-by: Atish Patra <atish.patra@wdc.com> > Acked-by: Ard Biesheuvel <ardb@kernel.org> Please take this via the RISC-V tree.
On Wed, Jun 30, 2021 at 12:30 AM Ard Biesheuvel <ardb@kernel.org> wrote: > > On Wed, 30 Jun 2021 at 00:56, Atish Patra <atishp@atishpatra.org> wrote: > > > > On Tue, Jun 29, 2021 at 6:40 AM Heinrich Schuchardt <xypron.glpk@gmx.de> wrote: > > > > > > Requiring that initrd is loaded below RAM start + 256 MiB led to failure > > > to boot SUSE Linux with GRUB on QEMU, cf. > > > https://lists.gnu.org/archive/html/grub-devel/2021-06/msg00037.html > > > > > > Remove the constraint. > > > > > > Reported-by: Andreas Schwab <schwab@linux-m68k.org> > > > Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> > > > --- > > > arch/riscv/include/asm/efi.h | 4 ++-- > > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > > > diff --git a/arch/riscv/include/asm/efi.h b/arch/riscv/include/asm/efi.h > > > index 7542282f1141..649ab513dc99 100644 > > > --- a/arch/riscv/include/asm/efi.h > > > +++ b/arch/riscv/include/asm/efi.h > > > @@ -33,10 +33,10 @@ static inline unsigned long efi_get_max_fdt_addr(unsigned long image_addr) > > > > > > #define ARCH_EFI_IRQ_FLAGS_MASK (SR_IE | SR_SPIE) > > > > > > -/* Load initrd at enough distance from DRAM start */ > > > +/* Load initrd anywhere in system RAM */ Alex/Anup/Palmer: As per my understanding initrd can be loaded in system RAM as long as it doesn't overwrite the existing data (fdt/kernel image) and respect reserved memory regions. Let us know if we have any inherent memory location limitation for initrd loading. > > > static inline unsigned long efi_get_max_initrd_addr(unsigned long image_addr) > > > { > > > - return image_addr + SZ_256M; > > > + return ULONG_MAX; > > > } > > > > > > #define alloc_screen_info(x...) (&screen_info) > > > -- > > > 2.30.2 > > > > > > > LGTM > > > > Reviewed-by: Atish Patra <atish.patra@wdc.com> > > > > Acked-by: Ard Biesheuvel <ardb@kernel.org> > > Please take this via the RISC-V tree. -- Regards, Atish
On Jun 29 2021, Heinrich Schuchardt wrote: > Requiring that initrd is loaded below RAM start + 256 MiB led to failure > to boot SUSE Linux with GRUB on QEMU, cf. > https://lists.gnu.org/archive/html/grub-devel/2021-06/msg00037.html > > Remove the constraint. > > Reported-by: Andreas Schwab <schwab@linux-m68k.org> > Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> With that patch the image in http://download.opensuse.org/ports/riscv/tumbleweed/iso/ work again. Andreas.
On Tue, Jul 6, 2021 at 12:07 PM Andreas Schwab <schwab@linux-m68k.org> wrote: > > On Jun 29 2021, Heinrich Schuchardt wrote: > > > Requiring that initrd is loaded below RAM start + 256 MiB led to failure > > to boot SUSE Linux with GRUB on QEMU, cf. > > https://lists.gnu.org/archive/html/grub-devel/2021-06/msg00037.html > > > > Remove the constraint. > > > > Reported-by: Andreas Schwab <schwab@linux-m68k.org> > > Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> > > With that patch the image in > http://download.opensuse.org/ports/riscv/tumbleweed/iso/ work again. > Thanks. @palmer: Can you take this one in this cycle ? > Andreas. > > -- > Andreas Schwab, schwab@linux-m68k.org > GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 > "And now for something completely different."
On 7/9/21 7:14 PM, Atish Patra wrote: > On Tue, Jul 6, 2021 at 12:07 PM Andreas Schwab <schwab@linux-m68k.org> wrote: >> >> On Jun 29 2021, Heinrich Schuchardt wrote: >> >>> Requiring that initrd is loaded below RAM start + 256 MiB led to failure >>> to boot SUSE Linux with GRUB on QEMU, cf. >>> https://lists.gnu.org/archive/html/grub-devel/2021-06/msg00037.html >>> >>> Remove the constraint. >>> >>> Reported-by: Andreas Schwab <schwab@linux-m68k.org> >>> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> >> >> With that patch the image in >> http://download.opensuse.org/ports/riscv/tumbleweed/iso/ work again. >> > > Thanks. > @palmer: Can you take this one in this cycle ? @Palmer, Paul, Albert Ard suggested to move this patch through linux-riscv. Could you please review the patch available at https://lore.kernel.org/linux-riscv/20210629134018.62859-1-xypron.glpk@gmx.de/ The patch is necessary to boot on QEMU with GRUB with large initrd. Best regards Heinrich > >> Andreas. >> >> -- >> Andreas Schwab, schwab@linux-m68k.org >> GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 >> "And now for something completely different." > > >
On Tue, 29 Jun 2021 06:40:18 PDT (-0700), xypron.glpk@gmx.de wrote: > Requiring that initrd is loaded below RAM start + 256 MiB led to failure > to boot SUSE Linux with GRUB on QEMU, cf. > https://lists.gnu.org/archive/html/grub-devel/2021-06/msg00037.html > > Remove the constraint. > > Reported-by: Andreas Schwab <schwab@linux-m68k.org> > Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> > --- > arch/riscv/include/asm/efi.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/riscv/include/asm/efi.h b/arch/riscv/include/asm/efi.h > index 7542282f1141..649ab513dc99 100644 > --- a/arch/riscv/include/asm/efi.h > +++ b/arch/riscv/include/asm/efi.h > @@ -33,10 +33,10 @@ static inline unsigned long efi_get_max_fdt_addr(unsigned long image_addr) > > #define ARCH_EFI_IRQ_FLAGS_MASK (SR_IE | SR_SPIE) > > -/* Load initrd at enough distance from DRAM start */ > +/* Load initrd anywhere in system RAM */ > static inline unsigned long efi_get_max_initrd_addr(unsigned long image_addr) > { > - return image_addr + SZ_256M; > + return ULONG_MAX; > } > > #define alloc_screen_info(x...) (&screen_info) Thanks, this is on fixes.
diff --git a/arch/riscv/include/asm/efi.h b/arch/riscv/include/asm/efi.h index 7542282f1141..649ab513dc99 100644 --- a/arch/riscv/include/asm/efi.h +++ b/arch/riscv/include/asm/efi.h @@ -33,10 +33,10 @@ static inline unsigned long efi_get_max_fdt_addr(unsigned long image_addr) #define ARCH_EFI_IRQ_FLAGS_MASK (SR_IE | SR_SPIE) -/* Load initrd at enough distance from DRAM start */ +/* Load initrd anywhere in system RAM */ static inline unsigned long efi_get_max_initrd_addr(unsigned long image_addr) { - return image_addr + SZ_256M; + return ULONG_MAX; } #define alloc_screen_info(x...) (&screen_info)
Requiring that initrd is loaded below RAM start + 256 MiB led to failure to boot SUSE Linux with GRUB on QEMU, cf. https://lists.gnu.org/archive/html/grub-devel/2021-06/msg00037.html Remove the constraint. Reported-by: Andreas Schwab <schwab@linux-m68k.org> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> --- arch/riscv/include/asm/efi.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 2.30.2