Home
last modified time | relevance | path

Searched refs:clidr (Results 1 – 7 of 7) sorted by relevance

/linux-6.15/arch/arm64/include/asm/
H A Dcache.h15 #define CLIDR_LOUU(clidr) (((clidr) >> CLIDR_LOUU_SHIFT) & 0x7) argument
16 #define CLIDR_LOC(clidr) (((clidr) >> CLIDR_LOC_SHIFT) & 0x7) argument
17 #define CLIDR_LOUIS(clidr) (((clidr) >> CLIDR_LOUIS_SHIFT) & 0x7) argument
22 #define CLIDR_CTYPE(clidr, level) \ argument
23 (((clidr) & CLIDR_CTYPE_MASK(level)) >> CLIDR_CTYPE_SHIFT(level))
111 u64 clidr = read_sysreg(clidr_el1); in read_cpuid_effective_cachetype() local
113 if (CLIDR_LOC(clidr) == 0 || in read_cpuid_effective_cachetype()
114 (CLIDR_LOUIS(clidr) == 0 && CLIDR_LOUU(clidr) == 0)) in read_cpuid_effective_cachetype()
/linux-6.15/arch/arm/kernel/
H A Dcacheinfo.c21 #define CLIDR_CTYPE(clidr, level) \ argument
22 (((clidr) & CLIDR_CTYPE_MASK(level)) >> CLIDR_CTYPE_SHIFT(level))
66 u32 clidr; in get_cache_type() local
71 clidr = read_clidr(); in get_cache_type()
73 return CLIDR_CTYPE(clidr, level); in get_cache_type()
/linux-6.15/arch/arm64/kernel/
H A Dcacheinfo.c26 u64 clidr; in get_cache_type() local
30 clidr = read_sysreg(clidr_el1); in get_cache_type()
31 return CLIDR_CTYPE(clidr, level); in get_cache_type()
/linux-6.15/tools/testing/selftests/kvm/arm64/
H A Dset_id_regs.c576 #define CLIDR_CTYPE(clidr, level) \ argument
577 (((clidr) & CLIDR_CTYPE_MASK(level)) >> CLIDR_CTYPE_SHIFT(level))
581 uint64_t clidr; in test_clidr() local
584 clidr = vcpu_get_reg(vcpu, KVM_ARM64_SYS_REG(SYS_CLIDR_EL1)); in test_clidr()
588 if (!CLIDR_CTYPE(clidr, level)) in test_clidr()
599 clidr |= BIT(2) << CLIDR_CTYPE_SHIFT(level); in test_clidr()
601 vcpu_set_reg(vcpu, KVM_ARM64_SYS_REG(SYS_CLIDR_EL1), clidr); in test_clidr()
602 test_reg_vals[encoding_to_range_idx(SYS_CLIDR_EL1)] = clidr; in test_clidr()
/linux-6.15/arch/arm/mm/
H A Dcache-v7.S101 mrc p15, 1, r0, c0, c0, 1 @ read clidr, r0 = clidr
104 ands r3, r3, #7 << 1 @ extract LoU*2 field from clidr
129 mrc p15, 1, r0, c0, c0, 1 @ read clidr
131 ands r3, r3, #7 << 1 @ extract LoC*2 from clidr
137 mov r1, r0, lsr r2 @ extract cache type bits from clidr
H A Dcache-v7m.S179 ands r3, r3, #7 << 1 @ extract LoC*2 from clidr
185 mov r1, r0, lsr r2 @ extract cache type bits from clidr
/linux-6.15/arch/arm64/kvm/
H A Dsys_regs.c2147 u64 clidr; in reset_clidr() local
2160 clidr = CACHE_TYPE_UNIFIED << CLIDR_CTYPE_SHIFT(loc); in reset_clidr()
2168 clidr = 1 << CLIDR_LOUU_SHIFT; in reset_clidr()
2169 clidr |= 1 << CLIDR_LOUIS_SHIFT; in reset_clidr()
2170 clidr |= CACHE_TYPE_DATA << CLIDR_CTYPE_SHIFT(1); in reset_clidr()
2179 clidr |= CACHE_TYPE_INST << CLIDR_CTYPE_SHIFT(1); in reset_clidr()
2181 clidr |= loc << CLIDR_LOC_SHIFT; in reset_clidr()
2189 clidr |= 2ULL << CLIDR_TTYPE_SHIFT(loc); in reset_clidr()
2191 __vcpu_sys_reg(vcpu, r->reg) = clidr; in reset_clidr()