Lines Matching refs:desc
555 static void mte_sync_check_fail(CPUARMState *env, uint32_t desc, in mte_sync_check_fail() argument
562 is_write = FIELD_EX32(desc, MTEDESC, WRITE); in mte_sync_check_fail()
593 void mte_check_fail(CPUARMState *env, uint32_t desc, in mte_check_fail() argument
596 int mmu_idx = FIELD_EX32(desc, MTEDESC, MIDX); in mte_check_fail()
618 mte_sync_check_fail(env, desc, dirty_ptr, ra); in mte_check_fail()
639 if (FIELD_EX32(desc, MTEDESC, WRITE)) { in mte_check_fail()
642 mte_sync_check_fail(env, desc, dirty_ptr, ra); in mte_check_fail()
771 static int mte_probe_int(CPUARMState *env, uint32_t desc, uint64_t ptr, in mte_probe_int() argument
785 if (unlikely(!tbi_check(desc, bit55))) { in mte_probe_int()
791 if (tcma_check(desc, bit55, ptr_tag)) { in mte_probe_int()
795 mmu_idx = FIELD_EX32(desc, MTEDESC, MIDX); in mte_probe_int()
796 type = FIELD_EX32(desc, MTEDESC, WRITE) ? MMU_DATA_STORE : MMU_DATA_LOAD; in mte_probe_int()
797 sizem1 = FIELD_EX32(desc, MTEDESC, SIZEM1); in mte_probe_int()
861 uint64_t mte_check(CPUARMState *env, uint32_t desc, uint64_t ptr, uintptr_t ra) in mte_check() argument
864 int ret = mte_probe_int(env, desc, ptr, ra, &fault); in mte_check()
867 mte_check_fail(env, desc, fault, ra); in mte_check()
874 uint64_t HELPER(mte_check)(CPUARMState *env, uint32_t desc, uint64_t ptr) in HELPER()
883 unsigned align = FIELD_EX32(desc, MTEDESC, ALIGN); in HELPER()
887 int idx = FIELD_EX32(desc, MTEDESC, MIDX); in HELPER()
888 bool w = FIELD_EX32(desc, MTEDESC, WRITE); in HELPER()
894 return mte_check(env, desc, ptr, GETPC()); in HELPER()
903 bool mte_probe(CPUARMState *env, uint32_t desc, uint64_t ptr) in mte_probe() argument
906 int ret = mte_probe_int(env, desc, ptr, 0, &fault); in mte_probe()
914 uint64_t HELPER(mte_check_zva)(CPUARMState *env, uint32_t desc, uint64_t ptr) in HELPER()
926 if (unlikely(!tbi_check(desc, bit55))) { in HELPER()
932 if (tcma_check(desc, bit55, ptr_tag)) { in HELPER()
952 mmu_idx = FIELD_EX32(desc, MTEDESC, MIDX); in HELPER()
1011 mte_check_fail(env, desc, align_ptr + i * TAG_GRANULE, ra); in HELPER()
1018 uint32_t desc) in mte_mops_probe() argument
1023 bool w = FIELD_EX32(desc, MTEDESC, WRITE); in mte_mops_probe()
1026 mmu_idx = FIELD_EX32(desc, MTEDESC, MIDX); in mte_mops_probe()
1068 uint32_t desc) in mte_mops_probe_rev() argument
1073 bool w = FIELD_EX32(desc, MTEDESC, WRITE); in mte_mops_probe_rev()
1076 mmu_idx = FIELD_EX32(desc, MTEDESC, MIDX); in mte_mops_probe_rev()
1126 uint32_t desc) in mte_mops_set_tags() argument
1132 if (!desc) { in mte_mops_set_tags()
1137 mmu_idx = FIELD_EX32(desc, MTEDESC, MIDX); in mte_mops_set_tags()