Lines Matching defs:base
106 * base_1: base address of first PAS
108 * base_2: base address of second PAS
152 * proper alignment of base and size, that the GPI is valid, and that no regions
236 /* Make sure base and size are block-aligned. */
250 /* Make sure base and size are granule-aligned. */
338 /* Check base address. */
340 ERROR("[GPT] Invalid L0 base address: 0x%lx\n", l0_mem_base);
380 ERROR("[GPT] Unaligned L1 GPT base address: 0x%lx\n",
585 /* We start working from the granule at base PA */
696 /* Write the base address of the L0 tables into GPTBR */
792 /* Stash the L0 base address once initial setup is complete. */
869 INFO(" L0 base: 0x%lx\n", gpt_config.plat_gpt_l0_base);
873 INFO("[GPT] PAS[%u]: base 0x%lx, size 0x%lx, GPI 0x%x, type 0x%x\n",
932 * Read the L0 table address from GPTBR, we don't need the L1 base
951 VERBOSE(" L0 base: 0x%lx\n", gpt_config.plat_gpt_l0_base);
977 * Helper to retrieve the gpt_l1_* information from the base address
980 static int get_gpi_params(uint64_t base, gpi_info_t *gpi_info)
985 gpt_l0_desc = gpt_l0_base[GPT_L0_IDX(base)];
988 VERBOSE(" Base=0x%" PRIx64 "\n", base);
994 gpi_info->idx = GPT_L1_IDX(gpt_config.p, base);
995 gpi_info->gpi_shift = GPT_L1_GPI_IDX(gpt_config.p, base) << 2;
1011 * base Base address of the region to transition, must be
1020 int gpt_delegate_pas(uint64_t base, size_t size, unsigned int src_sec_state)
1042 /* Check that base and size are valid */
1043 if ((ULONG_MAX - base) < size) {
1045 VERBOSE(" Base=0x%" PRIx64 "\n", base);
1050 /* Make sure base and size are valid. */
1051 if (((base & (GPT_PGS_ACTUAL_SIZE(gpt_config.p) - 1)) != 0UL) ||
1054 ((base + size) >= GPT_PPS_ACTUAL_SIZE(gpt_config.t))) {
1056 VERBOSE(" Base=0x%" PRIx64 "\n", base);
1072 res = get_gpi_params(base, &gpi_info);
1098 flush_dcache_to_popa_range(nse | base,
1105 gpt_tlbi_by_pa_ll(base, GPT_PGS_ACTUAL_SIZE(gpt_config.p));
1110 flush_dcache_to_popa_range(nse | base,
1121 base, gpi_info.gpi, target_pas);
1134 * base Base address of the region to transition, must be
1143 int gpt_undelegate_pas(uint64_t base, size_t size, unsigned int src_sec_state)
1164 /* Check that base and size are valid */
1165 if ((ULONG_MAX - base) < size) {
1167 VERBOSE(" Base=0x%" PRIx64 "\n", base);
1172 /* Make sure base and size are valid. */
1173 if (((base & (GPT_PGS_ACTUAL_SIZE(gpt_config.p) - 1)) != 0UL) ||
1176 ((base + size) >= GPT_PPS_ACTUAL_SIZE(gpt_config.t))) {
1178 VERBOSE(" Base=0x%" PRIx64 "\n", base);
1190 res = get_gpi_params(base, &gpi_info);
1218 gpt_tlbi_by_pa_ll(base, GPT_PGS_ACTUAL_SIZE(gpt_config.p));
1228 flush_dcache_to_popa_range(nse | base,
1237 flush_dcache_to_popa_range(nse | base,
1246 gpt_tlbi_by_pa_ll(base, GPT_PGS_ACTUAL_SIZE(gpt_config.p));
1257 base, gpi_info.gpi, GPT_GPI_NS);