diff --git a/VersionASM b/VersionASM index 4681c99c409a3d324d7d63dc6b7ca98a226612a7..c7314fcfd7bad9bea36bec0fd5d1dfd9c6340065 100644 --- a/VersionASM +++ b/VersionASM @@ -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 diff --git a/VersionNum b/VersionNum index 4b6198a2462401b779e24c6f350ac5a8e6154ced..9c993044e860349b22031a1ab4571d2bfb15bdf1 100644 --- a/VersionNum +++ b/VersionNum @@ -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" diff --git a/s/Middle b/s/Middle index a4f660e485fa2d5cd28721905363cc8e660e79ab..4bb8e70c79539fd0d47cdf1d93d3c59167f32719 100644 --- a/s/Middle +++ b/s/Middle @@ -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}