summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArd Biesheuvel <ardb@kernel.org>2022-08-22 14:39:49 +0200
committerArd Biesheuvel <ardb@kernel.org>2022-09-20 09:50:31 +0200
commitc5d5cba795e29ad659271a7ed2dbc87ce1104f7c (patch)
treed556acd39685909cce95c0cfe8d8ccad9183dccf
parentf55793403c53ffaaaca43948498ed2b8896d9615 (diff)
loongarch: efi: enable generic EFI compressed boot
Wire up the generic EFI zboot support for LoongArch64 Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
-rw-r--r--arch/loongarch/Makefile9
-rw-r--r--arch/loongarch/boot/.gitignore1
-rw-r--r--arch/loongarch/boot/Makefile6
3 files changed, 13 insertions, 3 deletions
diff --git a/arch/loongarch/Makefile b/arch/loongarch/Makefile
index 4bc47f47cfd8..84689c3ee3af 100644
--- a/arch/loongarch/Makefile
+++ b/arch/loongarch/Makefile
@@ -7,10 +7,13 @@ boot := arch/loongarch/boot
KBUILD_DEFCONFIG := loongson3_defconfig
+image-name-y := vmlinux
+image-name-$(CONFIG_EFI_ZBOOT) := vmlinuz
+
ifndef CONFIG_EFI_STUB
KBUILD_IMAGE := $(boot)/vmlinux.elf
else
-KBUILD_IMAGE := $(boot)/vmlinux.efi
+KBUILD_IMAGE := $(boot)/$(image-name-y).efi
endif
#
@@ -93,11 +96,11 @@ vdso_install:
all: $(notdir $(KBUILD_IMAGE))
-vmlinux.elf vmlinux.efi: vmlinux
+vmlinux.elf vmlinux.efi vmlinuz.efi: vmlinux
$(Q)$(MAKE) $(build)=$(boot) $(bootvars-y) $(boot)/$@
install:
- $(Q)install -D -m 755 $(KBUILD_IMAGE) $(INSTALL_PATH)/vmlinux-$(KERNELRELEASE)
+ $(Q)install -D -m 755 $(KBUILD_IMAGE) $(INSTALL_PATH)/$(image-name-y)-$(KERNELRELEASE)
$(Q)install -D -m 644 .config $(INSTALL_PATH)/config-$(KERNELRELEASE)
$(Q)install -D -m 644 System.map $(INSTALL_PATH)/System.map-$(KERNELRELEASE)
diff --git a/arch/loongarch/boot/.gitignore b/arch/loongarch/boot/.gitignore
index 49423ee96ef3..e5dc594dc4b6 100644
--- a/arch/loongarch/boot/.gitignore
+++ b/arch/loongarch/boot/.gitignore
@@ -1,2 +1,3 @@
# SPDX-License-Identifier: GPL-2.0-only
vmlinux*
+vmlinuz*
diff --git a/arch/loongarch/boot/Makefile b/arch/loongarch/boot/Makefile
index fecf34f50e56..4e1c374c5782 100644
--- a/arch/loongarch/boot/Makefile
+++ b/arch/loongarch/boot/Makefile
@@ -18,3 +18,9 @@ $(obj)/vmlinux.elf: vmlinux FORCE
targets += vmlinux.efi
$(obj)/vmlinux.efi: vmlinux FORCE
$(call if_changed,objcopy)
+
+EFI_ZBOOT_PAYLOAD := vmlinux.efi
+EFI_ZBOOT_BFD_TARGET := elf64-loongarch
+EFI_ZBOOT_MACH_TYPE := LOONGARCH64
+
+include $(srctree)/drivers/firmware/efi/libstub/Makefile.zboot