| /* |
| * Copyright 2014, General Dynamics C4 Systems |
| * |
| * SPDX-License-Identifier: GPL-2.0-only |
| */ |
| |
| #pragma once |
| |
| #define ARM_SECTION_BITS 20 |
| #define ARM_1GB_BLOCK_BITS 30 |
| #define ARM_2MB_BLOCK_BITS 21 |
| |
| #define PDE_SIZE_BITS 2 |
| #define PD_BITS 12 |
| #define PD_SIZE_BITS (PD_BITS + PDE_SIZE_BITS) |
| |
| #define PTE_SIZE_BITS 2 |
| #define PT_BITS 8 |
| #define PT_SIZE_BITS (PT_BITS + PTE_SIZE_BITS) |
| |
| #define HYP_PGDE_SIZE_BITS 3 |
| #define HYP_PGD_BITS 2 |
| #define HYP_PGD_SIZE_BITS (HYP_PGD_BITS + HYP_PGDE_SIZE_BITS) |
| |
| #define HYP_PMDE_SIZE_BITS 3 |
| #define HYP_PMD_BITS 9 |
| #define HYP_PMD_SIZE_BITS (HYP_PMD_BITS + HYP_PMDE_SIZE_BITS) |
| |
| #define GET_PT_INDEX(x) (((x) >> (PAGE_BITS)) & MASK(PT_BITS)) |
| |
| extern uint32_t _boot_pd[BIT(PD_BITS)]; |
| extern uint32_t _boot_pt[BIT(PT_BITS)]; |
| |
| extern uint64_t _lpae_boot_pgd[BIT(HYP_PGD_BITS)]; |
| extern uint64_t _lpae_boot_pmd[BIT(HYP_PGD_BITS + HYP_PMD_BITS)]; |
| |