1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 298c45f51SPaul MackerrasTEST_GEN_PROGS := copyuser_64_t0 copyuser_64_t1 copyuser_64_t2 \ 3*146c9ab3SSayali Patil copyuser_p7 copyuser_p7_vmx \ 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 13108e5e68SMadhavan 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 31*146c9ab3SSayali Patil$(OUTPUT)/copyuser_p7: copyuser_power7.S $(EXTRA_SOURCES) 3298c45f51SPaul Mackerras $(CC) $(CPPFLAGS) $(CFLAGS) \ 3398c45f51SPaul Mackerras -D COPY_LOOP=test___copy_tofrom_user_power7 \ 34*146c9ab3SSayali Patil -o $@ $^ 35*146c9ab3SSayali Patil 36*146c9ab3SSayali Patil$(OUTPUT)/copyuser_p7_vmx: copyuser_power7.S $(EXTRA_SOURCES) ../utils.c 37*146c9ab3SSayali Patil $(CC) $(CPPFLAGS) $(CFLAGS) \ 38*146c9ab3SSayali Patil -D COPY_LOOP=test___copy_tofrom_user_power7_vmx \ 39*146c9ab3SSayali Patil -D VMX_TEST \ 4098c45f51SPaul Mackerras -o $@ $^ 4198c45f51SPaul Mackerras 4298c45f51SPaul Mackerras# Strictly speaking, we only need the memcpy_64 test cases for big-endian 4398c45f51SPaul Mackerras$(OUTPUT)/memcpy_64_t%: memcpy_64.S $(EXTRA_SOURCES) 4498c45f51SPaul Mackerras $(CC) $(CPPFLAGS) $(CFLAGS) \ 4598c45f51SPaul Mackerras -D COPY_LOOP=test_memcpy \ 4698c45f51SPaul Mackerras -D SELFTEST_CASE=$(subst memcpy_64_t,,$(notdir $@)) \ 4798c45f51SPaul Mackerras -o $@ $^ 4898c45f51SPaul Mackerras 4998c45f51SPaul Mackerras$(OUTPUT)/memcpy_p7_t%: memcpy_power7.S $(EXTRA_SOURCES) 5098c45f51SPaul Mackerras $(CC) $(CPPFLAGS) $(CFLAGS) \ 5198c45f51SPaul Mackerras -D COPY_LOOP=test_memcpy_power7 \ 5298c45f51SPaul Mackerras -D SELFTEST_CASE=$(subst memcpy_p7_t,,$(notdir $@)) \ 5398c45f51SPaul Mackerras -o $@ $^ 542679f63fSMichael Ellerman 55ec6347bbSDan Williams$(OUTPUT)/copy_mc_64: copy_mc_64.S $(EXTRA_SOURCES) 566f62a822SSantosh Sivaraj $(CC) $(CPPFLAGS) $(CFLAGS) \ 57ec6347bbSDan Williams -D COPY_LOOP=test_copy_mc_generic \ 586f62a822SSantosh Sivaraj -o $@ $^ 596f62a822SSantosh Sivaraj 602679f63fSMichael Ellerman$(OUTPUT)/copyuser_64_exc_t%: copyuser_64.S exc_validate.c ../harness.c \ 612679f63fSMichael Ellerman copy_tofrom_user_reference.S stubs.S 622679f63fSMichael Ellerman $(CC) $(CPPFLAGS) $(CFLAGS) \ 632679f63fSMichael Ellerman -D COPY_LOOP=test___copy_tofrom_user_base \ 642679f63fSMichael Ellerman -D SELFTEST_CASE=$(subst copyuser_64_exc_t,,$(notdir $@)) \ 652679f63fSMichael Ellerman -o $@ $^ 662504e5b9SRitesh Harjani 672504e5b9SRitesh Harjani$(OUTPUT)/memmove_64: mem_64.S memcpy_64.S memmove_validate.c ../harness.c \ 682504e5b9SRitesh Harjani memcpy_stubs.S 692504e5b9SRitesh Harjani $(CC) $(CPPFLAGS) $(CFLAGS) \ 702504e5b9SRitesh Harjani -D TEST_MEMMOVE=test_memmove \ 712504e5b9SRitesh Harjani -o $@ $^ 72