Commit 9a6346d8 authored by Ben Avison's avatar Ben Avison
Browse files

Bugfix and header change.

Detail:
  * I noticed in passing that the default exception handlers were broken for
    non-IOMD machines if the exception was raised in FIQ mode - unless you
    had a very large application slot, then the machine would lock up. Now
    properly HAL-ised.
  * Added a new event number, allocated for PRISM use back in June.
Admin:
  Not tested. However, it can't make the situation any worse!

Version 5.35, 4.79.2.78. Tagged as 'Kernel-5_35-4_79_2_78'
parent 5e89ff87
......@@ -13,11 +13,11 @@
GBLS Module_ComponentPath
Module_MajorVersion SETS "5.35"
Module_Version SETA 535
Module_MinorVersion SETS "4.79.2.77"
Module_Date SETS "06 Oct 2004"
Module_ApplicationDate SETS "06-Oct-04"
Module_MinorVersion SETS "4.79.2.78"
Module_Date SETS "13 Oct 2004"
Module_ApplicationDate SETS "13-Oct-04"
Module_ComponentName SETS "Kernel"
Module_ComponentPath SETS "RiscOS/Sources/Kernel"
Module_FullVersion SETS "5.35 (4.79.2.77)"
Module_HelpVersion SETS "5.35 (06 Oct 2004) 4.79.2.77"
Module_FullVersion SETS "5.35 (4.79.2.78)"
Module_HelpVersion SETS "5.35 (13 Oct 2004) 4.79.2.78"
END
......@@ -5,19 +5,19 @@
*
*/
#define Module_MajorVersion_CMHG 5.35
#define Module_MinorVersion_CMHG 4.79.2.77
#define Module_Date_CMHG 06 Oct 2004
#define Module_MinorVersion_CMHG 4.79.2.78
#define Module_Date_CMHG 13 Oct 2004
#define Module_MajorVersion "5.35"
#define Module_Version 535
#define Module_MinorVersion "4.79.2.77"
#define Module_Date "06 Oct 2004"
#define Module_MinorVersion "4.79.2.78"
#define Module_Date "13 Oct 2004"
#define Module_ApplicationDate "06-Oct-04"
#define Module_ApplicationDate "13-Oct-04"
#define Module_ComponentName "Kernel"
#define Module_ComponentPath "RiscOS/Sources/Kernel"
#define Module_FullVersion "5.35 (4.79.2.77)"
#define Module_HelpVersion "5.35 (06 Oct 2004) 4.79.2.77"
#define Module_FullVersion "5.35 (4.79.2.78)"
#define Module_HelpVersion "5.35 (13 Oct 2004) 4.79.2.78"
#define Module_LibraryVersionInfo "5:35"
......@@ -684,8 +684,15 @@ DumpyTheRegisters ROUT
AND R2, R1, #&0F
EORS R2, R2, #FIQ_mode ; Was we in FIQ ? Zero if so
[ HAL
BNE UNDEF2
MSR CPSR_c, #I32_bit+F32_bit+SVC32_mode ; into SVC mode so we have a stack
AddressHAL R2
CallHAL HAL_FIQDisableAll
|
MOVEQ R3, #IOC
STREQB R2, [R3, #IOCFIQMSK] ; Blow away all FIQ sources
]
UNDEF2
MSR CPSR_c, #I32_bit+F32_bit+SVC32_mode ; into SVC mode
......@@ -704,8 +711,16 @@ UNDEF1
TEQP PC, #SVC_mode :OR: I_bit :OR: F_bit
AND R1, R1, #SVC_mode
EORS R2, R1, #FIQ_mode ; Was we in FIQ ? Zero if so
[ HAL
BNE UNDEF1
MOV R4, R14 ; R14_SVC will be corrupted by the HAL call
AddressHAL R2
CallHAL HAL_FIQDisableAll
MOV R14, R4
|
MOVEQ R3, #IOC
STREQB R2, [R3, #IOCFIQMSK] ; Blow away all FIQ sources
]
B UNDEF1
02 STMIA R0, {R8-R14}
......
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