Merge branch 'jh7110_debug' into prepare_for_master

This commit is contained in:
songyanguang
2025-01-24 17:52:12 +08:00
97 changed files with 5617 additions and 31 deletions
@@ -107,4 +107,4 @@ void KBuddyDestory(struct KBuddy* pbuddy);
/*
* Print current free pages for debug.
*/
void KFreePagesInfo(struct KBuddy* pbuddy);
void KFreePagesInfo(struct KBuddy* pbuddy);
@@ -35,7 +35,7 @@ Modification:
#define OUTPUT_LEVLE_DEBUG 1
#define OUTPUT_LEVLE_ERROR 2
#define OUTPUT_LEVEL_TEST 3
#define OUTPUT_LEVLE_TEST 3
#define OUTPUT_LEVLE OUTPUT_LEVLE_DEBUG
// #define OUTPUT_LEVLE OUTPUT_LEVLE_LOG
@@ -56,6 +56,7 @@ struct MemSpace {
/* task memory resources */
struct TopLevelPageDirectory pgdir; // [phy] vm pgtbl base address
struct TopLevelPageDirectory pgdir_riscv; // [phy] vm pgtbl base address
uintptr_t heap_base; // mem size of proc used(allocated by kernel)
uintptr_t mem_size;
/* task communication mem resources */
@@ -37,7 +37,11 @@ struct CPU {
int cpuid;
struct Thread* task;
#ifndef __riscv
struct context* scheduler;
#else
struct context scheduler;
#endif
};
extern struct CPU global_cpus[NR_CPU];
@@ -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*);