From 37fa3a52977c642f2e71d63bdd935d8c11441f95 Mon Sep 17 00:00:00 2001 From: Matthias Kruk Date: Thu, 19 Sep 2019 18:39:49 +0900 Subject: [PATCH] Rename struct region's reg_flags member to reg_type --- kernel/arch/paging.c | 25 +++++++++++++++++++++---- kernel/arch/paging.h | 2 +- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/kernel/arch/paging.c b/kernel/arch/paging.c index 2ce5d49..cf8e7d0 100644 --- a/kernel/arch/paging.c +++ b/kernel/arch/paging.c @@ -126,6 +126,20 @@ void* pg_frame_alloc_end(void) return(NULL); } +#if FEATURE(DEBUG) +static void _pg_dir_debug_regions(pg_dir_t *pd) +{ + struct region *reg; + + for(reg = pd->pd_regions; reg; reg = reg->reg_next) { + dbg_printf("Region type %02x at 0x%08x:%08x\n", + reg->reg_type, reg->reg_base, reg->reg_size); + } + + return; +} +#endif /* FEATURE(DEBUG) */ + void* pg_init(struct multiboot_info *info) { extern struct cpu _cpu[CONFIG_SMP_CPUS]; @@ -292,6 +306,10 @@ void* pg_init(struct multiboot_info *info) _frame_set(i); } +#if FEATURE(DEBUG) + _pg_dir_debug_regions(&_kernel_pgdir); +#endif /* FEATURE(DEBUG) */ + _kernel_cr3 = cr3; dbg_printf("Enabling %s paging\n", _str_pg_mode[_pg_flags & PG_MODE_MASK]); @@ -338,7 +356,7 @@ int pg_dir_alloc(pg_dir_t **dst) * with speculative execution behavior of certain processors */ for(reg = _kernel_pgdir.pd_regions; reg; reg = reg->reg_next) { - switch(reg->reg_flags) { + switch(reg->reg_type) { case REGION_TEXT: ret_val = pg_dir_map(dir, reg->reg_base, reg->reg_base, reg->reg_size, reg->reg_attrs); break; @@ -525,7 +543,7 @@ int pg_dir_map(pg_dir_t *pd, const void *phys, const void *virt, const u32_t siz return(ret_val); } -static int _pg_dir_add_region(pg_dir_t *pd, void *base, u32_t size, u32_t flags, u32_t attrs) +static int _pg_dir_add_region(pg_dir_t *pd, void *base, u32_t size, u32_t type, u32_t attrs) { struct region *reg; int ret_val; @@ -534,11 +552,10 @@ static int _pg_dir_add_region(pg_dir_t *pd, void *base, u32_t size, u32_t flags, reg = kmalloc(sizeof(*reg)); if(reg) { - dbg_printf("Region type %02x at 0x%08x:%08x\n", flags, base, size); reg->reg_base = base; reg->reg_size = size; reg->reg_pgsize = PAGE_SIZE; - reg->reg_flags = flags; + reg->reg_type = type; reg->reg_attrs = attrs; reg->reg_next = pd->pd_regions; diff --git a/kernel/arch/paging.h b/kernel/arch/paging.h index 7fff3d1..d9acd8a 100644 --- a/kernel/arch/paging.h +++ b/kernel/arch/paging.h @@ -33,7 +33,7 @@ struct region { struct region *reg_next; void *reg_base; - u32_t reg_flags; + u32_t reg_type; u32_t reg_size; u32_t reg_pgsize; u32_t reg_attrs; -- 2.47.3