1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 222d651dcSMichael Ellerman# The loops are all 64-bit code 322d651dcSMichael EllermanCFLAGS += -m64 422d651dcSMichael EllermanCFLAGS += -I$(CURDIR) 522d651dcSMichael EllermanCFLAGS += -D SELFTEST 68edcee0eSMichael EllermanCFLAGS += -maltivec 798c45f51SPaul MackerrasCFLAGS += -mcpu=power4 822d651dcSMichael Ellerman 9b6f534d1SMichael Ellerman# Use our CFLAGS for the implicit .S rule & set the asm machine type 10b6f534d1SMichael EllermanASFLAGS = $(CFLAGS) -Wa,-mpower4 1122d651dcSMichael Ellerman 1298c45f51SPaul MackerrasTEST_GEN_PROGS := copyuser_64_t0 copyuser_64_t1 copyuser_64_t2 \ 1398c45f51SPaul Mackerras copyuser_p7_t0 copyuser_p7_t1 \ 1498c45f51SPaul Mackerras memcpy_64_t0 memcpy_64_t1 memcpy_64_t2 \ 15*ec6347bbSDan Williams memcpy_p7_t0 memcpy_p7_t1 copy_mc_64 \ 162679f63fSMichael Ellerman copyuser_64_exc_t0 copyuser_64_exc_t1 copyuser_64_exc_t2 1798c45f51SPaul Mackerras 182679f63fSMichael EllermanEXTRA_SOURCES := validate.c ../harness.c stubs.S 1922d651dcSMichael Ellerman 207e0cf1c9SMichael Ellermantop_srcdir = ../../../../.. 2188baa78dS[email protected]include ../../lib.mk 2222d651dcSMichael Ellerman 2398c45f51SPaul Mackerras$(OUTPUT)/copyuser_64_t%: copyuser_64.S $(EXTRA_SOURCES) 2498c45f51SPaul Mackerras $(CC) $(CPPFLAGS) $(CFLAGS) \ 2598c45f51SPaul Mackerras -D COPY_LOOP=test___copy_tofrom_user_base \ 2698c45f51SPaul Mackerras -D SELFTEST_CASE=$(subst copyuser_64_t,,$(notdir $@)) \ 2798c45f51SPaul Mackerras -o $@ $^ 2822d651dcSMichael Ellerman 2998c45f51SPaul Mackerras$(OUTPUT)/copyuser_p7_t%: copyuser_power7.S $(EXTRA_SOURCES) 3098c45f51SPaul Mackerras $(CC) $(CPPFLAGS) $(CFLAGS) \ 3198c45f51SPaul Mackerras -D COPY_LOOP=test___copy_tofrom_user_power7 \ 3298c45f51SPaul Mackerras -D SELFTEST_CASE=$(subst copyuser_p7_t,,$(notdir $@)) \ 3398c45f51SPaul Mackerras -o $@ $^ 3498c45f51SPaul Mackerras 3598c45f51SPaul Mackerras# Strictly speaking, we only need the memcpy_64 test cases for big-endian 3698c45f51SPaul Mackerras$(OUTPUT)/memcpy_64_t%: memcpy_64.S $(EXTRA_SOURCES) 3798c45f51SPaul Mackerras $(CC) $(CPPFLAGS) $(CFLAGS) \ 3898c45f51SPaul Mackerras -D COPY_LOOP=test_memcpy \ 3998c45f51SPaul Mackerras -D SELFTEST_CASE=$(subst memcpy_64_t,,$(notdir $@)) \ 4098c45f51SPaul Mackerras -o $@ $^ 4198c45f51SPaul Mackerras 4298c45f51SPaul Mackerras$(OUTPUT)/memcpy_p7_t%: memcpy_power7.S $(EXTRA_SOURCES) 4398c45f51SPaul Mackerras $(CC) $(CPPFLAGS) $(CFLAGS) \ 4498c45f51SPaul Mackerras -D COPY_LOOP=test_memcpy_power7 \ 4598c45f51SPaul Mackerras -D SELFTEST_CASE=$(subst memcpy_p7_t,,$(notdir $@)) \ 4698c45f51SPaul Mackerras -o $@ $^ 472679f63fSMichael Ellerman 48*ec6347bbSDan Williams$(OUTPUT)/copy_mc_64: copy_mc_64.S $(EXTRA_SOURCES) 496f62a822SSantosh Sivaraj $(CC) $(CPPFLAGS) $(CFLAGS) \ 50*ec6347bbSDan Williams -D COPY_LOOP=test_copy_mc_generic \ 516f62a822SSantosh Sivaraj -o $@ $^ 526f62a822SSantosh Sivaraj 532679f63fSMichael Ellerman$(OUTPUT)/copyuser_64_exc_t%: copyuser_64.S exc_validate.c ../harness.c \ 542679f63fSMichael Ellerman copy_tofrom_user_reference.S stubs.S 552679f63fSMichael Ellerman $(CC) $(CPPFLAGS) $(CFLAGS) \ 562679f63fSMichael Ellerman -D COPY_LOOP=test___copy_tofrom_user_base \ 572679f63fSMichael Ellerman -D SELFTEST_CASE=$(subst copyuser_64_exc_t,,$(notdir $@)) \ 582679f63fSMichael Ellerman -o $@ $^ 59