Reorder code

This commit is contained in:
Alex Kotov 2021-12-19 01:05:42 +05:00
parent 652c8ce67e
commit f1ff94aad1
Signed by: kotovalexarian
GPG Key ID: 553C0EBBEB5D5F08
3 changed files with 9 additions and 9 deletions

View File

@ -146,9 +146,9 @@ void main(
paging_clear(&paging);
paging_identity(&paging);
paging_mapkernel(&paging, &kinfo);
paging_load(&paging);
paging_enable(&paging);
paging_load(&paging);
paging_enable();
protected_initialize(&kinfo);

View File

@ -35,6 +35,12 @@ void paging_enable()
kernaux_arch_i386_write_cr4(cr4);
}
void paging_load(struct Paging *const paging)
{
size_t page_dir_phys = (size_t)&paging->page_dir;
kernaux_arch_i386_write_cr3(page_dir_phys);
}
void paging_clear(struct Paging *const paging)
{
memset(&paging->page_dir, 0, sizeof(paging->page_dir));
@ -90,9 +96,3 @@ void paging_mapkernel(
++pde;
}
}
void paging_load(struct Paging *const paging)
{
size_t page_dir_phys = (size_t)&paging->page_dir;
kernaux_arch_i386_write_cr3(page_dir_phys);
}

View File

@ -22,10 +22,10 @@ __attribute__((aligned((PAGE_DIR_ALIGN))))
;
void paging_enable();
void paging_load(struct Paging *paging);
void paging_clear(struct Paging *paging);
void paging_identity(struct Paging *paging);
void paging_mapkernel(struct Paging *paging, const struct Kernel_Info *kinfo);
void paging_load(struct Paging *paging);
#endif