1 /* 2 * Copyright (c) 2017-2018, Arm Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef XLAT_TABLES_ARCH_H 8 #define XLAT_TABLES_ARCH_H 9 10 #ifdef __aarch64__ 11 #include "aarch64/xlat_tables_aarch64.h" 12 #else 13 #include "aarch32/xlat_tables_aarch32.h" 14 #endif 15 16 /* 17 * Evaluates to 1 if the given physical address space size is a power of 2, 18 * or 0 if it's not. 19 */ 20 #define CHECK_PHY_ADDR_SPACE_SIZE(size) \ 21 (IS_POWER_OF_TWO(size)) 22 23 /* 24 * Compute the number of entries required at the initial lookup level to address 25 * the whole virtual address space. 26 */ 27 #define GET_NUM_BASE_LEVEL_ENTRIES(addr_space_size) \ 28 ((addr_space_size) >> \ 29 XLAT_ADDR_SHIFT(GET_XLAT_TABLE_LEVEL_BASE(addr_space_size))) 30 31 #endif /* XLAT_TABLES_ARCH_H */ 32