Commit 299e5e40 authored by Jeffrey Lee's avatar Jeffrey Lee
Browse files

Fix crashes on ARM6T2+ when OS_Byte/OS_Word are used from IRQ mode

Detail:
  s/Kernel - A bug introduced when adding the BFI optimisations meant that NoIrqVecSwiDespatch was enabling IRQs instead of disabling them, leading to lr_irq corruption and a potential crash if the SWIs were used from IRQ mode
Admin:
  Tested on rev A2 BB-xM
  Having KeyExtend loaded no longer causes random crashes during keyboard input
  Fixes issue reported on forums: http://www.riscosopen.org/forum/forums/4/topics/1024#posts-12004


Version 5.35, 4.79.2.148. Tagged as 'Kernel-5_35-4_79_2_148'
parent 105674f6
......@@ -13,11 +13,11 @@
GBLS Module_ComponentPath
Module_MajorVersion SETS "5.35"
Module_Version SETA 535
Module_MinorVersion SETS "4.79.2.147"
Module_Date SETS "26 Apr 2012"
Module_ApplicationDate SETS "26-Apr-12"
Module_MinorVersion SETS "4.79.2.148"
Module_Date SETS "15 May 2012"
Module_ApplicationDate SETS "15-May-12"
Module_ComponentName SETS "Kernel"
Module_ComponentPath SETS "castle/RiscOS/Sources/Kernel"
Module_FullVersion SETS "5.35 (4.79.2.147)"
Module_HelpVersion SETS "5.35 (26 Apr 2012) 4.79.2.147"
Module_FullVersion SETS "5.35 (4.79.2.148)"
Module_HelpVersion SETS "5.35 (15 May 2012) 4.79.2.148"
END
......@@ -5,19 +5,19 @@
*
*/
#define Module_MajorVersion_CMHG 5.35
#define Module_MinorVersion_CMHG 4.79.2.147
#define Module_Date_CMHG 26 Apr 2012
#define Module_MinorVersion_CMHG 4.79.2.148
#define Module_Date_CMHG 15 May 2012
#define Module_MajorVersion "5.35"
#define Module_Version 535
#define Module_MinorVersion "4.79.2.147"
#define Module_Date "26 Apr 2012"
#define Module_MinorVersion "4.79.2.148"
#define Module_Date "15 May 2012"
#define Module_ApplicationDate "26-Apr-12"
#define Module_ApplicationDate "15-May-12"
#define Module_ComponentName "Kernel"
#define Module_ComponentPath "castle/RiscOS/Sources/Kernel"
#define Module_FullVersion "5.35 (4.79.2.147)"
#define Module_HelpVersion "5.35 (26 Apr 2012) 4.79.2.147"
#define Module_FullVersion "5.35 (4.79.2.148)"
#define Module_HelpVersion "5.35 (15 May 2012) 4.79.2.148"
#define Module_LibraryVersionInfo "5:35"
......@@ -1508,7 +1508,7 @@ NoIrqVecSwiDespatch ROUT
ORR r11, r11, r14 ; add in CCs
|
MOV r14, r14, LSR #28
BIC r11, r11, #I32_bit ; enable IRQs
ORR r11, r11, #I32_bit ; disable IRQs
BFI r11, r14, #28, #4 ; add in caller's CCs
]
MSR CPSR_cf, r11 ; and set it all up
......
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