mirror of
https://github.com/drasko/codezero.git
synced 2026-02-27 17:23:13 +01:00
Code that works until after allocating pgd and pmd caches.
This commit is contained in:
@@ -675,8 +675,8 @@ void remap_as_pages(void *vstart, void *vend)
|
|||||||
unsigned long paddr = pstart;
|
unsigned long paddr = pstart;
|
||||||
pgd_t pgd_i = PGD_INDEX(vstart);
|
pgd_t pgd_i = PGD_INDEX(vstart);
|
||||||
pmd_t pmd_i = PMD_INDEX(vstart);
|
pmd_t pmd_i = PMD_INDEX(vstart);
|
||||||
pgd_table_t *pgd = (pgd_table_t *)TASK_PGD(current);
|
pgd_table_t *pgd = &init_pgd;
|
||||||
pmd_table_t *pmd = alloc_pmd();
|
pmd_table_t *pmd = alloc_boot_pmd();
|
||||||
u32 pmd_phys = virt_to_phys(pmd);
|
u32 pmd_phys = virt_to_phys(pmd);
|
||||||
int numpages = __pfn(pend - pstart);
|
int numpages = __pfn(pend - pstart);
|
||||||
|
|
||||||
|
|||||||
@@ -169,7 +169,7 @@ int process_cap_info(struct cap_info *cap,
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case CAP_RTYPE_PHYSMEM:
|
case CAP_RTYPE_PHYSMEM:
|
||||||
if ((ret = memcap_unmap(&kcont->virtmem_free,
|
if ((ret = memcap_unmap(&kcont->physmem_free,
|
||||||
cap->start, cap->end))) {
|
cap->start, cap->end))) {
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
printk("FATAL: Insufficient boot memory "
|
printk("FATAL: Insufficient boot memory "
|
||||||
|
|||||||
@@ -376,7 +376,7 @@ void start_kernel(void)
|
|||||||
vectors_init();
|
vectors_init();
|
||||||
|
|
||||||
/* Remap 1MB kernel sections as 4Kb pages. */
|
/* Remap 1MB kernel sections as 4Kb pages. */
|
||||||
// remap_as_pages((void *)page_align(_start_kernel), (void *)page_align_up(_end));
|
remap_as_pages((void *)page_align(_start_kernel), (void *)page_align_up(_end_kernel));
|
||||||
|
|
||||||
/* Move the initial pgd into a more convenient place, mapped as pages. */
|
/* Move the initial pgd into a more convenient place, mapped as pages. */
|
||||||
// relocate_page_tables();
|
// relocate_page_tables();
|
||||||
|
|||||||
Reference in New Issue
Block a user