On Thu, 22 Sept 2022 at 15:19, Ard Biesheuvel <ardb@xxxxxxxxxx> wrote: > > On Thu, 22 Sept 2022 at 15:18, Ard Biesheuvel <ardb@xxxxxxxxxx> wrote: > > > > On Thu, 22 Sept 2022 at 15:12, Huacai Chen <chenhuacai@xxxxxxxxxx> wrote: > > > > > > On Thu, Sep 22, 2022 at 9:10 PM Ard Biesheuvel <ardb@xxxxxxxxxx> wrote: > > > > > > > > On Thu, 22 Sept 2022 at 15:09, Huacai Chen <chenhuacai@xxxxxxxxxx> wrote: > > > > > > > > > > On Thu, Sep 22, 2022 at 8:50 PM Ard Biesheuvel <ardb@xxxxxxxxxx> wrote: > > > > > > > > > > > > On Thu, 22 Sept 2022 at 14:08, Huacai Chen <chenhuacai@xxxxxxxxxx> wrote: > > > > > > > > > > > > > > Hi, Ard, > > > > > > > > > > > > > > On Thu, Sep 22, 2022 at 4:59 PM Ard Biesheuvel <ardb@xxxxxxxxxx> wrote: > > > > > > > > > > > > > > > > On Thu, 22 Sept 2022 at 09:42, Huacai Chen <chenhuacai@xxxxxxxxxx> wrote: > > > > > > > > > > > > > > > > > > On Thu, Sep 22, 2022 at 3:25 PM Ard Biesheuvel <ardb@xxxxxxxxxx> wrote: > > > > > > > > > > > > > > > > > > > > On Thu, 22 Sept 2022 at 09:22, Huacai Chen <chenhuacai@xxxxxxxxxx> wrote: > > > > > > > > > > > > > > > > > > > > > > On Thu, Sep 22, 2022 at 3:13 PM Ard Biesheuvel <ardb@xxxxxxxxxx> wrote: > > > > > > > > > > > > > > > > > > > > > > > > On Thu, 22 Sept 2022 at 04:15, Huacai Chen <chenhuacai@xxxxxxxxxx> wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Sep 21, 2022 at 4:15 PM Ard Biesheuvel <ardb@xxxxxxxxxx> wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, 21 Sept 2022 at 06:02, Huacai Chen <chenhuacai@xxxxxxxxxx> wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Acked-by: Huacai Chen <chenhuacai@xxxxxxxxxxx> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thank you Huacai > > > > > > > > > > > > > > > > > > > > > > > > > > > > I have created a separate tag with these patches applied onto the > > > > > > > > > > > > > > first loongarch efi enablement patch (see below) > > > > > > > > > > > > > > > > > > > > > > > > > > > > I would prefer to keep the loongarch trees separate for the next merge > > > > > > > > > > > > > > window, but if needed to avoid massive conflicts, you could merge the > > > > > > > > > > > > > > tag into the loongarch tree and rebase your changes on top. But please > > > > > > > > > > > > > > take care not to rebase those patches themselves: the commit SHAs need > > > > > > > > > > > > > > to remain the same. > > > > > > > > > > > > > > > > > > > > > > > > > > > > However, if the conflicts are only minor, you can just explain in your > > > > > > > > > > > > > > PR to Linus what the resolution should look like. > > > > > > > > > > > > > > > > > > > > > > > > > > > > The tag can be found here: > > > > > > > > > > > > > > https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git/tag/?h=efi-loongarch-for-v6.1-2 > > > > > > > > > > > > > > > > > > > > > > > > > > > > I have merged this into the EFI tree as well and pushed it out; it > > > > > > > > > > > > > > should appear in -next tomorrow. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > b093dc55ba9a efi/loongarch: libstub: remove dependency on flattened DT > > > > > > > > > > > > > > 102faf0747c2 efi: libstub: install boot-time memory map as config table > > > > > > > > > > > > > > 7318926e7bc9 efi: libstub: remove DT dependency from generic stub > > > > > > > > > > > > > > 7cb6671e3caa efi: libstub: unify initrd loading between architectures > > > > > > > > > > > > > > > > > > > > > > > > I will have to respin the initrd patch, unfortunately, as it breaks > > > > > > > > > > > > x86. So the signed tag will be updated, and the SHAs above will change > > > > > > > > > > > > as well. > > > > > > > > > > > Emm, initrd is also broken on LoongArch, the core kernel gets an > > > > > > > > > > > EFI_INVALID_TABLE_ADDR address. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > OK, I will investigate. This was working fine before so I'm not sure > > > > > > > > > > what happened there. > > > > > > > > > > > > > > > > > > > > > > > > > > I cannot reproduce this. Can you reproduce it with qemu? If so, can > > > > > > > > you share your command line and .config etc? > > > > > > > In qemu we also OK, but on a real machine efistub fails at > > > > > > > efi_bs_call(locate_device_path, &lf2_proto_guid, &dp, &handle), maybe > > > > > > > our UEFI BIOS has some problems? On a real machine we use grub and > > > > > > > there is no "initrd" command in UEFI shell. > > > > > > > > > > > > > > > > > > > Ah ok, so i guess your GRUB lacks the LoadFile2 patches? > > > > > > > > > > > > https://lists.gnu.org/archive/html/grub-devel/2022-09/msg00057.html > > > > > Maybe it is a GRUB problem (I'll discuss with GRUB team), but why > > > > > without this series the GRUB can load initrd? Because in the old way > > > > > UEFI BIOS fill initrd information to FDT? > > > > > > > > > > > > > No GRUB loads the initrd and creates a DT with a /chosen node to > > > > record the initrd base and size. > > > Without this series, efistub also fails at > > > efi_bs_call(locate_device_path, &lf2_proto_guid, &dp, &handle), but > > > initrd works well, this makes me puzzled. > > > > > > > That is because you don't have DTB support in the core kernel yet right? > > Never mind - what exact commit are you testing this with? OK, so the existing code only does early_init_dt_scan(fdt_ptr); early_init_fdt_reserve_self(); efi_system_table = efi_get_fdt_params(&data); so it never parses the /chosen node, and therefore does not discover the initrd. I suppose you may have been running with the loongson-2k patches? But actually, this describes exactly the problem that I am addressing with this series: you have been inadvertently relying on DT hardware support for initrd functionality ...