summaryrefslogtreecommitdiff
path: root/src/libultra/os/writebackdcacheall.s
blob: a15ef4554fd3ecdf6c7a458dd0e40b212166ec68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "ultra64/asm.h"
#include "ultra64/regdef.h"
#include "ultra64/R4300.h"

.text

LEAF(osWritebackDCacheAll)
    li      t0, K0BASE
    li      t2, DCACHE_SIZE
    addu    t1, t0, t2
    addiu   t1, t1, -DCACHE_LINESIZE
1:
.set noreorder
    cache   (CACH_PD | C_IWBINV), (t0)
    bltu    t0, t1, 1b
     addiu  t0, DCACHE_LINESIZE
.set reorder
    jr      ra
END(osWritebackDCacheAll)