Makefile 1.7 KB

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