aboutsummaryrefslogtreecommitdiff
path: root/arch/riscv/include/pages.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/riscv/include/pages.h')
-rw-r--r--arch/riscv/include/pages.h24
1 files changed, 14 insertions, 10 deletions
diff --git a/arch/riscv/include/pages.h b/arch/riscv/include/pages.h
index 4ae2ab9..9e16c00 100644
--- a/arch/riscv/include/pages.h
+++ b/arch/riscv/include/pages.h
@@ -1,36 +1,40 @@
#ifndef APOS_RISCV_PAGES_H
#define APOS_RISCV_PAGES_H
-typedef char pagemask_t;
-typedef char lockbit_t;
+#include <apos/types.h>
-struct kilopages {
+typedef uint8_t pagemask_t;
+typedef uint8_t lockbit_t;
+/* assume riscv64 for now */
+typedef uint64_t pm_t;
+
+struct mm_kpages {
pagemask_t page[64];
};
-struct megapages {
+struct mm_mpages {
lockbit_t lockbit[64];
pagemask_t empty[64];
pagemask_t full[64];
- struct kilopages kilo[512];
+ struct mm_kpages kilo[512];
};
/* Sv39 */
-struct gigapages {
+struct mm_gpages {
lockbit_t lockbit[64];
pagemask_t empty[64];
pagemask_t full[64];
- struct megapages mega[512];
+ struct mm_mpages mega[512];
};
-struct terapages {
+struct mm_tpages {
lockbit_t lockbit[64];
pagemask_t empty[64];
pagemask_t full[64];
- struct gigapages giga[512];
+ struct mm_gpages giga[512];
};
-struct mm_pagearr_info {
+struct mm_ptinfo {
short tera_num;
struct terapages *tera_top;