mirror of
https://github.com/torvalds/linux.git
synced 2026-04-29 12:02:35 -04:00
Parse the device tree for Zkr in the isa string. If Zkr is present, use it to seed the kernel base address. On an ACPI system, as of this commit, there is no easy way to check if Zkr is present. Blindly running the instruction isn't an option as; we have to be able to trust the firmware. Signed-off-by: Jesse Taube <jesse@rivosinc.com> Reviewed-by: Charlie Jenkins <charlie@rivosinc.com> Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com> Tested-by: Zong Li <zong.li@sifive.com> Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Link: https://lore.kernel.org/r/20240709173937.510084-5-jesse@rivosinc.com Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
39 lines
1.3 KiB
Makefile
39 lines
1.3 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
# This file was copied from arm64/kernel/pi/Makefile.
|
|
|
|
KBUILD_CFLAGS := $(subst $(CC_FLAGS_FTRACE),,$(KBUILD_CFLAGS)) -fpie \
|
|
-Os -DDISABLE_BRANCH_PROFILING $(DISABLE_STACKLEAK_PLUGIN) \
|
|
$(call cc-option,-mbranch-protection=none) \
|
|
-I$(srctree)/scripts/dtc/libfdt -fno-stack-protector \
|
|
-include $(srctree)/include/linux/hidden.h \
|
|
-D__DISABLE_EXPORTS -ffreestanding \
|
|
-fno-asynchronous-unwind-tables -fno-unwind-tables \
|
|
$(call cc-option,-fno-addrsig)
|
|
|
|
# Disable LTO
|
|
KBUILD_CFLAGS := $(filter-out $(CC_FLAGS_LTO), $(KBUILD_CFLAGS))
|
|
|
|
KBUILD_CFLAGS += -mcmodel=medany
|
|
|
|
CFLAGS_cmdline_early.o += -D__NO_FORTIFY
|
|
CFLAGS_lib-fdt_ro.o += -D__NO_FORTIFY
|
|
CFLAGS_fdt_early.o += -D__NO_FORTIFY
|
|
|
|
$(obj)/%.pi.o: OBJCOPYFLAGS := --prefix-symbols=__pi_ \
|
|
--remove-section=.note.gnu.property \
|
|
--prefix-alloc-sections=.init.pi
|
|
$(obj)/%.pi.o: $(obj)/%.o FORCE
|
|
$(call if_changed,objcopy)
|
|
|
|
$(obj)/lib-%.o: $(srctree)/lib/%.c FORCE
|
|
$(call if_changed_rule,cc_o_c)
|
|
|
|
$(obj)/string.o: $(srctree)/lib/string.c FORCE
|
|
$(call if_changed_rule,cc_o_c)
|
|
|
|
$(obj)/ctype.o: $(srctree)/lib/ctype.c FORCE
|
|
$(call if_changed_rule,cc_o_c)
|
|
|
|
obj-y := cmdline_early.pi.o fdt_early.pi.o string.pi.o ctype.pi.o lib-fdt.pi.o lib-fdt_ro.pi.o archrandom_early.pi.o
|
|
extra-y := $(patsubst %.pi.o,%.o,$(obj-y))
|