Lines Matching refs:gpt_config

77 static gpt_config_t gpt_config;  variable
123 (((_pa) >> (unsigned int)GPT_L1_IDX_SHIFT(gpt_config.p)) & gpt_l1_index_mask)
166 tlbi_page_lookup[gpt_config.pgs].function( in tlbi_page_dsbosh()
167 base & tlbi_page_lookup[gpt_config.pgs].mask); in tlbi_page_dsbosh()
368 uint64_t *l0_desc = (uint64_t *)gpt_config.plat_gpt_l0_base; in validate_pas_mappings()
383 GPT_PPS_ACTUAL_SIZE(gpt_config.t)) || in validate_pas_mappings()
449 if (!GPT_IS_L1_ALIGNED(gpt_config.p, pas_regions[idx].base_pa) || in validate_pas_mappings()
450 !GPT_IS_L1_ALIGNED(gpt_config.p, pas_regions[idx].size)) { in validate_pas_mappings()
527 gpt_config.pps = pps; in validate_l0_params()
528 gpt_config.t = gpt_t_lookup[pps]; in validate_l0_params()
532 if (l0_alignment < GPT_L0_TABLE_SIZE(gpt_config.t)) { in validate_l0_params()
533 l0_alignment = GPT_L0_TABLE_SIZE(gpt_config.t); in validate_l0_params()
544 if (l0_mem_size < GPT_L0_TABLE_SIZE(gpt_config.t)) { in validate_l0_params()
547 GPT_L0_TABLE_SIZE(gpt_config.t), l0_mem_size); in validate_l0_params()
573 GPT_PGS_ACTUAL_SIZE(gpt_config.p))) { in validate_l1_params()
578 if ((l1_mem_base & (GPT_L1_TABLE_SIZE(gpt_config.p) - 1UL)) != 0UL) { in validate_l1_params()
585 l1_gpt_mem_sz = l1_gpt_cnt * GPT_L1_TABLE_SIZE(gpt_config.p); in validate_l1_params()
588 if ((l1_gpt_mem_sz / GPT_L1_TABLE_SIZE(gpt_config.p)) != l1_gpt_cnt) { in validate_l1_params()
620 assert(gpt_config.plat_gpt_l0_base != 0UL); in generate_l0_blk_desc()
628 l0_gpt_arr = (uint64_t *)gpt_config.plat_gpt_l0_base; in generate_l0_blk_desc()
793 gpi_mask = ULONG_MAX << (GPT_L1_GPI_IDX(gpt_config.p, first) << 2); in fill_l1_gran_desc()
801 GPT_L1_GPI_IDX(gpt_config.p, last)) << 2)); in fill_l1_gran_desc()
813 return last + GPT_PGS_ACTUAL_SIZE(gpt_config.p); in fill_l1_gran_desc()
834 assert((first & (GPT_PGS_ACTUAL_SIZE(gpt_config.p) - 1UL)) == 0UL); in fill_l1_tbl()
835 assert((last & (GPT_PGS_ACTUAL_SIZE(gpt_config.p) - 1UL)) == 0UL); in fill_l1_tbl()
841 size_t length = last - first + GPT_PGS_ACTUAL_SIZE(gpt_config.p); in fill_l1_tbl()
864 GPT_PGS_ACTUAL_SIZE(gpt_config.p); in fill_l1_tbl()
873 assert(first == (last + GPT_PGS_ACTUAL_SIZE(gpt_config.p))); in fill_l1_tbl()
893 gpt_l1_tbl += GPT_L1_TABLE_SIZE(gpt_config.p); in get_new_l1_tbl()
896 for (unsigned int i = 0U; i < GPT_L1_ENTRY_COUNT(gpt_config.p); i++) { in get_new_l1_tbl()
920 assert(gpt_config.plat_gpt_l0_base != 0UL); in generate_l0_tbl_desc()
928 l0_gpt_base = (uint64_t *)gpt_config.plat_gpt_l0_base; in generate_l0_tbl_desc()
962 GPT_PGS_ACTUAL_SIZE(gpt_config.p); in generate_l0_tbl_desc()
992 uint64_t *l0 = (uint64_t *)gpt_config.plat_gpt_l0_base; in flush_l0_for_pas_array()
1035 if (gpt_config.plat_gpt_l0_base == 0UL) { in gpt_enable()
1041 write_gptbr_el3(((gpt_config.plat_gpt_l0_base >> GPTBR_BADDR_VAL_SHIFT) in gpt_enable()
1045 gpccr_el3 = SET_GPCCR_PPS(gpt_config.pps); in gpt_enable()
1048 gpccr_el3 |= SET_GPCCR_PGS(gpt_config.pgs); in gpt_enable()
1127 for (unsigned int i = 0U; i < GPT_L0_REGION_COUNT(gpt_config.t); i++) { in gpt_init_l0_tables()
1132 flush_dcache_range((uintptr_t)l0_mem_base, GPT_L0_TABLE_SIZE(gpt_config.t)); in gpt_init_l0_tables()
1135 gpt_config.plat_gpt_l0_base = l0_mem_base; in gpt_init_l0_tables()
1175 gpt_config.pgs = pgs; in gpt_init_pas_l1_tables()
1176 gpt_config.p = gpt_p_lookup[pgs]; in gpt_init_pas_l1_tables()
1179 if (gpt_config.plat_gpt_l0_base == 0UL) { in gpt_init_pas_l1_tables()
1205 gpt_l1_cnt_2mb = (unsigned int)GPT_L1_ENTRY_COUNT_2MB(gpt_config.p); in gpt_init_pas_l1_tables()
1208 gpt_l1_index_mask = GPT_L1_IDX_MASK(gpt_config.p); in gpt_init_pas_l1_tables()
1211 INFO(" PPS/T: 0x%x/%u\n", gpt_config.pps, gpt_config.t); in gpt_init_pas_l1_tables()
1212 INFO(" PGS/P: 0x%x/%u\n", gpt_config.pgs, gpt_config.p); in gpt_init_pas_l1_tables()
1215 INFO(" L0 base: 0x%"PRIxPTR"\n", gpt_config.plat_gpt_l0_base); in gpt_init_pas_l1_tables()
1240 GPT_L1_TABLE_SIZE(gpt_config.p) * in gpt_init_pas_l1_tables()
1287 gpt_config.plat_gpt_l0_base = ((reg >> GPTBR_BADDR_SHIFT) & in gpt_runtime_init()
1293 gpt_config.pps = (reg >> GPCCR_PPS_SHIFT) & GPCCR_PPS_MASK; in gpt_runtime_init()
1294 gpt_config.t = gpt_t_lookup[gpt_config.pps]; in gpt_runtime_init()
1295 gpt_config.pgs = (reg >> GPCCR_PGS_SHIFT) & GPCCR_PGS_MASK; in gpt_runtime_init()
1296 gpt_config.p = gpt_p_lookup[gpt_config.pgs]; in gpt_runtime_init()
1299 gpt_l1_cnt_2mb = (unsigned int)GPT_L1_ENTRY_COUNT_2MB(gpt_config.p); in gpt_runtime_init()
1302 gpt_l1_index_mask = GPT_L1_IDX_MASK(gpt_config.p); in gpt_runtime_init()
1309 locks_size = GPT_PPS_ACTUAL_SIZE(gpt_config.t) / in gpt_runtime_init()
1335 VERBOSE(" PPS/T: 0x%x/%u\n", gpt_config.pps, gpt_config.t); in gpt_runtime_init()
1336 VERBOSE(" PGS/P: 0x%x/%u\n", gpt_config.pgs, gpt_config.p); in gpt_runtime_init()
1338 VERBOSE(" L0 base: 0x%"PRIxPTR"\n", gpt_config.plat_gpt_l0_base); in gpt_runtime_init()
1370 gpt_l0_base = (uint64_t *)gpt_config.plat_gpt_l0_base; in get_gpi_params()
1381 gpi_info->gpi_shift = GPT_L1_GPI_IDX(gpt_config.p, base) << 2; in get_gpi_params()
1415 size_t size = GPT_PGS_ACTUAL_SIZE(gpt_config.p); in flush_page_to_popa()
1706 assert(gpt_config.plat_gpt_l0_base != 0UL); in gpt_delegate_pas()
1712 if (size != GPT_PGS_ACTUAL_SIZE(gpt_config.p)) { in gpt_delegate_pas()
1725 if (((base & (GPT_PGS_ACTUAL_SIZE(gpt_config.p) - 1UL)) != 0UL) || in gpt_delegate_pas()
1726 ((size & (GPT_PGS_ACTUAL_SIZE(gpt_config.p) - 1UL)) != 0UL) || in gpt_delegate_pas()
1728 ((base + size) >= GPT_PPS_ACTUAL_SIZE(gpt_config.t))) { in gpt_delegate_pas()
1844 assert(gpt_config.plat_gpt_l0_base != 0UL); in gpt_undelegate_pas()
1850 if (size != GPT_PGS_ACTUAL_SIZE(gpt_config.p)) { in gpt_undelegate_pas()
1863 if (((base & (GPT_PGS_ACTUAL_SIZE(gpt_config.p) - 1UL)) != 0UL) || in gpt_undelegate_pas()
1864 ((size & (GPT_PGS_ACTUAL_SIZE(gpt_config.p) - 1UL)) != 0UL) || in gpt_undelegate_pas()
1866 ((base + size) >= GPT_PPS_ACTUAL_SIZE(gpt_config.t))) { in gpt_undelegate_pas()