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 <[email protected]>
Signed-off-by: Heinrich Schuchardt <[email protected]>
---
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
On Tue, Jun 29, 2021 at 6:40 AM Heinrich Schuchardt <[email protected]> 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 <[email protected]>
> Signed-off-by: Heinrich Schuchardt <[email protected]>
> ---
> 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 <[email protected]>
--
Regards,
Atish
On Wed, 30 Jun 2021 at 00:56, Atish Patra <[email protected]> wrote:
>
> On Tue, Jun 29, 2021 at 6:40 AM Heinrich Schuchardt <[email protected]> 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 <[email protected]>
> > Signed-off-by: Heinrich Schuchardt <[email protected]>
> > ---
> > 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 <[email protected]>
>
Acked-by: Ard Biesheuvel <[email protected]>
Please take this via the RISC-V tree.
On Wed, Jun 30, 2021 at 12:30 AM Ard Biesheuvel <[email protected]> wrote:
>
> On Wed, 30 Jun 2021 at 00:56, Atish Patra <[email protected]> wrote:
> >
> > On Tue, Jun 29, 2021 at 6:40 AM Heinrich Schuchardt <[email protected]> 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 <[email protected]>
> > > Signed-off-by: Heinrich Schuchardt <[email protected]>
> > > ---
> > > 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 <[email protected]>
> >
>
> Acked-by: Ard Biesheuvel <[email protected]>
>
> 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 <[email protected]>
> Signed-off-by: Heinrich Schuchardt <[email protected]>
With that patch the image in
http://download.opensuse.org/ports/riscv/tumbleweed/iso/ work again.
Andreas.
--
Andreas Schwab, [email protected]
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1
"And now for something completely different."
On Tue, Jul 6, 2021 at 12:07 PM Andreas Schwab <[email protected]> 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 <[email protected]>
> > Signed-off-by: Heinrich Schuchardt <[email protected]>
>
> 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, [email protected]
> GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1
> "And now for something completely different."
--
Regards,
Atish
On 7/9/21 7:14 PM, Atish Patra wrote:
> On Tue, Jul 6, 2021 at 12:07 PM Andreas Schwab <[email protected]> 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 <[email protected]>
>>> Signed-off-by: Heinrich Schuchardt <[email protected]>
>>
>> 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/[email protected]/
The patch is necessary to boot on QEMU with GRUB with large initrd.
Best regards
Heinrich
>
>> Andreas.
>>
>> --
>> Andreas Schwab, [email protected]
>> 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), [email protected] 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 <[email protected]>
> Signed-off-by: Heinrich Schuchardt <[email protected]>
> ---
> 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.