Commit ed1b4b5b authored by Jeffrey Lee's avatar Jeffrey Lee

Make it easier to debug aborts that were triggered by ABT/UND code

Detail:
  s/Middle - Tweak register dump generation so that it'll attempt to provide sensible R13 & R14 values if the abort came from the same mode that we're handling the abort in. R13 will be adjusted by however much data we've pushed onto the stack, and R14 will be set to &DEADDEAD to indicate that the CPU has corrupted it and we don't know what the original value was.
Admin:
  Tested on BB-xM


Version 5.98. Tagged as 'Kernel-5_98'
parent 5bc10832
......@@ -11,13 +11,13 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "5.97"
Module_Version SETA 597
Module_MajorVersion SETS "5.98"
Module_Version SETA 598
Module_MinorVersion SETS ""
Module_Date SETS "11 Feb 2018"
Module_ApplicationDate SETS "11-Feb-18"
Module_Date SETS "21 Feb 2018"
Module_ApplicationDate SETS "21-Feb-18"
Module_ComponentName SETS "Kernel"
Module_ComponentPath SETS "castle/RiscOS/Sources/Kernel"
Module_FullVersion SETS "5.97"
Module_HelpVersion SETS "5.97 (11 Feb 2018)"
Module_FullVersion SETS "5.98"
Module_HelpVersion SETS "5.98 (21 Feb 2018)"
END
/* (5.97)
/* (5.98)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 5.97
#define Module_MajorVersion_CMHG 5.98
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 11 Feb 2018
#define Module_Date_CMHG 21 Feb 2018
#define Module_MajorVersion "5.97"
#define Module_Version 597
#define Module_MajorVersion "5.98"
#define Module_Version 598
#define Module_MinorVersion ""
#define Module_Date "11 Feb 2018"
#define Module_Date "21 Feb 2018"
#define Module_ApplicationDate "11-Feb-18"
#define Module_ApplicationDate "21-Feb-18"
#define Module_ComponentName "Kernel"
#define Module_ComponentPath "castle/RiscOS/Sources/Kernel"
#define Module_FullVersion "5.97"
#define Module_HelpVersion "5.97 (11 Feb 2018)"
#define Module_LibraryVersionInfo "5:97"
#define Module_FullVersion "5.98"
#define Module_HelpVersion "5.98 (21 Feb 2018)"
#define Module_LibraryVersionInfo "5:98"
......@@ -632,13 +632,20 @@ DumpyTheRegisters ROUT
]
BEQ UNDEF2
MRS R3, CPSR
AND R3, R3, #&0F
ORR R2, R1, #I32_bit :OR: F32_bit
BIC R2, R2, #T32_bit
MSR CPSR_c, R2 ; change into original mode
STMIA R0, {R8-R12} ; save the banked registers
AND R2, R1, #&0F
STR SP, [R0, #5*4]
CMP R2, R3 ; did abort come from our abort-handling mode?
MOV R3, SP
ADDEQ R3, R3, #17*4 ; adjust stored SP if so
LDREQ R14, =&DEADDEAD ; and mark R14 as corrupt
STR R3, [R0, #5*4]
EORS R2, R2, #FIQ_mode ; Was we in FIQ ? Zero if so
STR R14, [R0, #6*4]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment