arm64: mm: use ubfm for dcache_line_size

Use 'ubfm' for the bitfield move instruction; thus, single
instruction can be used instead of two instructions, when
getting the minimum D-cache line size from CTR_EL0 register.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
Jingoo Han 2014-01-20 05:00:21 +00:00 committed by Catalin Marinas
parent 883c057367
commit bd5f6dc304

View file

@ -38,8 +38,7 @@
*/ */
.macro dcache_line_size, reg, tmp .macro dcache_line_size, reg, tmp
mrs \tmp, ctr_el0 // read CTR mrs \tmp, ctr_el0 // read CTR
lsr \tmp, \tmp, #16 ubfm \tmp, \tmp, #16, #19 // cache line size encoding
and \tmp, \tmp, #0xf // cache line size encoding
mov \reg, #4 // bytes per word mov \reg, #4 // bytes per word
lsl \reg, \reg, \tmp // actual cache line size lsl \reg, \reg, \tmp // actual cache line size
.endm .endm