Commit 9ee571d8 authored by Michael Ellerman's avatar Michael Ellerman

selftests/powerpc: Update the stack expansion test

Update the stack expansion load/store test to take into account the
new allowance of 4224 bytes below the stack pointer.
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200724092528.1578671-3-mpe@ellerman.id.au
parent 63dee5df
...@@ -186,17 +186,17 @@ static void test_one_type(enum access_type type, unsigned long page_size, unsign ...@@ -186,17 +186,17 @@ static void test_one_type(enum access_type type, unsigned long page_size, unsign
// But if we go past the rlimit it should fail // But if we go past the rlimit it should fail
assert(test_one(DEFAULT_SIZE, rlim_cur + 1, type) != 0); assert(test_one(DEFAULT_SIZE, rlim_cur + 1, type) != 0);
// Above 1MB powerpc only allows accesses within 2048 bytes of // Above 1MB powerpc only allows accesses within 4224 bytes of
// r1 for accesses that aren't stdu // r1 for accesses that aren't stdu
assert(test_one(1 * _MB + page_size - 128, -2048, type) == 0); assert(test_one(1 * _MB + page_size - 128, -4224, type) == 0);
#ifdef __powerpc__ #ifdef __powerpc__
assert(test_one(1 * _MB + page_size - 128, -2049, type) != 0); assert(test_one(1 * _MB + page_size - 128, -4225, type) != 0);
#else #else
assert(test_one(1 * _MB + page_size - 128, -2049, type) == 0); assert(test_one(1 * _MB + page_size - 128, -4225, type) == 0);
#endif #endif
// By consuming 2MB of stack we test the stdu case // By consuming 2MB of stack we test the stdu case
assert(test_one(2 * _MB + page_size - 128, -2048, type) == 0); assert(test_one(2 * _MB + page_size - 128, -4224, type) == 0);
} }
static int test(void) static int test(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment