Makefile 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. # SPDX-License-Identifier: GPL-2.0
  2. TEST_GEN_PROGS := copyuser_64_t0 copyuser_64_t1 copyuser_64_t2 \
  3. copyuser_p7_t0 copyuser_p7_t1 \
  4. memcpy_64_t0 memcpy_64_t1 memcpy_64_t2 \
  5. memcpy_p7_t0 memcpy_p7_t1 copy_mc_64 \
  6. copyuser_64_exc_t0 copyuser_64_exc_t1 copyuser_64_exc_t2 \
  7. memmove_64
  8. EXTRA_SOURCES := validate.c ../harness.c stubs.S
  9. top_srcdir = ../../../../..
  10. include ../../lib.mk
  11. include ../flags.mk
  12. # The loops are all 64-bit code
  13. CFLAGS += -m64
  14. CFLAGS += -I$(CURDIR)
  15. CFLAGS += -D SELFTEST
  16. CFLAGS += -maltivec
  17. CFLAGS += -mcpu=power4
  18. # Use our CFLAGS for the implicit .S rule & set the asm machine type
  19. ASFLAGS = $(CFLAGS) -Wa,-mpower4
  20. $(OUTPUT)/copyuser_64_t%: copyuser_64.S $(EXTRA_SOURCES)
  21. $(CC) $(CPPFLAGS) $(CFLAGS) \
  22. -D COPY_LOOP=test___copy_tofrom_user_base \
  23. -D SELFTEST_CASE=$(subst copyuser_64_t,,$(notdir $@)) \
  24. -o $@ $^
  25. $(OUTPUT)/copyuser_p7_t%: copyuser_power7.S $(EXTRA_SOURCES)
  26. $(CC) $(CPPFLAGS) $(CFLAGS) \
  27. -D COPY_LOOP=test___copy_tofrom_user_power7 \
  28. -D SELFTEST_CASE=$(subst copyuser_p7_t,,$(notdir $@)) \
  29. -o $@ $^
  30. # Strictly speaking, we only need the memcpy_64 test cases for big-endian
  31. $(OUTPUT)/memcpy_64_t%: memcpy_64.S $(EXTRA_SOURCES)
  32. $(CC) $(CPPFLAGS) $(CFLAGS) \
  33. -D COPY_LOOP=test_memcpy \
  34. -D SELFTEST_CASE=$(subst memcpy_64_t,,$(notdir $@)) \
  35. -o $@ $^
  36. $(OUTPUT)/memcpy_p7_t%: memcpy_power7.S $(EXTRA_SOURCES)
  37. $(CC) $(CPPFLAGS) $(CFLAGS) \
  38. -D COPY_LOOP=test_memcpy_power7 \
  39. -D SELFTEST_CASE=$(subst memcpy_p7_t,,$(notdir $@)) \
  40. -o $@ $^
  41. $(OUTPUT)/copy_mc_64: copy_mc_64.S $(EXTRA_SOURCES)
  42. $(CC) $(CPPFLAGS) $(CFLAGS) \
  43. -D COPY_LOOP=test_copy_mc_generic \
  44. -o $@ $^
  45. $(OUTPUT)/copyuser_64_exc_t%: copyuser_64.S exc_validate.c ../harness.c \
  46. copy_tofrom_user_reference.S stubs.S
  47. $(CC) $(CPPFLAGS) $(CFLAGS) \
  48. -D COPY_LOOP=test___copy_tofrom_user_base \
  49. -D SELFTEST_CASE=$(subst copyuser_64_exc_t,,$(notdir $@)) \
  50. -o $@ $^
  51. $(OUTPUT)/memmove_64: mem_64.S memcpy_64.S memmove_validate.c ../harness.c \
  52. memcpy_stubs.S
  53. $(CC) $(CPPFLAGS) $(CFLAGS) \
  54. -D TEST_MEMMOVE=test_memmove \
  55. -o $@ $^