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: Charlie Jenkins <charlie@rivosinc.com>
Fixes: 73d05262a2
("selftests: riscv: Generalize mm selftests")
Link: https://lore.kernel.org/r/20240808-mmap_tests__fixes-v1-1-b1344b642a84@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
This commit is contained in:
parent
594ffcf4ef
commit
11c2dbd7f2
@ -48,11 +48,11 @@ uint32_t random_addresses[] = {
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Only works on 64 bit
|
|
||||||
#if __riscv_xlen == 64
|
|
||||||
#define PROT (PROT_READ | PROT_WRITE)
|
#define PROT (PROT_READ | PROT_WRITE)
|
||||||
#define FLAGS (MAP_PRIVATE | MAP_ANONYMOUS)
|
#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. */
|
/* 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)
|
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 */
|
#endif /* __riscv_xlen == 64 */
|
||||||
|
|
||||||
|
#define TEST_MMAPS do { } while (0)
|
||||||
|
|
||||||
static inline int memory_layout(void)
|
static inline int memory_layout(void)
|
||||||
{
|
{
|
||||||
void *value1 = mmap(NULL, sizeof(int), PROT, FLAGS, 0, 0);
|
void *value1 = mmap(NULL, sizeof(int), PROT, FLAGS, 0, 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user