1 /* 2 * Copyright 2020, Data61, CSIRO (ABN 41 687 119 230) 3 * 4 * SPDX-License-Identifier: GPL-2.0-only 5 */ 6 7 #include <arch/model/statedata.h> 8 9 /* The privileged kernel mapping PD & PT */ 10 pml4e_t x64KSKernelPML4[BIT(PML4_INDEX_BITS)] ALIGN(BIT(seL4_PML4Bits)) VISIBLE; 11 pdpte_t x64KSKernelPDPT[BIT(PDPT_INDEX_BITS)] ALIGN(BIT(seL4_PDPTBits)); 12 #ifdef CONFIG_HUGE_PAGE 13 pde_t x64KSKernelPD[BIT(PD_INDEX_BITS)] ALIGN(BIT(seL4_PageDirBits)); 14 #else 15 pde_t x64KSKernelPDs[BIT(PDPT_INDEX_BITS)][BIT(PD_INDEX_BITS)] ALIGN(BIT(seL4_PageDirBits)); 16 #endif 17 pte_t x64KSKernelPT[BIT(PT_INDEX_BITS)] ALIGN(BIT(seL4_PageTableBits)); 18 19 #ifdef CONFIG_KERNEL_SKIM_WINDOW 20 pml4e_t x64KSSKIMPML4[BIT(PML4_INDEX_BITS)] ALIGN(BIT(seL4_PML4Bits)); 21 pdpte_t x64KSSKIMPDPT[BIT(PDPT_INDEX_BITS)] ALIGN(BIT(seL4_PDPTBits)); 22 pde_t x64KSSKIMPD[BIT(PD_INDEX_BITS)] ALIGN(BIT(seL4_PageDirBits)); 23 #endif 24 25 #ifdef CONFIG_KERNEL_SKIM_WINDOW 26 UP_STATE_DEFINE(word_t, x64KSCurrentUserCR3); 27 #else 28 UP_STATE_DEFINE(cr3_t, x64KSCurrentCR3); 29 #endif 30 31 word_t x64KSIRQStack[CONFIG_MAX_NUM_NODES][IRQ_STACK_SIZE + 2] ALIGN(64) VISIBLE SKIM_BSS; 32