mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-15 21:56:40 +07:00
84022ac173
This enhances the current selftest framework for validating the in-kernel instruction emulation infrastructure by adding support for compute type instructions i.e. integer ALU-based instructions. Originally, this framework was limited to only testing load and store instructions. While most of the GPRs can be validated, support for SPRs is limited to LR, CR and XER for now. When writing the test cases, one must ensure that the Stack Pointer (GPR1) or the Thread Pointer (GPR13) are not touched by any means as these are vital non-volatile registers. Signed-off-by: Sandipan Das <sandipan@linux.ibm.com> [mpe: Use patch_site for the code patching] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
50 lines
1.4 KiB
Makefile
50 lines
1.4 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for ppc-specific library files..
|
|
#
|
|
|
|
ccflags-$(CONFIG_PPC64) := $(NO_MINIMAL_TOC)
|
|
|
|
CFLAGS_REMOVE_code-patching.o = $(CC_FLAGS_FTRACE)
|
|
CFLAGS_REMOVE_feature-fixups.o = $(CC_FLAGS_FTRACE)
|
|
|
|
obj-y += string.o alloc.o code-patching.o feature-fixups.o
|
|
|
|
obj-$(CONFIG_PPC32) += div64.o copy_32.o crtsavres.o strlen_32.o
|
|
|
|
obj-$(CONFIG_FUNCTION_ERROR_INJECTION) += error-inject.o
|
|
|
|
# See corresponding test in arch/powerpc/Makefile
|
|
# 64-bit linker creates .sfpr on demand for final link (vmlinux),
|
|
# so it is only needed for modules, and only for older linkers which
|
|
# do not support --save-restore-funcs
|
|
ifeq ($(call ld-ifversion, -lt, 225000000, y),y)
|
|
extra-$(CONFIG_PPC64) += crtsavres.o
|
|
endif
|
|
|
|
obj-$(CONFIG_PPC_BOOK3S_64) += copyuser_power7.o copypage_power7.o \
|
|
memcpy_power7.o
|
|
|
|
obj64-y += copypage_64.o copyuser_64.o mem_64.o hweight_64.o \
|
|
memcpy_64.o pmem.o
|
|
|
|
obj64-$(CONFIG_SMP) += locks.o
|
|
obj64-$(CONFIG_ALTIVEC) += vmx-helper.o
|
|
obj64-$(CONFIG_KPROBES_SANITY_TEST) += test_emulate_step.o \
|
|
test_emulate_step_exec_instr.o
|
|
|
|
obj-y += checksum_$(BITS).o checksum_wrappers.o \
|
|
string_$(BITS).o memcmp_$(BITS).o
|
|
|
|
obj-y += sstep.o ldstfp.o quad.o
|
|
obj64-y += quad.o
|
|
|
|
obj-$(CONFIG_PPC_LIB_RHEAP) += rheap.o
|
|
|
|
obj-$(CONFIG_FTR_FIXUP_SELFTEST) += feature-fixups-test.o
|
|
|
|
obj-$(CONFIG_ALTIVEC) += xor_vmx.o xor_vmx_glue.o
|
|
CFLAGS_xor_vmx.o += -maltivec $(call cc-option,-mabi=altivec)
|
|
|
|
obj-$(CONFIG_PPC64) += $(obj64-y)
|