mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 02:50:49 +09:00
ANDROID: KVM: arm64: Move gen-hyprel into a tool directory
In order to allow re-use of the gen-hyprel tool to build hypervisor modules in the future, move it up to the arm64 tools folder. Bug: 244543039 Bug: 244373730 Change-Id: I188a2dac1acf4974213499970cc29552807497eb Signed-off-by: Quentin Perret <qperret@google.com>
This commit is contained in:
@@ -190,6 +190,11 @@ ifeq ($(CONFIG_ARM64_USE_LSE_ATOMICS),y)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_KVM),y)
|
||||
archscripts:
|
||||
$(Q)$(MAKE) $(build)=arch/arm64/tools gen-hyprel
|
||||
endif
|
||||
|
||||
ifeq ($(KBUILD_EXTMOD),)
|
||||
# We need to generate vdso-offsets.h before compiling certain files in kernel/.
|
||||
# In order to do that, we should use the archprepare target, but we can't since
|
||||
|
||||
1
arch/arm64/kvm/hyp/nvhe/.gitignore
vendored
1
arch/arm64/kvm/hyp/nvhe/.gitignore
vendored
@@ -1,4 +1,3 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
gen-hyprel
|
||||
hyp.lds
|
||||
hyp-reloc.S
|
||||
|
||||
@@ -14,8 +14,7 @@ ccflags-y += -fno-stack-protector \
|
||||
-DDISABLE_BRANCH_PROFILING \
|
||||
$(DISABLE_STACKLEAK_PLUGIN)
|
||||
|
||||
hostprogs := gen-hyprel
|
||||
HOST_EXTRACFLAGS += -I$(objtree)/include
|
||||
HYPREL := arch/arm64/tools/gen-hyprel
|
||||
|
||||
lib-objs := clear_page.o copy_page.o memcpy.o memset.o
|
||||
lib-objs := $(addprefix ../../../lib/, $(lib-objs))
|
||||
@@ -66,7 +65,7 @@ $(obj)/kvm_nvhe.tmp.o: $(obj)/hyp.lds $(addprefix $(obj)/,$(hyp-obj)) FORCE
|
||||
# runtime. Because the hypervisor is part of the kernel binary, relocations
|
||||
# produce a kernel VA. We enumerate relocations targeting hyp at build time
|
||||
# and convert the kernel VAs at those positions to hyp VAs.
|
||||
$(obj)/hyp-reloc.S: $(obj)/kvm_nvhe.tmp.o $(obj)/gen-hyprel FORCE
|
||||
$(obj)/hyp-reloc.S: $(obj)/kvm_nvhe.tmp.o FORCE
|
||||
$(call if_changed,hyprel)
|
||||
|
||||
# 5) Compile hyp-reloc.S and link it into the existing partially linked object.
|
||||
@@ -85,7 +84,7 @@ $(obj)/kvm_nvhe.o: $(obj)/kvm_nvhe.rel.o FORCE
|
||||
# The HYPREL command calls `gen-hyprel` to generate an assembly file with
|
||||
# a list of relocations targeting hyp code/data.
|
||||
quiet_cmd_hyprel = HYPREL $@
|
||||
cmd_hyprel = $(obj)/gen-hyprel $< > $@
|
||||
cmd_hyprel = $(HYPREL) $< > $@
|
||||
|
||||
# The HYPCOPY command uses `objcopy` to prefix all ELF symbol names
|
||||
# to avoid clashes with VHE code/data.
|
||||
|
||||
2
arch/arm64/tools/.gitignore
vendored
Normal file
2
arch/arm64/tools/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
gen-hyprel
|
||||
@@ -22,3 +22,7 @@ $(kapi)/cpucaps.h: $(src)/gen-cpucaps.awk $(src)/cpucaps FORCE
|
||||
|
||||
$(kapi)/sysreg-defs.h: $(src)/gen-sysreg.awk $(src)/sysreg FORCE
|
||||
$(call if_changed,gen_sysreg)
|
||||
|
||||
HOST_EXTRACFLAGS += -I$(objtree)/include
|
||||
hostprogs += gen-hyprel
|
||||
gen-hyprel: $(obj)/gen-hyprel
|
||||
|
||||
Reference in New Issue
Block a user