mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 20:54:10 +08:00
45dd403da8
The EFI zboot code is not built as part of the kernel proper, like the ordinary EFI stub, but still needs access to symbols that are defined only internally in the kernel, and are left unexposed deliberately to avoid creating ABI inadvertently that we're stuck with later. So capture the kernel code size of the kernel image, and inject it as an ELF symbol into the object that contains the compressed payload, where it will be accessible to zboot code that needs it. Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Acked-by: Mark Rutland <mark.rutland@arm.com>
51 lines
1.3 KiB
Makefile
51 lines
1.3 KiB
Makefile
#
|
|
# arch/arm64/boot/Makefile
|
|
#
|
|
# This file is included by the global makefile so that you can add your own
|
|
# architecture-specific flags and dependencies.
|
|
#
|
|
# This file is subject to the terms and conditions of the GNU General Public
|
|
# License. See the file "COPYING" in the main directory of this archive
|
|
# for more details.
|
|
#
|
|
# Copyright (C) 2012, ARM Ltd.
|
|
# Author: Will Deacon <will.deacon@arm.com>
|
|
#
|
|
# Based on the ia64 boot/Makefile.
|
|
#
|
|
|
|
OBJCOPYFLAGS_Image :=-O binary -R .note -R .note.gnu.build-id -R .comment -S
|
|
|
|
targets := Image Image.bz2 Image.gz Image.lz4 Image.lzma Image.lzo Image.zst
|
|
|
|
$(obj)/Image: vmlinux FORCE
|
|
$(call if_changed,objcopy)
|
|
|
|
$(obj)/Image.bz2: $(obj)/Image FORCE
|
|
$(call if_changed,bzip2)
|
|
|
|
$(obj)/Image.gz: $(obj)/Image FORCE
|
|
$(call if_changed,gzip)
|
|
|
|
$(obj)/Image.lz4: $(obj)/Image FORCE
|
|
$(call if_changed,lz4)
|
|
|
|
$(obj)/Image.lzma: $(obj)/Image FORCE
|
|
$(call if_changed,lzma)
|
|
|
|
$(obj)/Image.lzo: $(obj)/Image FORCE
|
|
$(call if_changed,lzo)
|
|
|
|
$(obj)/Image.zst: $(obj)/Image FORCE
|
|
$(call if_changed,zstd)
|
|
|
|
EFI_ZBOOT_PAYLOAD := Image
|
|
EFI_ZBOOT_BFD_TARGET := elf64-littleaarch64
|
|
EFI_ZBOOT_MACH_TYPE := ARM64
|
|
EFI_ZBOOT_FORWARD_CFI := $(CONFIG_ARM64_BTI_KERNEL)
|
|
|
|
EFI_ZBOOT_OBJCOPY_FLAGS = --add-symbol zboot_code_size=0x$(shell \
|
|
$(NM) vmlinux|grep _kernel_codesize|cut -d' ' -f1)
|
|
|
|
include $(srctree)/drivers/firmware/efi/libstub/Makefile.zboot
|