kernel: don't use typedef for enums or non-opaque structs
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
static int can_use_gbpages = 0;
|
||||
static pmap_t kernel_pmap;
|
||||
|
||||
static size_t ps_size(page_size_t ps)
|
||||
static size_t ps_size(enum page_size ps)
|
||||
{
|
||||
switch (ps) {
|
||||
case PS_4K:
|
||||
@@ -35,11 +35,11 @@ static size_t ps_size(page_size_t ps)
|
||||
|
||||
static pmap_t alloc_pmap()
|
||||
{
|
||||
pml4t_t *p = kzalloc(sizeof *p, 0);
|
||||
struct pml4t *p = kzalloc(sizeof *p, 0);
|
||||
return vm_virt_to_phys(p);
|
||||
}
|
||||
|
||||
static pte_t make_pte(pfn_t pfn, vm_prot_t prot, page_size_t size)
|
||||
static pte_t make_pte(pfn_t pfn, enum vm_prot prot, enum page_size size)
|
||||
{
|
||||
pte_t v = pfn;
|
||||
|
||||
@@ -95,7 +95,7 @@ static void delete_ptab(phys_addr_t pt)
|
||||
return;
|
||||
}
|
||||
|
||||
ptab_t *ptab = vm_phys_to_virt(pt);
|
||||
struct ptab *ptab = vm_phys_to_virt(pt);
|
||||
kfree(ptab);
|
||||
}
|
||||
|
||||
@@ -112,7 +112,7 @@ static void delete_pdir(phys_addr_t pd)
|
||||
return;
|
||||
}
|
||||
|
||||
pdir_t *pdir = vm_phys_to_virt(pd);
|
||||
struct pdir *pdir = vm_phys_to_virt(pd);
|
||||
for (int i = 0; i < 512; i++) {
|
||||
if (pdir->p_pages[i] & PTE_PAGESIZE) {
|
||||
/* this is a hugepage, there is nothing to delete */
|
||||
@@ -125,7 +125,7 @@ static void delete_pdir(phys_addr_t pd)
|
||||
kfree(pdir);
|
||||
}
|
||||
|
||||
static kern_status_t do_pmap_add(pmap_t pmap, void *p, pfn_t pfn, vm_prot_t prot, page_size_t size)
|
||||
static kern_status_t do_pmap_add(pmap_t pmap, void *p, pfn_t pfn, enum vm_prot prot, enum page_size size)
|
||||
{
|
||||
uintptr_t pv = (uintptr_t)p;
|
||||
unsigned int
|
||||
@@ -158,13 +158,13 @@ static kern_status_t do_pmap_add(pmap_t pmap, void *p, pfn_t pfn, vm_prot_t prot
|
||||
}
|
||||
|
||||
/* 1. get PML4T (mandatory) */
|
||||
pml4t_t *pml4t = vm_phys_to_virt(ENTRY_TO_PTR(pmap));
|
||||
struct pml4t *pml4t = vm_phys_to_virt(ENTRY_TO_PTR(pmap));
|
||||
if (!pml4t) {
|
||||
return KERN_INVALID_ARGUMENT;
|
||||
}
|
||||
|
||||
/* 2. traverse PML4T, get PDPT (mandatory) */
|
||||
pdpt_t *pdpt = NULL;
|
||||
struct pdpt *pdpt = NULL;
|
||||
if (!pml4t->p_entries[pml4t_index]) {
|
||||
pdpt = kzalloc(sizeof *pdpt, 0);
|
||||
pml4t->p_entries[pml4t_index] = PTR_TO_ENTRY(vm_virt_to_phys(pdpt));
|
||||
@@ -187,7 +187,7 @@ static kern_status_t do_pmap_add(pmap_t pmap, void *p, pfn_t pfn, vm_prot_t prot
|
||||
|
||||
|
||||
/* 3. traverse PDPT, get PDIR (optional, 4K and 2M only) */
|
||||
pdir_t *pdir = NULL;
|
||||
struct pdir *pdir = NULL;
|
||||
if (!pdpt->p_entries[pdpt_index] || pdpt->p_pages[pdpt_index] & PTE_PAGESIZE) {
|
||||
/* entry is null, or points to a hugepage */
|
||||
pdir = kzalloc(sizeof *pdir, 0);
|
||||
@@ -209,7 +209,7 @@ static kern_status_t do_pmap_add(pmap_t pmap, void *p, pfn_t pfn, vm_prot_t prot
|
||||
}
|
||||
|
||||
/* 4. traverse PDIR, get PTAB (optional, 4K only) */
|
||||
ptab_t *ptab = NULL;
|
||||
struct ptab *ptab = NULL;
|
||||
if (!pdir->p_entries[pd_index] || pdir->p_pages[pd_index] & PTE_PAGESIZE) {
|
||||
/* entry is null, or points to a hugepage */
|
||||
ptab = kzalloc(sizeof *ptab, 0);
|
||||
@@ -234,7 +234,7 @@ void pmap_bootstrap(void)
|
||||
enable_nx();
|
||||
printk("pmap: NX protection enabled");
|
||||
|
||||
page_size_t hugepage = PS_2M;
|
||||
enum page_size hugepage = PS_2M;
|
||||
if (can_use_gbpages) {
|
||||
hugepage = PS_1G;
|
||||
}
|
||||
@@ -255,7 +255,7 @@ void pmap_bootstrap(void)
|
||||
}
|
||||
|
||||
phys_addr_t pmem_limit = 0x0;
|
||||
memblock_iter_t it;
|
||||
struct memblock_iter it;
|
||||
for_each_mem_range(&it, 0x00, UINTPTR_MAX) {
|
||||
if (it.it_limit > pmem_limit) {
|
||||
pmem_limit = it.it_limit;
|
||||
@@ -283,12 +283,12 @@ void pmap_destroy(pmap_t pmap)
|
||||
|
||||
}
|
||||
|
||||
kern_status_t pmap_add(pmap_t pmap, void *p, pfn_t pfn, vm_prot_t prot, pmap_flags_t flags)
|
||||
kern_status_t pmap_add(pmap_t pmap, void *p, pfn_t pfn, enum vm_prot prot, enum pmap_flags flags)
|
||||
{
|
||||
return KERN_OK;
|
||||
}
|
||||
|
||||
kern_status_t pmap_add_block(pmap_t pmap, void *p, pfn_t pfn, size_t len, vm_prot_t prot, pmap_flags_t flags)
|
||||
kern_status_t pmap_add_block(pmap_t pmap, void *p, pfn_t pfn, size_t len, enum vm_prot prot, enum pmap_flags flags)
|
||||
{
|
||||
return KERN_OK;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user