Commit 11c2dbd7 authored by Charlie Jenkins's avatar Charlie Jenkins Committed by Palmer Dabbelt

selftests: riscv: Allow mmap test to compile on 32-bit

Macros needed for 32-bit compilations were hidden behind 64-bit riscv
ifdefs. Fix the 32-bit compilations by moving macros to allow the
memory_layout test to run on 32-bit.
Signed-off-by: default avatarCharlie Jenkins <charlie@rivosinc.com>
Fixes: 73d05262 ("selftests: riscv: Generalize mm selftests")
Link: https://lore.kernel.org/r/20240808-mmap_tests__fixes-v1-1-b1344b642a84@rivosinc.comSigned-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
parent 594ffcf4
......@@ -48,11 +48,11 @@ uint32_t random_addresses[] = {
};
#endif
// Only works on 64 bit
#if __riscv_xlen == 64
#define PROT (PROT_READ | PROT_WRITE)
#define FLAGS (MAP_PRIVATE | MAP_ANONYMOUS)
// Only works on 64 bit
#if __riscv_xlen == 64
/* mmap must return a value that doesn't use more bits than the hint address. */
static inline unsigned long get_max_value(unsigned long input)
{
......@@ -80,6 +80,8 @@ static inline unsigned long get_max_value(unsigned long input)
})
#endif /* __riscv_xlen == 64 */
#define TEST_MMAPS do { } while (0)
static inline int memory_layout(void)
{
void *value1 = mmap(NULL, sizeof(int), PROT, FLAGS, 0, 0);
......
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