summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/aarch64/bits/uClibc_page.h
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/aarch64/bits/uClibc_page.h')
-rwxr-xr-xlibc/sysdeps/linux/aarch64/bits/uClibc_page.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/aarch64/bits/uClibc_page.h b/libc/sysdeps/linux/aarch64/bits/uClibc_page.h
new file mode 100755
index 000000000..4f92abcf8
--- /dev/null
+++ b/libc/sysdeps/linux/aarch64/bits/uClibc_page.h
@@ -0,0 +1,25 @@
+/*
+ * Licensed under the LGPL v2.1 or later, see the file COPYING.LIB in this tarball.
+ */
+
+#ifndef _UCLIBC_PAGE_H
+#define _UCLIBC_PAGE_H
+
+/*
+ * AARCH64 supports 4k, 16k, 64k pages (build time).
+ */
+
+#include <features.h>
+
+#if defined(__CONFIG_AARCH64_PAGE_SIZE_64K__)
+#define PAGE_SHIFT 16
+#elif defined(__CONFIG_AARCH64_PAGE_SIZE_16K__)
+#define PAGE_SHIFT 14
+#else
+#define PAGE_SHIFT 12
+#endif
+
+#define PAGE_SIZE (1UL << PAGE_SHIFT)
+#define PAGE_MASK (~(PAGE_SIZE-1))
+
+#endif /* _UCLIBC_PAGE_H */