Modify map_pages

This commit is contained in:
songyanguang
2024-12-19 21:34:23 +08:00
parent a2ed0ee073
commit 197957f202
5 changed files with 69 additions and 41 deletions
@@ -48,6 +48,19 @@ Modification:
#define LEVEL3_PDE_ADDR(v) ALIGNDOWN(v, LEVEL3_PDE_SIZE)
#define TOPLEVLE_PAGEDIR_SIZE sizeof(uintptr_t) * NUM_TOPLEVEL_PDE
//#define PAGE_SHIFT (12)
#define _PAGE_PFN_SHIFT 10
#define PFN_DOWN(x) ((x) >> PAGE_SHIFT)
#define PFN_PGD(x) ((x) << _PAGE_PFN_SHIFT)
#define PFN_PHYS(x) ((x) << PAGE_SHIFT)
#define _PGD_PFN(x) ((x) >> _PAGE_PFN_SHIFT)
#define PFN_PMD PFN_PGD
#define _PMD_PFN _PGD_PFN
#define PFN_PTE PFN_PGD
#define _PTE_PFN _PGD_PFN
// clang-format on
struct PagerRightGroup {
@@ -74,4 +87,5 @@ void load_kern_pgdir(struct TraceTag* mmu_driver_tag, struct TraceTag* intr_driv
void secondary_cpu_load_kern_pgdir(struct TraceTag* mmu_driver_tag, struct TraceTag* intr_driver_tag);
extern struct XiziPageManager xizi_pager;
bool module_pager_init(struct PagerRightGroup*);
bool module_pager_init(struct PagerRightGroup*);
bool _new_pgdir(struct TopLevelPageDirectory* pgdir);