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
master CrossCompilationSupport HAL RISC_OS-5_26 RPi SMP SMP_bp RPi_merge Kernel-6_19 Kernel-6_18 Kernel-6_17 Kernel-6_16 Kernel-6_15 Kernel-6_14 Kernel-6_13 Kernel-6_12 Kernel-6_11 Kernel-6_10 Kernel-6_09 Kernel-6_08 Kernel-6_08-4_129_2_10 Kernel-6_08-4_129_2_9 Kernel-6_07 Kernel-6_06 Kernel-6_05 Kernel-6_05-4_129_2_8 Kernel-6_04 Kernel-6_03 Kernel-6_02 Kernel-6_01 Kernel-6_01-3 Kernel-6_01-2 Kernel-6_01-1 Kernel-6_00 Kernel-5_99 Kernel-5_98 Kernel-5_97 Kernel-5_97-4_129_2_7 Kernel-5_96 Kernel-5_95 Kernel-5_94 Kernel-5_93 Kernel-5_92 Kernel-5_91 Kernel-5_90 Kernel-5_89 Kernel-5_89-4_129_2_6 Kernel-5_88 Kernel-5_88-4_129_2_5 Kernel-5_88-4_129_2_4 Kernel-5_87 Kernel-5_86 Kernel-5_86-4_129_2_3 Kernel-5_86-4_129_2_2 Kernel-5_86-4_129_2_1 Kernel-5_85 Kernel-5_84 Kernel-5_83 Kernel-5_82 Kernel-5_81 Kernel-5_80 Kernel-5_79 Kernel-5_78 Kernel-5_77 Kernel-5_76 Kernel-5_75 Kernel-5_74 Kernel-5_73 Kernel-5_72 Kernel-5_71 Kernel-5_70 Kernel-5_69 Kernel-5_68 Kernel-5_67 Kernel-5_66 Kernel-5_65 Kernel-5_64 Kernel-5_63 Kernel-5_62 Kernel-5_61 Kernel-5_60 Kernel-5_59 Kernel-5_58 Kernel-5_57 Kernel-5_56 Kernel-5_55 Kernel-5_54 Kernel-5_54-1 Kernel-5_53 Kernel-5_52 Kernel-5_51 Kernel-5_50 Kernel-5_49 Kernel-5_48 Kernel-5_35-4_79_2_327 Kernel-5_35-4_79_2_326 Kernel-5_35-4_79_2_325 Kernel-5_35-4_79_2_324 Kernel-5_35-4_79_2_323 Kernel-5_35-4_79_2_322 Kernel-5_35-4_79_2_321 Kernel-5_35-4_79_2_320 Kernel-5_35-4_79_2_319 Kernel-5_35-4_79_2_318 Kernel-5_35-4_79_2_317 Kernel-5_35-4_79_2_316 Kernel-5_35-4_79_2_315 Kernel-5_35-4_79_2_314 Kernel-5_35-4_79_2_313 Kernel-5_35-4_79_2_312 Kernel-5_35-4_79_2_311 Kernel-5_35-4_79_2_310 Kernel-5_35-4_79_2_309 Kernel-5_35-4_79_2_308 Kernel-5_35-4_79_2_307 Kernel-5_35-4_79_2_306 Kernel-5_35-4_79_2_305 Kernel-5_35-4_79_2_304 Kernel-5_35-4_79_2_303 Kernel-5_35-4_79_2_302 Kernel-5_35-4_79_2_301 Kernel-5_35-4_79_2_300 Kernel-5_35-4_79_2_299 Kernel-5_35-4_79_2_298 Kernel-5_35-4_79_2_297 Kernel-5_35-4_79_2_296 Kernel-5_35-4_79_2_295 Kernel-5_35-4_79_2_294 Kernel-5_35-4_79_2_293 Kernel-5_35-4_79_2_292 Kernel-5_35-4_79_2_291 Kernel-5_35-4_79_2_290 Kernel-5_35-4_79_2_289 Kernel-5_35-4_79_2_288 Kernel-5_35-4_79_2_287 Kernel-5_35-4_79_2_286 Kernel-5_35-4_79_2_285 Kernel-5_35-4_79_2_284 Kernel-5_35-4_79_2_283 Kernel-5_35-4_79_2_282 Kernel-5_35-4_79_2_281 Kernel-5_35-4_79_2_280 Kernel-5_35-4_79_2_279 Kernel-5_35-4_79_2_278 Kernel-5_35-4_79_2_277 Kernel-5_35-4_79_2_276 Kernel-5_35-4_79_2_275 Kernel-5_35-4_79_2_274 Kernel-5_35-4_79_2_273 Kernel-5_35-4_79_2_272 Kernel-5_35-4_79_2_271 Kernel-5_35-4_79_2_270 Kernel-5_35-4_79_2_269 Kernel-5_35-4_79_2_268 Kernel-5_35-4_79_2_267 Kernel-5_35-4_79_2_266 Kernel-5_35-4_79_2_265 Kernel-5_35-4_79_2_264 Kernel-5_35-4_79_2_263 Kernel-5_35-4_79_2_262 Kernel-5_35-4_79_2_261 Kernel-5_35-4_79_2_260 Kernel-5_35-4_79_2_259 Kernel-5_35-4_79_2_258 Kernel-5_35-4_79_2_257 Kernel-5_35-4_79_2_256 Kernel-5_35-4_79_2_255 Kernel-5_35-4_79_2_254 Kernel-5_35-4_79_2_253 Kernel-5_35-4_79_2_252 Kernel-5_35-4_79_2_251 Kernel-5_35-4_79_2_250 Kernel-5_35-4_79_2_249 Kernel-5_35-4_79_2_248 Kernel-5_35-4_79_2_247 Kernel-5_35-4_79_2_246 Kernel-5_35-4_79_2_245 Kernel-5_35-4_79_2_244 Kernel-5_35-4_79_2_243 Kernel-5_35-4_79_2_242 Kernel-5_35-4_79_2_241 Kernel-5_35-4_79_2_240 Kernel-5_35-4_79_2_239 Kernel-5_35-4_79_2_238 Kernel-5_35-4_79_2_237 Kernel-5_35-4_79_2_236 Kernel-5_35-4_79_2_235 Kernel-5_35-4_79_2_234 Kernel-5_35-4_79_2_233 Kernel-5_35-4_79_2_232 Kernel-5_35-4_79_2_231 Kernel-5_35-4_79_2_230 Kernel-5_35-4_79_2_229 Kernel-5_35-4_79_2_228 Kernel-5_35-4_79_2_227 Kernel-5_35-4_79_2_226 Kernel-5_35-4_79_2_225 Kernel-5_35-4_79_2_224 Kernel-5_35-4_79_2_223 Kernel-5_35-4_79_2_222 Kernel-5_35-4_79_2_221 Kernel-5_35-4_79_2_220 Kernel-5_35-4_79_2_219 Kernel-5_35-4_79_2_218 Kernel-5_35-4_79_2_217 Kernel-5_35-4_79_2_216 Kernel-5_35-4_79_2_215 Kernel-5_35-4_79_2_214 Kernel-5_35-4_79_2_213 Kernel-5_35-4_79_2_212 Kernel-5_35-4_79_2_211 Kernel-5_35-4_79_2_210 Kernel-5_35-4_79_2_209 Kernel-5_35-4_79_2_208 Kernel-5_35-4_79_2_207 Kernel-5_35-4_79_2_206 Kernel-5_35-4_79_2_205 Kernel-5_35-4_79_2_204 Kernel-5_35-4_79_2_203 Kernel-5_35-4_79_2_202 Kernel-5_35-4_79_2_201 Kernel-5_35-4_79_2_200 Kernel-5_35-4_79_2_199 Kernel-5_35-4_79_2_198 Kernel-5_35-4_79_2_197 Kernel-5_35-4_79_2_196 Kernel-5_35-4_79_2_195 Kernel-5_35-4_79_2_194 Kernel-5_35-4_79_2_193 Kernel-5_35-4_79_2_192 Kernel-5_35-4_79_2_191 Kernel-5_35-4_79_2_190 Kernel-5_35-4_79_2_189 Kernel-5_35-4_79_2_188 Kernel-5_35-4_79_2_187 Kernel-5_35-4_79_2_186 Kernel-5_35-4_79_2_185 Kernel-5_35-4_79_2_184 Kernel-5_35-4_79_2_183 Kernel-5_35-4_79_2_182 Kernel-5_35-4_79_2_181 Kernel-5_35-4_79_2_180 Kernel-5_35-4_79_2_179 Kernel-5_35-4_79_2_178 Kernel-5_35-4_79_2_177 Kernel-5_35-4_79_2_176 Kernel-5_35-4_79_2_175 Kernel-5_35-4_79_2_174 Kernel-5_35-4_79_2_173 Kernel-5_35-4_79_2_172 Kernel-5_35-4_79_2_171 Kernel-5_35-4_79_2_170 Kernel-5_35-4_79_2_169 Kernel-5_35-4_79_2_168 Kernel-5_35-4_79_2_167 Kernel-5_35-4_79_2_166 Kernel-5_35-4_79_2_165 Kernel-5_35-4_79_2_164 Kernel-5_35-4_79_2_163 Kernel-5_35-4_79_2_162 Kernel-5_35-4_79_2_161 Kernel-5_35-4_79_2_160 Kernel-5_35-4_79_2_159 Kernel-5_35-4_79_2_158 Kernel-5_35-4_79_2_157 Kernel-5_35-4_79_2_156 Kernel-5_35-4_79_2_155 Kernel-5_35-4_79_2_154 Kernel-5_35-4_79_2_153 Kernel-5_35-4_79_2_152 Kernel-5_35-4_79_2_151 Kernel-5_35-4_79_2_150 Kernel-5_35-4_79_2_149 Kernel-5_35-4_79_2_148 Kernel-5_35-4_79_2_147_2_23 HAL_merge
No related merge requests found
......@@ -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