1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #include <mips/asm.h>
- #include <core_config.h>
- #include <mips/regdef.h>
- #include <mips/m32c0.h>
- LEAF(init_cp0)
-
- li a1, 0x00400404
- mtc0 a1, C0_STATUS
-
- mfc0 a0, C0_CONFIG1
- ext a1, a0, 3, 1
- beq a1, zero, done_wr
- li a1, 0x7
-
- mtc0 a1, C0_WATCHHI
- mtc0 zero, C0_WATCHLO
- mtc0 a1, C0_WATCHHI, 1
- mtc0 zero, C0_WATCHLO, 1
- mtc0 a1, C0_WATCHHI, 2
- mtc0 zero, C0_WATCHLO, 2
- mtc0 a1, C0_WATCHHI, 3
- mtc0 zero, C0_WATCHLO, 3
- mtc0 a1, C0_WATCHHI, 4
- mtc0 zero, C0_WATCHLO, 4
- mtc0 a1, C0_WATCHHI, 5
- mtc0 zero, C0_WATCHLO, 5
- mtc0 a1, C0_WATCHHI, 6
- mtc0 zero, C0_WATCHLO, 6
- mtc0 a1, C0_WATCHHI, 7
- mtc0 zero, C0_WATCHLO, 7
- done_wr:
-
- mtc0 zero, C0_CAUSE
-
- mtc0 zero, C0_COMPARE
- jr ra
- END(init_cp0)
|