diff options
Diffstat (limited to 'arch/riscv/include')
| -rw-r--r-- | arch/riscv/include/pages.h | 46 |
1 files changed, 5 insertions, 41 deletions
diff --git a/arch/riscv/include/pages.h b/arch/riscv/include/pages.h index 9e16c00..1533f7b 100644 --- a/arch/riscv/include/pages.h +++ b/arch/riscv/include/pages.h @@ -2,50 +2,14 @@ #define APOS_RISCV_PAGES_H #include <apos/types.h> +#include <apos/pmem.h> -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 mm_mpages { - lockbit_t lockbit[64]; - pagemask_t empty[64]; - pagemask_t full[64]; - struct mm_kpages kilo[512]; -}; - -/* Sv39 */ -struct mm_gpages { - lockbit_t lockbit[64]; - pagemask_t empty[64]; - pagemask_t full[64]; - struct mm_mpages mega[512]; -}; - -struct mm_tpages { - lockbit_t lockbit[64]; - pagemask_t empty[64]; - pagemask_t full[64]; - struct mm_gpages giga[512]; -}; - -struct mm_ptinfo { - short tera_num; - struct terapages *tera_top; - - short giga_num; - struct gigapages *giga_top; - - short mega_num; - struct megapages *mega_top; - - short kilo_num; - struct kilopages *kilo_top; -}; +#define MM_KPAGE MM_O0 +#define MM_MPAGE MM_O1 +#define MM_GPAGE MM_O2 +#define MM_TPAGE MM_O3 #endif /* APOS_RISCV_PAGES_H */ |
