xref: /openbmc/linux/arch/arm64/kvm/hyp/nvhe/Makefile (revision 7621712918ad4f5e6356193d9058debf657a6254)
1*76217129SDavid Brazdil# SPDX-License-Identifier: GPL-2.0
2*76217129SDavid Brazdil#
3*76217129SDavid Brazdil# Makefile for Kernel-based Virtual Machine module, HYP/nVHE part
4*76217129SDavid Brazdil#
5*76217129SDavid Brazdil
6*76217129SDavid Brazdilasflags-y := -D__KVM_NVHE_HYPERVISOR__
7*76217129SDavid Brazdilccflags-y := -D__KVM_NVHE_HYPERVISOR__
8*76217129SDavid Brazdil
9*76217129SDavid Brazdilobj-y :=
10*76217129SDavid Brazdil
11*76217129SDavid Brazdilobj-y := $(patsubst %.o,%.hyp.o,$(obj-y))
12*76217129SDavid Brazdilextra-y := $(patsubst %.hyp.o,%.hyp.tmp.o,$(obj-y))
13*76217129SDavid Brazdil
14*76217129SDavid Brazdil$(obj)/%.hyp.tmp.o: $(src)/%.c FORCE
15*76217129SDavid Brazdil	$(call if_changed_rule,cc_o_c)
16*76217129SDavid Brazdil$(obj)/%.hyp.tmp.o: $(src)/%.S FORCE
17*76217129SDavid Brazdil	$(call if_changed_rule,as_o_S)
18*76217129SDavid Brazdil$(obj)/%.hyp.o: $(obj)/%.hyp.tmp.o FORCE
19*76217129SDavid Brazdil	$(call if_changed,hypcopy)
20*76217129SDavid Brazdil
21*76217129SDavid Brazdilquiet_cmd_hypcopy = HYPCOPY $@
22*76217129SDavid Brazdil      cmd_hypcopy = $(OBJCOPY) --prefix-symbols=__kvm_nvhe_ $< $@
23*76217129SDavid Brazdil
24*76217129SDavid Brazdil# KVM nVHE code is run at a different exception code with a different map, so
25*76217129SDavid Brazdil# compiler instrumentation that inserts callbacks or checks into the code may
26*76217129SDavid Brazdil# cause crashes. Just disable it.
27*76217129SDavid BrazdilGCOV_PROFILE	:= n
28*76217129SDavid BrazdilKASAN_SANITIZE	:= n
29*76217129SDavid BrazdilUBSAN_SANITIZE	:= n
30*76217129SDavid BrazdilKCOV_INSTRUMENT	:= n
31*76217129SDavid Brazdil
32*76217129SDavid Brazdil# Skip objtool checking for this directory because nVHE code is compiled with
33*76217129SDavid Brazdil# non-standard build rules.
34*76217129SDavid BrazdilOBJECT_FILES_NON_STANDARD := y
35