diff options
author | AlmuHS <almuhs@github.com> | 2019-05-20 20:43:22 +0200 |
---|---|---|
committer | AlmuHS <almuhs@github.com> | 2019-05-20 20:43:22 +0200 |
commit | 4244eccec0fef2e8f0eef13f911f726e7d99fa4e (patch) | |
tree | 44f8ddce3219195d29e77d5db53fb08bf0da0727 | |
parent | 0c5c4fcd9de8aa21c0c6a424576abe6b7b0ae949 (diff) |
fix: added declarations in header
-rw-r--r-- | i386/i386at/model_dep.c | 9 | ||||
-rw-r--r-- | i386/i386at/model_dep.h | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/i386/i386at/model_dep.c b/i386/i386at/model_dep.c index aaa6c3c7..114ba7e1 100644 --- a/i386/i386at/model_dep.c +++ b/i386/i386at/model_dep.c @@ -141,6 +141,9 @@ vm_offset_t int_stack_top, int_stack_base; extern void linux_init(void); #endif +unsigned kernel_page_dir_addr = 0; +unsigned pdpbase_addr = 0; + /* * Find devices. The system is alive. */ @@ -478,14 +481,16 @@ i386at_init(void) #endif /* PAE */ #endif /* MACH_PV_PAGETABLES */ #if PAE - set_cr3((unsigned)_kvtophys(kernel_pmap->pdpbase)); + pdpbase_addr = (unsigned)_kvtophys(kernel_pmap->pdpbase); + set_cr3(pdpbase_addr); #ifndef MACH_HYP if (!CPU_HAS_FEATURE(CPU_FEATURE_PAE)) panic("CPU doesn't have support for PAE."); set_cr4(get_cr4() | CR4_PAE); #endif /* MACH_HYP */ #else - set_cr3((unsigned)_kvtophys(kernel_page_dir)); + kernel_page_dir_addr = (unsigned)_kvtophys(kernel_page_dir); + set_cr3(kernel_page_dir_addr); #endif /* PAE */ #ifndef MACH_HYP /* Turn paging on. diff --git a/i386/i386at/model_dep.h b/i386/i386at/model_dep.h index d47378a1..8aa72af8 100644 --- a/i386/i386at/model_dep.h +++ b/i386/i386at/model_dep.h @@ -26,6 +26,8 @@ * Interrupt stack. */ extern vm_offset_t int_stack_top, int_stack_base; +extern unsigned kernel_page_dir_addr, pdpbase_addr; + /* Check whether P points to the interrupt stack. */ #define ON_INT_STACK(P) (((P) & ~(KERNEL_STACK_SIZE-1)) == int_stack_base) |