1/* 2 * Copyright 2014, General Dynamics C4 Systems 3 * 4 * SPDX-License-Identifier: GPL-2.0-only 5 */ 6 7#pragma once 8 9#define ARM_SECTION_BITS 20 10#define ARM_1GB_BLOCK_BITS 30 11#define ARM_2MB_BLOCK_BITS 21 12 13#define PDE_SIZE_BITS 2 14#define PD_BITS 12 15#define PD_SIZE_BITS (PD_BITS + PDE_SIZE_BITS) 16 17#define PTE_SIZE_BITS 2 18#define PT_BITS 8 19#define PT_SIZE_BITS (PT_BITS + PTE_SIZE_BITS) 20 21#define HYP_PGDE_SIZE_BITS 3 22#define HYP_PGD_BITS 2 23#define HYP_PGD_SIZE_BITS (HYP_PGD_BITS + HYP_PGDE_SIZE_BITS) 24 25#define HYP_PMDE_SIZE_BITS 3 26#define HYP_PMD_BITS 9 27#define HYP_PMD_SIZE_BITS (HYP_PMD_BITS + HYP_PMDE_SIZE_BITS) 28 29#define GET_PT_INDEX(x) (((x) >> (PAGE_BITS)) & MASK(PT_BITS)) 30 31extern uint32_t _boot_pd[BIT(PD_BITS)]; 32extern uint32_t _boot_pt[BIT(PT_BITS)]; 33 34extern uint64_t _lpae_boot_pgd[BIT(HYP_PGD_BITS)]; 35extern uint64_t _lpae_boot_pmd[BIT(HYP_PGD_BITS + HYP_PMD_BITS)]; 36 37