1*b06fab00SAlexandre Ghiti // SPDX-License-Identifier: GPL-2.0-only
2*b06fab00SAlexandre Ghiti #include <sys/mman.h>
3*b06fab00SAlexandre Ghiti #include <mmap_test.h>
4*b06fab00SAlexandre Ghiti 
5*b06fab00SAlexandre Ghiti #include "../../kselftest_harness.h"
6*b06fab00SAlexandre Ghiti 
TEST(infinite_rlimit)7*b06fab00SAlexandre Ghiti TEST(infinite_rlimit)
8*b06fab00SAlexandre Ghiti {
9*b06fab00SAlexandre Ghiti // Only works on 64 bit
10*b06fab00SAlexandre Ghiti #if __riscv_xlen == 64
11*b06fab00SAlexandre Ghiti 	struct addresses mmap_addresses;
12*b06fab00SAlexandre Ghiti 
13*b06fab00SAlexandre Ghiti 	EXPECT_EQ(BOTTOM_UP, memory_layout());
14*b06fab00SAlexandre Ghiti 
15*b06fab00SAlexandre Ghiti 	do_mmaps(&mmap_addresses);
16*b06fab00SAlexandre Ghiti 
17*b06fab00SAlexandre Ghiti 	EXPECT_NE(MAP_FAILED, mmap_addresses.no_hint);
18*b06fab00SAlexandre Ghiti 	EXPECT_NE(MAP_FAILED, mmap_addresses.on_37_addr);
19*b06fab00SAlexandre Ghiti 	EXPECT_NE(MAP_FAILED, mmap_addresses.on_38_addr);
20*b06fab00SAlexandre Ghiti 	EXPECT_NE(MAP_FAILED, mmap_addresses.on_46_addr);
21*b06fab00SAlexandre Ghiti 	EXPECT_NE(MAP_FAILED, mmap_addresses.on_47_addr);
22*b06fab00SAlexandre Ghiti 	EXPECT_NE(MAP_FAILED, mmap_addresses.on_55_addr);
23*b06fab00SAlexandre Ghiti 	EXPECT_NE(MAP_FAILED, mmap_addresses.on_56_addr);
24*b06fab00SAlexandre Ghiti 
25*b06fab00SAlexandre Ghiti 	EXPECT_GT(1UL << 47, (unsigned long)mmap_addresses.no_hint);
26*b06fab00SAlexandre Ghiti 	EXPECT_GT(1UL << 38, (unsigned long)mmap_addresses.on_37_addr);
27*b06fab00SAlexandre Ghiti 	EXPECT_GT(1UL << 38, (unsigned long)mmap_addresses.on_38_addr);
28*b06fab00SAlexandre Ghiti 	EXPECT_GT(1UL << 38, (unsigned long)mmap_addresses.on_46_addr);
29*b06fab00SAlexandre Ghiti 	EXPECT_GT(1UL << 47, (unsigned long)mmap_addresses.on_47_addr);
30*b06fab00SAlexandre Ghiti 	EXPECT_GT(1UL << 47, (unsigned long)mmap_addresses.on_55_addr);
31*b06fab00SAlexandre Ghiti 	EXPECT_GT(1UL << 56, (unsigned long)mmap_addresses.on_56_addr);
32*b06fab00SAlexandre Ghiti #endif
33*b06fab00SAlexandre Ghiti }
34*b06fab00SAlexandre Ghiti 
35*b06fab00SAlexandre Ghiti TEST_HARNESS_MAIN
36