From 6adadc775c0c4a59dc0d462bb9894a555efc952f Mon Sep 17 00:00:00 2001 From: Matthias Kruk Date: Mon, 2 Dec 2019 19:09:21 +0900 Subject: [PATCH] Move _kernel_cr3 back into the .bss segment since we can't get around mapping that into the process page directories anyway --- kernel/arch/entry.S | 5 +---- kernel/arch/paging.c | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/kernel/arch/entry.S b/kernel/arch/entry.S index 13e63d0..99481bd 100644 --- a/kernel/arch/entry.S +++ b/kernel/arch/entry.S @@ -83,7 +83,7 @@ .global _int_restore .extern _cpu -.global _kernel_cr3 +.extern _kernel_cr3 .extern _exc_handle .extern _int_handle @@ -445,6 +445,3 @@ _return_to_kernel: popa add $8, %esp iret - -_kernel_cr3: - .long 0 diff --git a/kernel/arch/paging.c b/kernel/arch/paging.c index b72f3f6..978cf54 100644 --- a/kernel/arch/paging.c +++ b/kernel/arch/paging.c @@ -31,7 +31,6 @@ #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; @@ -46,6 +45,7 @@ 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; -- 2.47.3