1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 298c45f51SPaul MackerrasTEST_GEN_PROGS := copyuser_64_t0 copyuser_64_t1 copyuser_64_t2 \ 398c45f51SPaul Mackerras copyuser_p7_t0 copyuser_p7_t1 \ 498c45f51SPaul Mackerras memcpy_64_t0 memcpy_64_t1 memcpy_64_t2 \ 5ec6347bbSDan Williams memcpy_p7_t0 memcpy_p7_t1 copy_mc_64 \ 62504e5b9SRitesh Harjani copyuser_64_exc_t0 copyuser_64_exc_t1 copyuser_64_exc_t2 \ 72504e5b9SRitesh Harjani memmove_64 898c45f51SPaul Mackerras 92679f63fSMichael EllermanEXTRA_SOURCES := validate.c ../harness.c stubs.S 1022d651dcSMichael Ellerman 117e0cf1c9SMichael Ellermantop_srcdir = ../../../../.. 1288baa78dSbamvor.zhangjian@huawei.cominclude ../../lib.mk 13*108e5e68SMadhavan Srinivasaninclude ../flags.mk 1422d651dcSMichael Ellerman 1537496845SMadhavan Srinivasan# The loops are all 64-bit code 1637496845SMadhavan SrinivasanCFLAGS += -m64 1737496845SMadhavan SrinivasanCFLAGS += -I$(CURDIR) 1837496845SMadhavan SrinivasanCFLAGS += -D SELFTEST 1937496845SMadhavan SrinivasanCFLAGS += -maltivec 2037496845SMadhavan SrinivasanCFLAGS += -mcpu=power4 2137496845SMadhavan Srinivasan 2237496845SMadhavan Srinivasan# Use our CFLAGS for the implicit .S rule & set the asm machine type 2337496845SMadhavan SrinivasanASFLAGS = $(CFLAGS) -Wa,-mpower4 2437496845SMadhavan Srinivasan 2598c45f51SPaul Mackerras$(OUTPUT)/copyuser_64_t%: copyuser_64.S $(EXTRA_SOURCES) 2698c45f51SPaul Mackerras $(CC) $(CPPFLAGS) $(CFLAGS) \ 2798c45f51SPaul Mackerras -D COPY_LOOP=test___copy_tofrom_user_base \ 2898c45f51SPaul Mackerras -D SELFTEST_CASE=$(subst copyuser_64_t,,$(notdir $@)) \ 2998c45f51SPaul Mackerras -o $@ $^ 3022d651dcSMichael Ellerman 3198c45f51SPaul Mackerras$(OUTPUT)/copyuser_p7_t%: copyuser_power7.S $(EXTRA_SOURCES) 3298c45f51SPaul Mackerras $(CC) $(CPPFLAGS) $(CFLAGS) \ 3398c45f51SPaul Mackerras -D COPY_LOOP=test___copy_tofrom_user_power7 \ 3498c45f51SPaul Mackerras -D SELFTEST_CASE=$(subst copyuser_p7_t,,$(notdir $@)) \ 3598c45f51SPaul Mackerras -o $@ $^ 3698c45f51SPaul Mackerras 3798c45f51SPaul Mackerras# Strictly speaking, we only need the memcpy_64 test cases for big-endian 3898c45f51SPaul Mackerras$(OUTPUT)/memcpy_64_t%: memcpy_64.S $(EXTRA_SOURCES) 3998c45f51SPaul Mackerras $(CC) $(CPPFLAGS) $(CFLAGS) \ 4098c45f51SPaul Mackerras -D COPY_LOOP=test_memcpy \ 4198c45f51SPaul Mackerras -D SELFTEST_CASE=$(subst memcpy_64_t,,$(notdir $@)) \ 4298c45f51SPaul Mackerras -o $@ $^ 4398c45f51SPaul Mackerras 4498c45f51SPaul Mackerras$(OUTPUT)/memcpy_p7_t%: memcpy_power7.S $(EXTRA_SOURCES) 4598c45f51SPaul Mackerras $(CC) $(CPPFLAGS) $(CFLAGS) \ 4698c45f51SPaul Mackerras -D COPY_LOOP=test_memcpy_power7 \ 4798c45f51SPaul Mackerras -D SELFTEST_CASE=$(subst memcpy_p7_t,,$(notdir $@)) \ 4898c45f51SPaul Mackerras -o $@ $^ 492679f63fSMichael Ellerman 50ec6347bbSDan Williams$(OUTPUT)/copy_mc_64: copy_mc_64.S $(EXTRA_SOURCES) 516f62a822SSantosh Sivaraj $(CC) $(CPPFLAGS) $(CFLAGS) \ 52ec6347bbSDan Williams -D COPY_LOOP=test_copy_mc_generic \ 536f62a822SSantosh Sivaraj -o $@ $^ 546f62a822SSantosh Sivaraj 552679f63fSMichael Ellerman$(OUTPUT)/copyuser_64_exc_t%: copyuser_64.S exc_validate.c ../harness.c \ 562679f63fSMichael Ellerman copy_tofrom_user_reference.S stubs.S 572679f63fSMichael Ellerman $(CC) $(CPPFLAGS) $(CFLAGS) \ 582679f63fSMichael Ellerman -D COPY_LOOP=test___copy_tofrom_user_base \ 592679f63fSMichael Ellerman -D SELFTEST_CASE=$(subst copyuser_64_exc_t,,$(notdir $@)) \ 602679f63fSMichael Ellerman -o $@ $^ 612504e5b9SRitesh Harjani 622504e5b9SRitesh Harjani$(OUTPUT)/memmove_64: mem_64.S memcpy_64.S memmove_validate.c ../harness.c \ 632504e5b9SRitesh Harjani memcpy_stubs.S 642504e5b9SRitesh Harjani $(CC) $(CPPFLAGS) $(CFLAGS) \ 652504e5b9SRitesh Harjani -D TEST_MEMMOVE=test_memmove \ 662504e5b9SRitesh Harjani -o $@ $^ 67