int core_tlb_maintenance(int op, unsigned int a) { /* * We're doing TLB invalidation because we've changed mapping. * The dsb() makes sure that written data is visible. */ dsb(); switch (op) { case TLBINV_UNIFIEDTLB: secure_mmu_unifiedtlbinvall(); break; case TLBINV_CURRENT_ASID: secure_mmu_unifiedtlbinv_curasid(); break; case TLBINV_BY_ASID: secure_mmu_unifiedtlbinv_byasid(a); break; case TLBINV_BY_MVA: EMSG("TLB_INV_SECURE_MVA is not yet supported!"); while (1) ; secure_mmu_unifiedtlbinvbymva(a); break; default: return 1; } return 0; }
int core_tlb_maintenance(int op, unsigned int a) { switch (op) { case TLBINV_UNIFIEDTLB: secure_mmu_unifiedtlbinvall(); break; case TLBINV_CURRENT_ASID: secure_mmu_unifiedtlbinv_curasid(); break; case TLBINV_BY_ASID: secure_mmu_unifiedtlbinv_byasid(a); break; case TLBINV_BY_MVA: EMSG("TLB_INV_SECURE_MVA is not yet supported!"); while (1) ; secure_mmu_unifiedtlbinvbymva(a); break; default: return 1; } return 0; }