2018-07-28 06:20:23 +00:00
|
|
|
; AUTO-GENERATED SYMBOL LIST
|
|
|
|
; EXPORTS:
|
|
|
|
; SystemCrash (=> MRInterrupts, MROptabCode, NKExceptions, NKLegacyVM, NKMemory, NKReset, NKSoftInts)
|
2018-07-28 05:37:20 +00:00
|
|
|
|
|
|
|
########################################################################
|
|
|
|
|
2018-07-15 09:20:35 +00:00
|
|
|
SystemCrash
|
2018-07-28 06:20:23 +00:00
|
|
|
mfsprg r1, 0
|
|
|
|
|
|
|
|
stw r0, KDP.CrashR0(r1)
|
|
|
|
|
|
|
|
mfsprg r0, 1
|
|
|
|
stw r0, KDP.CrashR1(r1)
|
|
|
|
|
|
|
|
stmw r2, KDP.CrashR2(r1)
|
|
|
|
|
|
|
|
mfcr r0
|
|
|
|
stw r0, KDP.CrashCR(r1)
|
|
|
|
|
|
|
|
mfspr r0, mq
|
|
|
|
stw r0, KDP.CrashMQ(r1)
|
|
|
|
|
|
|
|
mfxer r0
|
|
|
|
stw r0, KDP.CrashXER(r1)
|
|
|
|
|
|
|
|
mfsprg r0, 2
|
|
|
|
stw r0, KDP.CrashLR(r1)
|
|
|
|
|
|
|
|
mfctr r0
|
|
|
|
stw r0, KDP.CrashCTR(r1)
|
|
|
|
|
|
|
|
mfspr r0, pvr
|
|
|
|
stw r0, KDP.CrashPVR(r1)
|
|
|
|
|
|
|
|
mfspr r0, dsisr
|
|
|
|
stw r0, KDP.CrashDSISR(r1)
|
|
|
|
mfspr r0, dar
|
|
|
|
stw r0, KDP.CrashDAR(r1)
|
|
|
|
|
|
|
|
mfspr r0, rtcu
|
|
|
|
stw r0, KDP.CrashRTCU(r1)
|
|
|
|
mfspr r0, rtcl
|
|
|
|
stw r0, KDP.CrashRTCL(r1)
|
|
|
|
|
|
|
|
mfspr r0, dec
|
|
|
|
stw r0, KDP.CrashDEC(r1)
|
|
|
|
|
|
|
|
mfspr r0, hid0
|
|
|
|
stw r0, KDP.CrashHID0(r1)
|
|
|
|
|
|
|
|
mfspr r0, sdr1
|
|
|
|
stw r0, KDP.CrashSDR1(r1)
|
|
|
|
|
|
|
|
mfsrr0 r0
|
|
|
|
stw r0, KDP.CrashSRR0(r1)
|
|
|
|
mfsrr1 r0
|
|
|
|
stw r0, KDP.CrashSRR1(r1)
|
|
|
|
mfmsr r0
|
|
|
|
stw r0, KDP.CrashMSR(r1)
|
|
|
|
|
|
|
|
mfsr r0, 0
|
|
|
|
stw r0, KDP.CrashSR0(r1)
|
|
|
|
mfsr r0, 1
|
|
|
|
stw r0, KDP.CrashSR1(r1)
|
|
|
|
mfsr r0, 2
|
|
|
|
stw r0, KDP.CrashSR2(r1)
|
|
|
|
mfsr r0, 3
|
|
|
|
stw r0, KDP.CrashSR3(r1)
|
|
|
|
mfsr r0, 4
|
|
|
|
stw r0, KDP.CrashSR4(r1)
|
|
|
|
mfsr r0, 5
|
|
|
|
stw r0, KDP.CrashSR5(r1)
|
|
|
|
mfsr r0, 6
|
|
|
|
stw r0, KDP.CrashSR6(r1)
|
|
|
|
mfsr r0, 7
|
|
|
|
stw r0, KDP.CrashSR7(r1)
|
|
|
|
mfsr r0, 8
|
|
|
|
stw r0, KDP.CrashSR8(r1)
|
|
|
|
mfsr r0, 9
|
|
|
|
stw r0, KDP.CrashSR9(r1)
|
|
|
|
mfsr r0, 10
|
|
|
|
stw r0, KDP.CrashSR10(r1)
|
|
|
|
mfsr r0, 11
|
|
|
|
stw r0, KDP.CrashSR11(r1)
|
|
|
|
mfsr r0, 12
|
|
|
|
stw r0, KDP.CrashSR12(r1)
|
|
|
|
mfsr r0, 13
|
|
|
|
stw r0, KDP.CrashSR13(r1)
|
|
|
|
mfsr r0, 14
|
|
|
|
stw r0, KDP.CrashSR14(r1)
|
|
|
|
mfsr r0, 15
|
|
|
|
stw r0, KDP.CrashSR15(r1)
|
|
|
|
|
|
|
|
mfmsr r0
|
|
|
|
_set r0, r0, bitMsrFP
|
|
|
|
mtmsr r0
|
|
|
|
stfd f0, KDP.CrashF0(r1)
|
|
|
|
stfd f1, KDP.CrashF1(r1)
|
|
|
|
stfd f2, KDP.CrashF2(r1)
|
|
|
|
stfd f3, KDP.CrashF3(r1)
|
|
|
|
stfd f4, KDP.CrashF4(r1)
|
|
|
|
stfd f5, KDP.CrashF5(r1)
|
|
|
|
stfd f6, KDP.CrashF6(r1)
|
|
|
|
stfd f7, KDP.CrashF7(r1)
|
|
|
|
stfd f8, KDP.CrashF8(r1)
|
|
|
|
stfd f9, KDP.CrashF9(r1)
|
|
|
|
stfd f10, KDP.CrashF10(r1)
|
|
|
|
stfd f11, KDP.CrashF11(r1)
|
|
|
|
stfd f12, KDP.CrashF12(r1)
|
|
|
|
stfd f13, KDP.CrashF13(r1)
|
|
|
|
stfd f14, KDP.CrashF14(r1)
|
|
|
|
stfd f15, KDP.CrashF15(r1)
|
|
|
|
stfd f16, KDP.CrashF16(r1)
|
|
|
|
stfd f17, KDP.CrashF17(r1)
|
|
|
|
stfd f18, KDP.CrashF18(r1)
|
|
|
|
stfd f19, KDP.CrashF19(r1)
|
|
|
|
stfd f20, KDP.CrashF20(r1)
|
|
|
|
stfd f21, KDP.CrashF21(r1)
|
|
|
|
stfd f22, KDP.CrashF22(r1)
|
|
|
|
stfd f23, KDP.CrashF23(r1)
|
|
|
|
stfd f24, KDP.CrashF24(r1)
|
|
|
|
stfd f25, KDP.CrashF25(r1)
|
|
|
|
stfd f26, KDP.CrashF26(r1)
|
|
|
|
stfd f27, KDP.CrashF27(r1)
|
|
|
|
stfd f28, KDP.CrashF28(r1)
|
|
|
|
stfd f29, KDP.CrashF29(r1)
|
|
|
|
stfd f30, KDP.CrashF30(r1)
|
|
|
|
stfd f31, KDP.CrashF31(r1)
|
|
|
|
mffs f31
|
|
|
|
lwz r0, KDP.CrashF31+4(r1)
|
|
|
|
stfd f31, KDP.CrashF31+4(r1)
|
|
|
|
stw r0, KDP.CrashF31+4(r1)
|
|
|
|
|
|
|
|
mflr r0
|
|
|
|
stw r0, KDP.CrashKernReturn(r1)
|
2018-07-15 09:20:35 +00:00
|
|
|
|
|
|
|
########################################################################
|
|
|
|
|
2018-07-28 06:20:23 +00:00
|
|
|
lis r2, 2 ; Count down from 64k to find a zero
|
2018-07-15 09:20:35 +00:00
|
|
|
@nonzero
|
2018-07-28 06:20:23 +00:00
|
|
|
lwzu r0, -4(r2)
|
|
|
|
mr. r2, r2
|
|
|
|
bne @nonzero
|
|
|
|
|
|
|
|
@retryrtc ; Save RTC in "Mac/Smurf shared message mem"
|
|
|
|
mfspr r2, rtcu
|
|
|
|
mfspr r3, rtcl
|
|
|
|
mfspr r0, rtcu
|
|
|
|
xor. r0, r0, r2
|
|
|
|
bne @retryrtc
|
|
|
|
lwz r1, KDP.SharedMemoryAddr(r1)
|
|
|
|
stw r2, 0(r1)
|
|
|
|
ori r3, r3, 1
|
|
|
|
stw r3, 4(r1)
|
|
|
|
|
|
|
|
dcbf 0, r1
|
|
|
|
sync
|
2018-07-15 09:20:35 +00:00
|
|
|
|
|
|
|
@loopforever
|
2018-07-28 06:20:23 +00:00
|
|
|
lwz r1, 0(0)
|
|
|
|
addi r1, r1, 1
|
|
|
|
stw r1, 0(0)
|
|
|
|
li r1, 0
|
|
|
|
dcbst r1, r1
|
|
|
|
b @loopforever
|