Lines Matching refs:ctx

53 static void manage_extensions_nonsecure(cpu_context_t *ctx);
54 static void manage_extensions_secure(cpu_context_t *ctx);
57 static void setup_el1_context(cpu_context_t *ctx, const struct entry_point_info *ep) in setup_el1_context() argument
102 write_ctx_sctlr_el1_reg_errata(ctx, sctlr_elx); in setup_el1_context()
112 write_el1_ctx_common(get_el1_sysregs_ctx(ctx), actlr_el1, actlr_elx); in setup_el1_context()
120 static void setup_secure_context(cpu_context_t *ctx, const struct entry_point_info *ep) in setup_secure_context() argument
125 state = get_el3state_ctx(ctx); in setup_secure_context()
148 setup_el1_context(ctx, ep); in setup_secure_context()
151 manage_extensions_secure(ctx); in setup_secure_context()
161 static void setup_realm_context(cpu_context_t *ctx, const struct entry_point_info *ep) in setup_realm_context() argument
167 state = get_el3state_ctx(ctx); in setup_realm_context()
169 el2_ctx = get_el2_sysregs_ctx(ctx); in setup_realm_context()
200 fgt2_enable(ctx); in setup_realm_context()
204 debugv8p9_extended_bp_wp_enable(ctx); in setup_realm_context()
208 brbe_enable(ctx); in setup_realm_context()
215 sme_enable(ctx); in setup_realm_context()
219 spe_disable_realm(ctx); in setup_realm_context()
223 trbe_disable_realm(ctx); in setup_realm_context()
232 static void setup_ns_context(cpu_context_t *ctx, const struct entry_point_info *ep) in setup_ns_context() argument
237 state = get_el3state_ctx(ctx); in setup_ns_context()
356 write_el2_ctx_hcx(get_el2_sysregs_ctx(ctx), hcrx_el2, in setup_ns_context()
366 write_el2_ctx_fgt(get_el2_sysregs_ctx(ctx), hfgitr_el2, in setup_ns_context()
368 write_el2_ctx_fgt(get_el2_sysregs_ctx(ctx), hfgrtr_el2, in setup_ns_context()
370 write_el2_ctx_fgt(get_el2_sysregs_ctx(ctx), hfgwtr_el2, in setup_ns_context()
375 setup_el1_context(ctx, ep); in setup_ns_context()
378 manage_extensions_nonsecure(ctx); in setup_ns_context()
389 static void setup_context_common(cpu_context_t *ctx, const entry_point_info_t *ep) in setup_context_common() argument
396 state = get_el3state_ctx(ctx); in setup_context_common()
399 zeromem(ctx, sizeof(*ctx)); in setup_context_common()
408 el2_sysregs_t *el2_ctx = get_el2_sysregs_ctx(ctx); in setup_context_common()
599 trf_enable(ctx); in setup_context_common()
603 tcr2_enable(ctx); in setup_context_common()
606 pmuv3_enable(ctx); in setup_context_common()
609 idte3_enable(ctx); in setup_context_common()
616 write_el2_ctx_common(get_el2_sysregs_ctx(ctx), sctlr_el2, SCTLR_EL2_RES1); in setup_context_common()
624 gp_regs = get_gpregs_ctx(ctx); in setup_context_common()
654 void cm_setup_context(cpu_context_t *ctx, const entry_point_info_t *ep) in cm_setup_context() argument
658 assert(ctx != NULL); in cm_setup_context()
664 setup_context_common(ctx, ep); in cm_setup_context()
671 setup_secure_context(ctx, ep); in cm_setup_context()
675 setup_realm_context(ctx, ep); in cm_setup_context()
679 setup_ns_context(ctx, ep); in cm_setup_context()
895 static void manage_extensions_nonsecure(cpu_context_t *ctx) in manage_extensions_nonsecure() argument
900 amu_enable(ctx); in manage_extensions_nonsecure()
904 sme_enable(ctx); in manage_extensions_nonsecure()
908 fgt2_enable(ctx); in manage_extensions_nonsecure()
912 debugv8p9_extended_bp_wp_enable(ctx); in manage_extensions_nonsecure()
916 spe_enable_ns(ctx); in manage_extensions_nonsecure()
921 trbe_disable_ns(ctx); in manage_extensions_nonsecure()
923 trbe_enable_ns(ctx); in manage_extensions_nonsecure()
928 brbe_enable(ctx); in manage_extensions_nonsecure()
989 static void manage_extensions_secure(cpu_context_t *ctx) in manage_extensions_secure() argument
999 sme_enable(ctx); in manage_extensions_secure()
1005 sme_disable(ctx); in manage_extensions_secure()
1010 spe_disable_secure(ctx); in manage_extensions_secure()
1014 trbe_disable_secure(ctx); in manage_extensions_secure()
1026 cpu_context_t *ctx; in cm_init_my_context() local
1027 ctx = cm_get_context(GET_SECURITY_STATE(ep->h.attr)); in cm_init_my_context()
1028 cm_setup_context(ctx, ep); in cm_init_my_context()
1032 static void init_nonsecure_el2_unused(cpu_context_t *ctx) in init_nonsecure_el2_unused() argument
1039 scr_el3 = read_ctx_reg(get_el3state_ctx(ctx), CTX_SCR_EL3); in init_nonsecure_el2_unused()
1148 cpu_context_t *ctx = cm_get_context(security_state); in cm_prepare_el3_exit() local
1150 assert(ctx != NULL); in cm_prepare_el3_exit()
1155 scr_el3 = read_ctx_reg(get_el3state_ctx(ctx), in cm_prepare_el3_exit()
1206 init_nonsecure_el2_unused(ctx); in cm_prepare_el3_exit()
1227 static void el2_sysregs_context_save_fgt(el2_sysregs_t *ctx) in el2_sysregs_context_save_fgt() argument
1229 write_el2_ctx_fgt(ctx, hdfgrtr_el2, read_hdfgrtr_el2()); in el2_sysregs_context_save_fgt()
1231 write_el2_ctx_fgt(ctx, hafgrtr_el2, read_hafgrtr_el2()); in el2_sysregs_context_save_fgt()
1233 write_el2_ctx_fgt(ctx, hdfgwtr_el2, read_hdfgwtr_el2()); in el2_sysregs_context_save_fgt()
1234 write_el2_ctx_fgt(ctx, hfgitr_el2, read_hfgitr_el2()); in el2_sysregs_context_save_fgt()
1235 write_el2_ctx_fgt(ctx, hfgrtr_el2, read_hfgrtr_el2()); in el2_sysregs_context_save_fgt()
1236 write_el2_ctx_fgt(ctx, hfgwtr_el2, read_hfgwtr_el2()); in el2_sysregs_context_save_fgt()
1239 static void el2_sysregs_context_restore_fgt(el2_sysregs_t *ctx) in el2_sysregs_context_restore_fgt() argument
1241 write_hdfgrtr_el2(read_el2_ctx_fgt(ctx, hdfgrtr_el2)); in el2_sysregs_context_restore_fgt()
1243 write_hafgrtr_el2(read_el2_ctx_fgt(ctx, hafgrtr_el2)); in el2_sysregs_context_restore_fgt()
1245 write_hdfgwtr_el2(read_el2_ctx_fgt(ctx, hdfgwtr_el2)); in el2_sysregs_context_restore_fgt()
1246 write_hfgitr_el2(read_el2_ctx_fgt(ctx, hfgitr_el2)); in el2_sysregs_context_restore_fgt()
1247 write_hfgrtr_el2(read_el2_ctx_fgt(ctx, hfgrtr_el2)); in el2_sysregs_context_restore_fgt()
1248 write_hfgwtr_el2(read_el2_ctx_fgt(ctx, hfgwtr_el2)); in el2_sysregs_context_restore_fgt()
1251 static void el2_sysregs_context_save_fgt2(el2_sysregs_t *ctx) in el2_sysregs_context_save_fgt2() argument
1253 write_el2_ctx_fgt2(ctx, hdfgrtr2_el2, read_hdfgrtr2_el2()); in el2_sysregs_context_save_fgt2()
1254 write_el2_ctx_fgt2(ctx, hdfgwtr2_el2, read_hdfgwtr2_el2()); in el2_sysregs_context_save_fgt2()
1255 write_el2_ctx_fgt2(ctx, hfgitr2_el2, read_hfgitr2_el2()); in el2_sysregs_context_save_fgt2()
1256 write_el2_ctx_fgt2(ctx, hfgrtr2_el2, read_hfgrtr2_el2()); in el2_sysregs_context_save_fgt2()
1257 write_el2_ctx_fgt2(ctx, hfgwtr2_el2, read_hfgwtr2_el2()); in el2_sysregs_context_save_fgt2()
1260 static void el2_sysregs_context_restore_fgt2(el2_sysregs_t *ctx) in el2_sysregs_context_restore_fgt2() argument
1262 write_hdfgrtr2_el2(read_el2_ctx_fgt2(ctx, hdfgrtr2_el2)); in el2_sysregs_context_restore_fgt2()
1263 write_hdfgwtr2_el2(read_el2_ctx_fgt2(ctx, hdfgwtr2_el2)); in el2_sysregs_context_restore_fgt2()
1264 write_hfgitr2_el2(read_el2_ctx_fgt2(ctx, hfgitr2_el2)); in el2_sysregs_context_restore_fgt2()
1265 write_hfgrtr2_el2(read_el2_ctx_fgt2(ctx, hfgrtr2_el2)); in el2_sysregs_context_restore_fgt2()
1266 write_hfgwtr2_el2(read_el2_ctx_fgt2(ctx, hfgwtr2_el2)); in el2_sysregs_context_restore_fgt2()
1269 static void el2_sysregs_context_save_mpam(el2_sysregs_t *ctx) in el2_sysregs_context_save_mpam() argument
1273 write_el2_ctx_mpam(ctx, mpam2_el2, read_mpam2_el2()); in el2_sysregs_context_save_mpam()
1287 write_el2_ctx_mpam(ctx, mpamhcr_el2, read_mpamhcr_el2()); in el2_sysregs_context_save_mpam()
1288 write_el2_ctx_mpam(ctx, mpamvpm0_el2, read_mpamvpm0_el2()); in el2_sysregs_context_save_mpam()
1289 write_el2_ctx_mpam(ctx, mpamvpmv_el2, read_mpamvpmv_el2()); in el2_sysregs_context_save_mpam()
1297 write_el2_ctx_mpam(ctx, mpamvpm7_el2, read_mpamvpm7_el2()); in el2_sysregs_context_save_mpam()
1300 write_el2_ctx_mpam(ctx, mpamvpm6_el2, read_mpamvpm6_el2()); in el2_sysregs_context_save_mpam()
1303 write_el2_ctx_mpam(ctx, mpamvpm5_el2, read_mpamvpm5_el2()); in el2_sysregs_context_save_mpam()
1306 write_el2_ctx_mpam(ctx, mpamvpm4_el2, read_mpamvpm4_el2()); in el2_sysregs_context_save_mpam()
1309 write_el2_ctx_mpam(ctx, mpamvpm3_el2, read_mpamvpm3_el2()); in el2_sysregs_context_save_mpam()
1312 write_el2_ctx_mpam(ctx, mpamvpm2_el2, read_mpamvpm2_el2()); in el2_sysregs_context_save_mpam()
1315 write_el2_ctx_mpam(ctx, mpamvpm1_el2, read_mpamvpm1_el2()); in el2_sysregs_context_save_mpam()
1320 static void el2_sysregs_context_restore_mpam(el2_sysregs_t *ctx) in el2_sysregs_context_restore_mpam() argument
1324 write_mpam2_el2(read_el2_ctx_mpam(ctx, mpam2_el2)); in el2_sysregs_context_restore_mpam()
1330 write_mpamhcr_el2(read_el2_ctx_mpam(ctx, mpamhcr_el2)); in el2_sysregs_context_restore_mpam()
1331 write_mpamvpm0_el2(read_el2_ctx_mpam(ctx, mpamvpm0_el2)); in el2_sysregs_context_restore_mpam()
1332 write_mpamvpmv_el2(read_el2_ctx_mpam(ctx, mpamvpmv_el2)); in el2_sysregs_context_restore_mpam()
1336 write_mpamvpm7_el2(read_el2_ctx_mpam(ctx, mpamvpm7_el2)); in el2_sysregs_context_restore_mpam()
1339 write_mpamvpm6_el2(read_el2_ctx_mpam(ctx, mpamvpm6_el2)); in el2_sysregs_context_restore_mpam()
1342 write_mpamvpm5_el2(read_el2_ctx_mpam(ctx, mpamvpm5_el2)); in el2_sysregs_context_restore_mpam()
1345 write_mpamvpm4_el2(read_el2_ctx_mpam(ctx, mpamvpm4_el2)); in el2_sysregs_context_restore_mpam()
1348 write_mpamvpm3_el2(read_el2_ctx_mpam(ctx, mpamvpm3_el2)); in el2_sysregs_context_restore_mpam()
1351 write_mpamvpm2_el2(read_el2_ctx_mpam(ctx, mpamvpm2_el2)); in el2_sysregs_context_restore_mpam()
1354 write_mpamvpm1_el2(read_el2_ctx_mpam(ctx, mpamvpm1_el2)); in el2_sysregs_context_restore_mpam()
1370 static void el2_sysregs_context_save_gic(el2_sysregs_t *ctx, uint32_t security_state) in el2_sysregs_context_save_gic() argument
1375 write_el2_ctx_common(ctx, icc_sre_el2, read_icc_sre_el2()); in el2_sysregs_context_save_gic()
1380 write_el2_ctx_common(ctx, icc_sre_el2, read_icc_sre_el2()); in el2_sysregs_context_save_gic()
1385 write_el2_ctx_common(ctx, ich_hcr_el2, read_ich_hcr_el2()); in el2_sysregs_context_save_gic()
1396 write_el2_ctx_common(ctx, ich_vmcr_el2, read_ich_vmcr_el2()); in el2_sysregs_context_save_gic()
1404 static void el2_sysregs_context_restore_gic(el2_sysregs_t *ctx, uint32_t security_state) in el2_sysregs_context_restore_gic() argument
1409 write_icc_sre_el2(read_el2_ctx_common(ctx, icc_sre_el2)); in el2_sysregs_context_restore_gic()
1414 write_icc_sre_el2(read_el2_ctx_common(ctx, icc_sre_el2)); in el2_sysregs_context_restore_gic()
1419 write_ich_hcr_el2(read_el2_ctx_common(ctx, ich_hcr_el2)); in el2_sysregs_context_restore_gic()
1430 write_ich_vmcr_el2(read_el2_ctx_common(ctx, ich_vmcr_el2)); in el2_sysregs_context_restore_gic()
1444 static void el2_sysregs_context_save_common(el2_sysregs_t *ctx) in el2_sysregs_context_save_common() argument
1446 write_el2_ctx_common(ctx, actlr_el2, read_actlr_el2()); in el2_sysregs_context_save_common()
1447 write_el2_ctx_common(ctx, afsr0_el2, read_afsr0_el2()); in el2_sysregs_context_save_common()
1448 write_el2_ctx_common(ctx, afsr1_el2, read_afsr1_el2()); in el2_sysregs_context_save_common()
1449 write_el2_ctx_common(ctx, amair_el2, read_amair_el2()); in el2_sysregs_context_save_common()
1450 write_el2_ctx_common(ctx, cnthctl_el2, read_cnthctl_el2()); in el2_sysregs_context_save_common()
1451 write_el2_ctx_common(ctx, cntvoff_el2, read_cntvoff_el2()); in el2_sysregs_context_save_common()
1452 write_el2_ctx_common(ctx, cptr_el2, read_cptr_el2()); in el2_sysregs_context_save_common()
1454 write_el2_ctx_common(ctx, dbgvcr32_el2, read_dbgvcr32_el2()); in el2_sysregs_context_save_common()
1456 write_el2_ctx_common(ctx, elr_el2, read_elr_el2()); in el2_sysregs_context_save_common()
1457 write_el2_ctx_common(ctx, esr_el2, read_esr_el2()); in el2_sysregs_context_save_common()
1458 write_el2_ctx_common(ctx, far_el2, read_far_el2()); in el2_sysregs_context_save_common()
1459 write_el2_ctx_common(ctx, hacr_el2, read_hacr_el2()); in el2_sysregs_context_save_common()
1460 write_el2_ctx_common(ctx, hcr_el2, read_hcr_el2()); in el2_sysregs_context_save_common()
1461 write_el2_ctx_common(ctx, hpfar_el2, read_hpfar_el2()); in el2_sysregs_context_save_common()
1462 write_el2_ctx_common(ctx, hstr_el2, read_hstr_el2()); in el2_sysregs_context_save_common()
1463 write_el2_ctx_common(ctx, mair_el2, read_mair_el2()); in el2_sysregs_context_save_common()
1464 write_el2_ctx_common(ctx, mdcr_el2, read_mdcr_el2()); in el2_sysregs_context_save_common()
1465 write_el2_ctx_common(ctx, sctlr_el2, read_sctlr_el2()); in el2_sysregs_context_save_common()
1466 write_el2_ctx_common(ctx, spsr_el2, read_spsr_el2()); in el2_sysregs_context_save_common()
1467 write_el2_ctx_common(ctx, sp_el2, read_sp_el2()); in el2_sysregs_context_save_common()
1468 write_el2_ctx_common(ctx, tcr_el2, read_tcr_el2()); in el2_sysregs_context_save_common()
1469 write_el2_ctx_common(ctx, tpidr_el2, read_tpidr_el2()); in el2_sysregs_context_save_common()
1470 write_el2_ctx_common(ctx, vbar_el2, read_vbar_el2()); in el2_sysregs_context_save_common()
1471 write_el2_ctx_common(ctx, vmpidr_el2, read_vmpidr_el2()); in el2_sysregs_context_save_common()
1472 write_el2_ctx_common(ctx, vpidr_el2, read_vpidr_el2()); in el2_sysregs_context_save_common()
1473 write_el2_ctx_common(ctx, vtcr_el2, read_vtcr_el2()); in el2_sysregs_context_save_common()
1475 write_el2_ctx_common_sysreg128(ctx, ttbr0_el2, read_ttbr0_el2()); in el2_sysregs_context_save_common()
1476 write_el2_ctx_common_sysreg128(ctx, vttbr_el2, read_vttbr_el2()); in el2_sysregs_context_save_common()
1479 static void el2_sysregs_context_restore_common(el2_sysregs_t *ctx) in el2_sysregs_context_restore_common() argument
1481 write_actlr_el2(read_el2_ctx_common(ctx, actlr_el2)); in el2_sysregs_context_restore_common()
1482 write_afsr0_el2(read_el2_ctx_common(ctx, afsr0_el2)); in el2_sysregs_context_restore_common()
1483 write_afsr1_el2(read_el2_ctx_common(ctx, afsr1_el2)); in el2_sysregs_context_restore_common()
1484 write_amair_el2(read_el2_ctx_common(ctx, amair_el2)); in el2_sysregs_context_restore_common()
1485 write_cnthctl_el2(read_el2_ctx_common(ctx, cnthctl_el2)); in el2_sysregs_context_restore_common()
1486 write_cntvoff_el2(read_el2_ctx_common(ctx, cntvoff_el2)); in el2_sysregs_context_restore_common()
1487 write_cptr_el2(read_el2_ctx_common(ctx, cptr_el2)); in el2_sysregs_context_restore_common()
1489 write_dbgvcr32_el2(read_el2_ctx_common(ctx, dbgvcr32_el2)); in el2_sysregs_context_restore_common()
1491 write_elr_el2(read_el2_ctx_common(ctx, elr_el2)); in el2_sysregs_context_restore_common()
1492 write_esr_el2(read_el2_ctx_common(ctx, esr_el2)); in el2_sysregs_context_restore_common()
1493 write_far_el2(read_el2_ctx_common(ctx, far_el2)); in el2_sysregs_context_restore_common()
1494 write_hacr_el2(read_el2_ctx_common(ctx, hacr_el2)); in el2_sysregs_context_restore_common()
1495 write_hcr_el2(read_el2_ctx_common(ctx, hcr_el2)); in el2_sysregs_context_restore_common()
1496 write_hpfar_el2(read_el2_ctx_common(ctx, hpfar_el2)); in el2_sysregs_context_restore_common()
1497 write_hstr_el2(read_el2_ctx_common(ctx, hstr_el2)); in el2_sysregs_context_restore_common()
1498 write_mair_el2(read_el2_ctx_common(ctx, mair_el2)); in el2_sysregs_context_restore_common()
1499 write_mdcr_el2(read_el2_ctx_common(ctx, mdcr_el2)); in el2_sysregs_context_restore_common()
1500 write_sctlr_el2(read_el2_ctx_common(ctx, sctlr_el2)); in el2_sysregs_context_restore_common()
1501 write_spsr_el2(read_el2_ctx_common(ctx, spsr_el2)); in el2_sysregs_context_restore_common()
1502 write_sp_el2(read_el2_ctx_common(ctx, sp_el2)); in el2_sysregs_context_restore_common()
1503 write_tcr_el2(read_el2_ctx_common(ctx, tcr_el2)); in el2_sysregs_context_restore_common()
1504 write_tpidr_el2(read_el2_ctx_common(ctx, tpidr_el2)); in el2_sysregs_context_restore_common()
1505 write_ttbr0_el2(read_el2_ctx_common(ctx, ttbr0_el2)); in el2_sysregs_context_restore_common()
1506 write_vbar_el2(read_el2_ctx_common(ctx, vbar_el2)); in el2_sysregs_context_restore_common()
1507 write_vmpidr_el2(read_el2_ctx_common(ctx, vmpidr_el2)); in el2_sysregs_context_restore_common()
1508 write_vpidr_el2(read_el2_ctx_common(ctx, vpidr_el2)); in el2_sysregs_context_restore_common()
1509 write_vtcr_el2(read_el2_ctx_common(ctx, vtcr_el2)); in el2_sysregs_context_restore_common()
1510 write_vttbr_el2(read_el2_ctx_common(ctx, vttbr_el2)); in el2_sysregs_context_restore_common()
1518 cpu_context_t *ctx; in cm_el2_sysregs_context_save() local
1521 ctx = cm_get_context(security_state); in cm_el2_sysregs_context_save()
1522 assert(ctx != NULL); in cm_el2_sysregs_context_save()
1524 el2_sysregs_ctx = get_el2_sysregs_ctx(ctx); in cm_el2_sysregs_context_save()
1613 cpu_context_t *ctx; in cm_el2_sysregs_context_restore() local
1616 ctx = cm_get_context(security_state); in cm_el2_sysregs_context_restore()
1617 assert(ctx != NULL); in cm_el2_sysregs_context_restore()
1619 el2_sysregs_ctx = get_el2_sysregs_ctx(ctx); in cm_el2_sysregs_context_restore()
1714 cpu_context_t *ctx = cm_get_context(NON_SECURE); in cm_prepare_el3_exit_ns() local
1715 assert(ctx != NULL); in cm_prepare_el3_exit_ns()
1718 u_register_t scr_el3 = read_ctx_reg(get_el3state_ctx(ctx), CTX_SCR_EL3); in cm_prepare_el3_exit_ns()
1736 static void el1_sysregs_context_save(el1_sysregs_t *ctx) in el1_sysregs_context_save() argument
1738 write_el1_ctx_common(ctx, spsr_el1, read_spsr_el1()); in el1_sysregs_context_save()
1739 write_el1_ctx_common(ctx, elr_el1, read_elr_el1()); in el1_sysregs_context_save()
1742 write_el1_ctx_common(ctx, sctlr_el1, read_sctlr_el1()); in el1_sysregs_context_save()
1743 write_el1_ctx_common(ctx, tcr_el1, read_tcr_el1()); in el1_sysregs_context_save()
1746 write_el1_ctx_common(ctx, cpacr_el1, read_cpacr_el1()); in el1_sysregs_context_save()
1747 write_el1_ctx_common(ctx, csselr_el1, read_csselr_el1()); in el1_sysregs_context_save()
1748 write_el1_ctx_common(ctx, sp_el1, read_sp_el1()); in el1_sysregs_context_save()
1749 write_el1_ctx_common(ctx, esr_el1, read_esr_el1()); in el1_sysregs_context_save()
1750 write_el1_ctx_common(ctx, mair_el1, read_mair_el1()); in el1_sysregs_context_save()
1751 write_el1_ctx_common(ctx, amair_el1, read_amair_el1()); in el1_sysregs_context_save()
1752 write_el1_ctx_common(ctx, actlr_el1, read_actlr_el1()); in el1_sysregs_context_save()
1753 write_el1_ctx_common(ctx, tpidr_el1, read_tpidr_el1()); in el1_sysregs_context_save()
1754 write_el1_ctx_common(ctx, tpidr_el0, read_tpidr_el0()); in el1_sysregs_context_save()
1755 write_el1_ctx_common(ctx, tpidrro_el0, read_tpidrro_el0()); in el1_sysregs_context_save()
1756 write_el1_ctx_common(ctx, far_el1, read_far_el1()); in el1_sysregs_context_save()
1757 write_el1_ctx_common(ctx, afsr0_el1, read_afsr0_el1()); in el1_sysregs_context_save()
1758 write_el1_ctx_common(ctx, afsr1_el1, read_afsr1_el1()); in el1_sysregs_context_save()
1759 write_el1_ctx_common(ctx, contextidr_el1, read_contextidr_el1()); in el1_sysregs_context_save()
1760 write_el1_ctx_common(ctx, vbar_el1, read_vbar_el1()); in el1_sysregs_context_save()
1761 write_el1_ctx_common(ctx, mdccint_el1, read_mdccint_el1()); in el1_sysregs_context_save()
1762 write_el1_ctx_common(ctx, mdscr_el1, read_mdscr_el1()); in el1_sysregs_context_save()
1764 write_el1_ctx_common_sysreg128(ctx, par_el1, read_par_el1()); in el1_sysregs_context_save()
1765 write_el1_ctx_common_sysreg128(ctx, ttbr0_el1, read_ttbr0_el1()); in el1_sysregs_context_save()
1766 write_el1_ctx_common_sysreg128(ctx, ttbr1_el1, read_ttbr1_el1()); in el1_sysregs_context_save()
1770 write_el1_ctx_aarch32(ctx, spsr_abt, read_spsr_abt()); in el1_sysregs_context_save()
1771 write_el1_ctx_aarch32(ctx, spsr_und, read_spsr_und()); in el1_sysregs_context_save()
1772 write_el1_ctx_aarch32(ctx, spsr_irq, read_spsr_irq()); in el1_sysregs_context_save()
1773 write_el1_ctx_aarch32(ctx, spsr_fiq, read_spsr_fiq()); in el1_sysregs_context_save()
1774 write_el1_ctx_aarch32(ctx, dacr32_el2, read_dacr32_el2()); in el1_sysregs_context_save()
1775 write_el1_ctx_aarch32(ctx, ifsr32_el2, read_ifsr32_el2()); in el1_sysregs_context_save()
1779 write_el1_ctx_arch_timer(ctx, cntkctl_el1, read_cntkctl_el1()); in el1_sysregs_context_save()
1782 write_el1_ctx_arch_timer(ctx, cntp_ctl_el0, read_cntp_ctl_el0()); in el1_sysregs_context_save()
1783 write_el1_ctx_arch_timer(ctx, cntp_cval_el0, read_cntp_cval_el0()); in el1_sysregs_context_save()
1784 write_el1_ctx_arch_timer(ctx, cntv_ctl_el0, read_cntv_ctl_el0()); in el1_sysregs_context_save()
1785 write_el1_ctx_arch_timer(ctx, cntv_cval_el0, read_cntv_cval_el0()); in el1_sysregs_context_save()
1789 write_el1_ctx_mte2(ctx, tfsre0_el1, read_tfsre0_el1()); in el1_sysregs_context_save()
1790 write_el1_ctx_mte2(ctx, tfsr_el1, read_tfsr_el1()); in el1_sysregs_context_save()
1791 write_el1_ctx_mte2(ctx, rgsr_el1, read_rgsr_el1()); in el1_sysregs_context_save()
1792 write_el1_ctx_mte2(ctx, gcr_el1, read_gcr_el1()); in el1_sysregs_context_save()
1796 write_el1_ctx_ras(ctx, disr_el1, read_disr_el1()); in el1_sysregs_context_save()
1800 write_el1_ctx_s1pie(ctx, pire0_el1, read_pire0_el1()); in el1_sysregs_context_save()
1801 write_el1_ctx_s1pie(ctx, pir_el1, read_pir_el1()); in el1_sysregs_context_save()
1805 write_el1_ctx_s1poe(ctx, por_el1, read_por_el1()); in el1_sysregs_context_save()
1809 write_el1_ctx_s2poe(ctx, s2por_el1, read_s2por_el1()); in el1_sysregs_context_save()
1813 write_el1_ctx_tcr2(ctx, tcr2_el1, read_tcr2_el1()); in el1_sysregs_context_save()
1817 write_el1_ctx_trf(ctx, trfcr_el1, read_trfcr_el1()); in el1_sysregs_context_save()
1821 write_el1_ctx_csv2_2(ctx, scxtnum_el0, read_scxtnum_el0()); in el1_sysregs_context_save()
1822 write_el1_ctx_csv2_2(ctx, scxtnum_el1, read_scxtnum_el1()); in el1_sysregs_context_save()
1826 write_el1_ctx_gcs(ctx, gcscr_el1, read_gcscr_el1()); in el1_sysregs_context_save()
1827 write_el1_ctx_gcs(ctx, gcscre0_el1, read_gcscre0_el1()); in el1_sysregs_context_save()
1828 write_el1_ctx_gcs(ctx, gcspr_el1, read_gcspr_el1()); in el1_sysregs_context_save()
1829 write_el1_ctx_gcs(ctx, gcspr_el0, read_gcspr_el0()); in el1_sysregs_context_save()
1833 write_el1_ctx_the_sysreg128(ctx, rcwmask_el1, read_rcwmask_el1()); in el1_sysregs_context_save()
1834 write_el1_ctx_the_sysreg128(ctx, rcwsmask_el1, read_rcwsmask_el1()); in el1_sysregs_context_save()
1838 write_el1_ctx_sctlr2(ctx, sctlr2_el1, read_sctlr2_el1()); in el1_sysregs_context_save()
1842 write_el1_ctx_ls64(ctx, accdata_el1, read_accdata_el1()); in el1_sysregs_context_save()
1846 static void el1_sysregs_context_restore(el1_sysregs_t *ctx) in el1_sysregs_context_restore() argument
1848 write_spsr_el1(read_el1_ctx_common(ctx, spsr_el1)); in el1_sysregs_context_restore()
1849 write_elr_el1(read_el1_ctx_common(ctx, elr_el1)); in el1_sysregs_context_restore()
1852 write_sctlr_el1(read_el1_ctx_common(ctx, sctlr_el1)); in el1_sysregs_context_restore()
1853 write_tcr_el1(read_el1_ctx_common(ctx, tcr_el1)); in el1_sysregs_context_restore()
1856 write_cpacr_el1(read_el1_ctx_common(ctx, cpacr_el1)); in el1_sysregs_context_restore()
1857 write_csselr_el1(read_el1_ctx_common(ctx, csselr_el1)); in el1_sysregs_context_restore()
1858 write_sp_el1(read_el1_ctx_common(ctx, sp_el1)); in el1_sysregs_context_restore()
1859 write_esr_el1(read_el1_ctx_common(ctx, esr_el1)); in el1_sysregs_context_restore()
1860 write_ttbr0_el1(read_el1_ctx_common(ctx, ttbr0_el1)); in el1_sysregs_context_restore()
1861 write_ttbr1_el1(read_el1_ctx_common(ctx, ttbr1_el1)); in el1_sysregs_context_restore()
1862 write_mair_el1(read_el1_ctx_common(ctx, mair_el1)); in el1_sysregs_context_restore()
1863 write_amair_el1(read_el1_ctx_common(ctx, amair_el1)); in el1_sysregs_context_restore()
1864 write_actlr_el1(read_el1_ctx_common(ctx, actlr_el1)); in el1_sysregs_context_restore()
1865 write_tpidr_el1(read_el1_ctx_common(ctx, tpidr_el1)); in el1_sysregs_context_restore()
1866 write_tpidr_el0(read_el1_ctx_common(ctx, tpidr_el0)); in el1_sysregs_context_restore()
1867 write_tpidrro_el0(read_el1_ctx_common(ctx, tpidrro_el0)); in el1_sysregs_context_restore()
1868 write_par_el1(read_el1_ctx_common(ctx, par_el1)); in el1_sysregs_context_restore()
1869 write_far_el1(read_el1_ctx_common(ctx, far_el1)); in el1_sysregs_context_restore()
1870 write_afsr0_el1(read_el1_ctx_common(ctx, afsr0_el1)); in el1_sysregs_context_restore()
1871 write_afsr1_el1(read_el1_ctx_common(ctx, afsr1_el1)); in el1_sysregs_context_restore()
1872 write_contextidr_el1(read_el1_ctx_common(ctx, contextidr_el1)); in el1_sysregs_context_restore()
1873 write_vbar_el1(read_el1_ctx_common(ctx, vbar_el1)); in el1_sysregs_context_restore()
1874 write_mdccint_el1(read_el1_ctx_common(ctx, mdccint_el1)); in el1_sysregs_context_restore()
1875 write_mdscr_el1(read_el1_ctx_common(ctx, mdscr_el1)); in el1_sysregs_context_restore()
1879 write_spsr_abt(read_el1_ctx_aarch32(ctx, spsr_abt)); in el1_sysregs_context_restore()
1880 write_spsr_und(read_el1_ctx_aarch32(ctx, spsr_und)); in el1_sysregs_context_restore()
1881 write_spsr_irq(read_el1_ctx_aarch32(ctx, spsr_irq)); in el1_sysregs_context_restore()
1882 write_spsr_fiq(read_el1_ctx_aarch32(ctx, spsr_fiq)); in el1_sysregs_context_restore()
1883 write_dacr32_el2(read_el1_ctx_aarch32(ctx, dacr32_el2)); in el1_sysregs_context_restore()
1884 write_ifsr32_el2(read_el1_ctx_aarch32(ctx, ifsr32_el2)); in el1_sysregs_context_restore()
1888 write_cntkctl_el1(read_el1_ctx_arch_timer(ctx, cntkctl_el1)); in el1_sysregs_context_restore()
1891 write_cntp_ctl_el0(read_el1_ctx_arch_timer(ctx, cntp_ctl_el0)); in el1_sysregs_context_restore()
1892 write_cntp_cval_el0(read_el1_ctx_arch_timer(ctx, cntp_cval_el0)); in el1_sysregs_context_restore()
1893 write_cntv_ctl_el0(read_el1_ctx_arch_timer(ctx, cntv_ctl_el0)); in el1_sysregs_context_restore()
1894 write_cntv_cval_el0(read_el1_ctx_arch_timer(ctx, cntv_cval_el0)); in el1_sysregs_context_restore()
1898 write_tfsre0_el1(read_el1_ctx_mte2(ctx, tfsre0_el1)); in el1_sysregs_context_restore()
1899 write_tfsr_el1(read_el1_ctx_mte2(ctx, tfsr_el1)); in el1_sysregs_context_restore()
1900 write_rgsr_el1(read_el1_ctx_mte2(ctx, rgsr_el1)); in el1_sysregs_context_restore()
1901 write_gcr_el1(read_el1_ctx_mte2(ctx, gcr_el1)); in el1_sysregs_context_restore()
1905 write_disr_el1(read_el1_ctx_ras(ctx, disr_el1)); in el1_sysregs_context_restore()
1909 write_pire0_el1(read_el1_ctx_s1pie(ctx, pire0_el1)); in el1_sysregs_context_restore()
1910 write_pir_el1(read_el1_ctx_s1pie(ctx, pir_el1)); in el1_sysregs_context_restore()
1914 write_por_el1(read_el1_ctx_s1poe(ctx, por_el1)); in el1_sysregs_context_restore()
1918 write_s2por_el1(read_el1_ctx_s2poe(ctx, s2por_el1)); in el1_sysregs_context_restore()
1922 write_tcr2_el1(read_el1_ctx_tcr2(ctx, tcr2_el1)); in el1_sysregs_context_restore()
1926 write_trfcr_el1(read_el1_ctx_trf(ctx, trfcr_el1)); in el1_sysregs_context_restore()
1930 write_scxtnum_el0(read_el1_ctx_csv2_2(ctx, scxtnum_el0)); in el1_sysregs_context_restore()
1931 write_scxtnum_el1(read_el1_ctx_csv2_2(ctx, scxtnum_el1)); in el1_sysregs_context_restore()
1935 write_gcscr_el1(read_el1_ctx_gcs(ctx, gcscr_el1)); in el1_sysregs_context_restore()
1936 write_gcscre0_el1(read_el1_ctx_gcs(ctx, gcscre0_el1)); in el1_sysregs_context_restore()
1937 write_gcspr_el1(read_el1_ctx_gcs(ctx, gcspr_el1)); in el1_sysregs_context_restore()
1938 write_gcspr_el0(read_el1_ctx_gcs(ctx, gcspr_el0)); in el1_sysregs_context_restore()
1942 write_rcwmask_el1(read_el1_ctx_the(ctx, rcwmask_el1)); in el1_sysregs_context_restore()
1943 write_rcwsmask_el1(read_el1_ctx_the(ctx, rcwsmask_el1)); in el1_sysregs_context_restore()
1947 write_sctlr2_el1(read_el1_ctx_sctlr2(ctx, sctlr2_el1)); in el1_sysregs_context_restore()
1951 write_accdata_el1(read_el1_ctx_ls64(ctx, accdata_el1)); in el1_sysregs_context_restore()
1961 cpu_context_t *ctx; in cm_el1_sysregs_context_save() local
1963 ctx = cm_get_context(security_state); in cm_el1_sysregs_context_save()
1964 assert(ctx != NULL); in cm_el1_sysregs_context_save()
1966 el1_sysregs_context_save(get_el1_sysregs_ctx(ctx)); in cm_el1_sysregs_context_save()
1979 cpu_context_t *ctx; in cm_el1_sysregs_context_restore() local
1981 ctx = cm_get_context(security_state); in cm_el1_sysregs_context_restore()
1982 assert(ctx != NULL); in cm_el1_sysregs_context_restore()
1984 el1_sysregs_context_restore(get_el1_sysregs_ctx(ctx)); in cm_el1_sysregs_context_restore()
2003 cpu_context_t *ctx; in cm_set_elr_el3() local
2006 ctx = cm_get_context(security_state); in cm_set_elr_el3()
2007 assert(ctx != NULL); in cm_set_elr_el3()
2010 state = get_el3state_ctx(ctx); in cm_set_elr_el3()
2021 cpu_context_t *ctx; in cm_set_elr_spsr_el3() local
2024 ctx = cm_get_context(security_state); in cm_set_elr_spsr_el3()
2025 assert(ctx != NULL); in cm_set_elr_spsr_el3()
2028 state = get_el3state_ctx(ctx); in cm_set_elr_spsr_el3()
2042 cpu_context_t *ctx; in cm_write_scr_el3_bit() local
2046 ctx = cm_get_context(security_state); in cm_write_scr_el3_bit()
2047 assert(ctx != NULL); in cm_write_scr_el3_bit()
2059 state = get_el3state_ctx(ctx); in cm_write_scr_el3_bit()
2072 const cpu_context_t *ctx; in cm_get_scr_el3() local
2075 ctx = cm_get_context(security_state); in cm_get_scr_el3()
2076 assert(ctx != NULL); in cm_get_scr_el3()
2079 state = get_el3state_ctx(ctx); in cm_get_scr_el3()
2090 cpu_context_t *ctx; in cm_set_next_eret_context() local
2092 ctx = cm_get_context(security_state); in cm_set_next_eret_context()
2093 assert(ctx != NULL); in cm_set_next_eret_context()
2095 cm_set_next_context(ctx); in cm_set_next_eret_context()