mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-07 19:34:56 +00:00
hw_x86_64_muen: Add initial pagetables file
The initial pagetables for hw_x86_64_muen specify an identity mapping from 2MiB to 1GiB plus mappings for the paravirt pages (sinfo, timer, ...).
This commit is contained in:
parent
c434a5ceec
commit
4a51f933ce
@ -13,7 +13,7 @@ INC_DIR += $(REP_DIR)/src/core/include/spec/x86
|
||||
# add assembly sources
|
||||
SRC_S += spec/x86_64/mode_transition.s
|
||||
SRC_S += spec/x86_64/kernel/crt0.s
|
||||
SRC_S += spec/x86_64/kernel/crt0_translation_table.s
|
||||
SRC_S += spec/x86_64_muen/kernel/crt0_translation_table.s
|
||||
SRC_S += spec/x86_64/crt0.s
|
||||
|
||||
# add C++ sources
|
||||
|
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* \brief Initial pagetables for x86_64_muen
|
||||
* \author Adrian-Ken Rueegsegger
|
||||
* \author Reto Buerki
|
||||
* \date 2015-04-22
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2015 Genode Labs GmbH
|
||||
*
|
||||
* This file is part of the Genode OS framework, which is distributed
|
||||
* under the terms of the GNU General Public License version 2.
|
||||
*/
|
||||
|
||||
.include "macros.s"
|
||||
|
||||
.data
|
||||
|
||||
/*****************************************
|
||||
** Identity mapping from 2MiB to 1GiB **
|
||||
** plus mappings for Muen pvirt pages **
|
||||
*****************************************/
|
||||
|
||||
/* PML4 */
|
||||
.p2align MIN_PAGE_SIZE_LOG2
|
||||
.global _kernel_pml4
|
||||
_kernel_pml4:
|
||||
.quad _kernel_pdp + 0xf
|
||||
.fill 511, 8, 0x0
|
||||
|
||||
/* PDP */
|
||||
.p2align MIN_PAGE_SIZE_LOG2
|
||||
_kernel_pdp:
|
||||
.quad _kernel_pd + 0xf
|
||||
.fill 55, 8, 0x0
|
||||
.quad _kernel_pd_pvirt + 0xf
|
||||
.fill 455, 8, 0x0
|
||||
|
||||
/* PD */
|
||||
.p2align MIN_PAGE_SIZE_LOG2
|
||||
_kernel_pd:
|
||||
.quad 0
|
||||
.set entry, 0x20018f
|
||||
.rept 511
|
||||
.quad entry
|
||||
.set entry, entry + 0x200000
|
||||
.endr
|
||||
|
||||
.p2align MIN_PAGE_SIZE_LOG2
|
||||
_kernel_pd_pvirt:
|
||||
.quad 0xe0000018f
|
||||
.fill 511, 8, 0x0
|
Loading…
x
Reference in New Issue
Block a user