]> git.corax.cc Git - corax/commitdiff
Move _kernel_cr3 symbol to .text segment
authorMatthias Kruk <m@m10k.eu>
Mon, 2 Dec 2019 09:26:31 +0000 (18:26 +0900)
committerMatthias Kruk <m@m10k.eu>
Mon, 2 Dec 2019 09:26:31 +0000 (18:26 +0900)
kernel/arch/entry.S
kernel/arch/paging.c

index 2f0369fdbdc630773a24a06d84e1db684468d044..4ab9ea46e9b77cc91250e103516906a19acf20fb 100644 (file)
@@ -83,7 +83,7 @@
 .global _int_restore
 
 .extern _cpu
-.extern _kernel_cr3
+.global _kernel_cr3
 
 .extern _exc_handle
 .extern _int_handle
@@ -442,3 +442,6 @@ _return_to_kernel:
     popa
     add     $8, %esp
     iret
+
+_kernel_cr3:
+       .long   0
index 978cf541a351b3f1a59e673e39b0a9941899cd4f..b72f3f60a970ce5040fc82f78f06572fb2482377 100644 (file)
@@ -31,6 +31,7 @@
 #define _frame_clear(addr)  _frame_map[(addr) >> 17] &= ~(1 << (((addr) >> 12) & 0x1f))
 #define _frame_get(addr)    (_frame_map[(addr) >> 17] & (1 << (((addr) >> 12) & 0x1f)))
 
+extern u32_t _kernel_cr3;
 extern u32_t _corax_rodata;
 extern u32_t _corax_data;
 extern u32_t _corax_bss;
@@ -45,7 +46,6 @@ extern u32_t _mem_start;
 #define BSS_BASE    (&_corax_bss)
 #define BSS_SIZE    ((u32_t)&_mem_start - (u32_t)&_corax_bss)
 
-u32_t _kernel_cr3 = 0;
 static u32_t _pg_flags = 0;
 static u32_t *_frame_map;
 static u32_t _nframes;