On Tue, Jan 16, 2024 at 9:15 AM Sasha Levin <sashal@xxxxxxxxxx> wrote: > > From: Thomas Weißschuh <linux@xxxxxxxxxxxxxx> > > [ Upstream commit bdeeeaba83682225a7bf5f100fe8652a59590d33 ] > > qemu for LoongArch does not work properly with direct kernel boot. > The kernel will panic during initialization and hang without any output. > > When booting in EFI mode everything work correctly. > > While users most likely don't have the LoongArch EFI binary installed at > least an explicit error about 'file not found' is better than a hanging > test without output that can never succeed. > > Link: https://lore.kernel.org/loongarch/1738d60a-df3a-4102-b1da-d16a29b6e06a@xxxxxxxx/ > Signed-off-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx> > Acked-by: Willy Tarreau <w@xxxxxx> > Link: https://lore.kernel.org/r/20231031-nolibc-out-of-tree-v1-1-47c92f73590a@xxxxxxxxxxxxxx > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> > --- > Makefile | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) This backport makes me upset. The original commit, bdeeeaba83682225a7bf5f100fe8652a59590d33, changed tools/testing/selftests/nolibc/Makefile. However, this backport changes the top Makefile. What is happening in the back-port logic? > diff --git a/Makefile b/Makefile > index 500edb9d9f15..33d118fbb432 100644 > --- a/Makefile > +++ b/Makefile > @@ -584,6 +584,13 @@ ifdef config-build > # *config targets only - make sure prerequisites are updated, and descend > # in scripts/kconfig to make the *config target > > +QEMU_BIOS_DIR = /usr/share/edk2/ > +QEMU_BIOS_loongarch = $(QEMU_BIOS_DIR)/loongarch64/OVMF_CODE.fd > + > +ifneq ($(QEMU_BIOS_$(XARCH)),) > +QEMU_ARGS_BIOS = -bios $(QEMU_BIOS_$(XARCH)) > +endif > + > # Read arch specific Makefile to set KBUILD_DEFCONFIG as needed. > # KBUILD_DEFCONFIG may point out an alternative default configuration > # used for 'make defconfig' > @@ -1375,7 +1382,7 @@ _modinst_: > @sed 's:^:kernel/:' modules.order > $(MODLIB)/modules.order > @sed 's:^:kernel/:' modules.builtin > $(MODLIB)/modules.builtin > @cp -f $(objtree)/modules.builtin.modinfo $(MODLIB)/ > - $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst > + $(Q)$(MAKE) $(QEMU_ARGS_BIOS) -f $(srctree)/scripts/Makefile.modinst > > # This depmod is only for convenience to give the initial > # boot a modules.dep even before / is mounted read-write. However the > -- > 2.43.0 > -- Best Regards Masahiro Yamada