Merge tag 'powerpc-6.6-6' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc...
[platform/kernel/linux-starfive.git] / tools / testing / selftests / riscv / mm / mmap_bottomup.c
1 // SPDX-License-Identifier: GPL-2.0-only
2 #include <sys/mman.h>
3 #include <mmap_test.h>
4
5 #include "../../kselftest_harness.h"
6
7 TEST(infinite_rlimit)
8 {
9 // Only works on 64 bit
10 #if __riscv_xlen == 64
11         struct addresses mmap_addresses;
12
13         EXPECT_EQ(BOTTOM_UP, memory_layout());
14
15         do_mmaps(&mmap_addresses);
16
17         EXPECT_NE(MAP_FAILED, mmap_addresses.no_hint);
18         EXPECT_NE(MAP_FAILED, mmap_addresses.on_37_addr);
19         EXPECT_NE(MAP_FAILED, mmap_addresses.on_38_addr);
20         EXPECT_NE(MAP_FAILED, mmap_addresses.on_46_addr);
21         EXPECT_NE(MAP_FAILED, mmap_addresses.on_47_addr);
22         EXPECT_NE(MAP_FAILED, mmap_addresses.on_55_addr);
23         EXPECT_NE(MAP_FAILED, mmap_addresses.on_56_addr);
24
25         EXPECT_GT(1UL << 47, (unsigned long)mmap_addresses.no_hint);
26         EXPECT_GT(1UL << 38, (unsigned long)mmap_addresses.on_37_addr);
27         EXPECT_GT(1UL << 38, (unsigned long)mmap_addresses.on_38_addr);
28         EXPECT_GT(1UL << 38, (unsigned long)mmap_addresses.on_46_addr);
29         EXPECT_GT(1UL << 47, (unsigned long)mmap_addresses.on_47_addr);
30         EXPECT_GT(1UL << 47, (unsigned long)mmap_addresses.on_55_addr);
31         EXPECT_GT(1UL << 56, (unsigned long)mmap_addresses.on_56_addr);
32 #endif
33 }
34
35 TEST_HARNESS_MAIN