libnx/nx/source/kernel/cache.s
2017-10-10 00:44:00 -04:00

35 lines
454 B
ArmAsm

.macro CODE_BEGIN name
.section .text.\name, "ax", %progbits
.global \name
.type \name, %function
.align 2
.cfi_startproc
\name:
.endm
.macro CODE_END
.cfi_endproc
.endm
CODE_BEGIN osDCacheFlush
add x1, x1, x0
mrs x8, CTR_EL0
lsr x8, x8, #16
and x8, x8, #0xf
mov x9, #4
lsl x9, x9, x8
sub x10, x9, #1
bic x8, x0, x10
mov x10, x1
osDCacheFlush_L0:
dc civac, x8
add x8, x8, x9
cmp x8, x10
bcc osDCacheFlush_L0
dsb sy
ret
CODE_END