selftests/powerpc/64: Test all paths through copy routines
The hand-coded assembler 64-bit copy routines include feature sections that select one code path or another depending on which CPU we are executing on. The self-tests for these copy routines end up testing just one path. This adds a mechanism for selecting any desired code path at compile time, and makes 2 or 3 versions of each test, each using a different code path, so as to cover all the possible paths. Signed-off-by: Paul Mackerras <paulus@ozlabs.org> [mpe: Add -mcpu=power4 to CFLAGS for older compilers] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Esse commit está contido em:

commit de
Michael Ellerman

pai
a7c81ce398
commit
98c45f51f7
@@ -43,17 +43,16 @@ FUNC_START(enter_vmx_ops)
|
||||
FUNC_START(exit_vmx_ops)
|
||||
blr
|
||||
|
||||
FUNC_START(memcpy_power7)
|
||||
blr
|
||||
|
||||
FUNC_START(__copy_tofrom_user_power7)
|
||||
blr
|
||||
|
||||
FUNC_START(__copy_tofrom_user_base)
|
||||
blr
|
||||
|
||||
#define BEGIN_FTR_SECTION
|
||||
#define FTR_SECTION_ELSE
|
||||
#define ALT_FTR_SECTION_END_IFCLR(x)
|
||||
#define ALT_FTR_SECTION_END(x, y)
|
||||
#define END_FTR_SECTION_IFCLR(x)
|
||||
#define BEGIN_FTR_SECTION .if test_feature
|
||||
#define FTR_SECTION_ELSE .else
|
||||
#define ALT_FTR_SECTION_END_IFCLR(x) .endif
|
||||
#define ALT_FTR_SECTION_END_IFSET(x) .endif
|
||||
#define ALT_FTR_SECTION_END(x, y) .endif
|
||||
#define END_FTR_SECTION_IFCLR(x) .endif
|
||||
#define END_FTR_SECTION_IFSET(x) .endif
|
||||
|
||||
/* Default to taking the first of any alternative feature sections */
|
||||
test_feature = 1
|
||||
|
Referência em uma nova issue
Block a user