Commit 5cb1a6e1 authored by Robert Sprowson's avatar Robert Sprowson

Flush the I cache after loading helper code in

Code is loaded in two places using OS_GBPB to help ChangeFSI out, but is then called without flushing the instruction cache, nor has it since StrongARM days.
This seemed to cause a problem where reprocessing a JPEG a second time caused random aborts on an ARMiniX (Cortex-A9).
Thanks to Bob Latham for helping test this change remotely.

Version 1.52. Tagged as 'ChangeFSI-1_52'
parent c6f0b231
/* (1.51)
/* (1.52)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 1.51
#define Module_MajorVersion_CMHG 1.52
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 02 Sep 2014
#define Module_Date_CMHG 12 Oct 2014
#define Module_MajorVersion "1.51"
#define Module_Version 151
#define Module_MajorVersion "1.52"
#define Module_Version 152
#define Module_MinorVersion ""
#define Module_Date "02 Sep 2014"
#define Module_Date "12 Oct 2014"
#define Module_ApplicationDate "02-Sep-14"
#define Module_ApplicationDate "12-Oct-14"
#define Module_ComponentName "ChangeFSI"
#define Module_ComponentPath "mixed/RiscOS/Sources/Apps/ChangeFSI"
#define Module_FullVersion "1.51"
#define Module_HelpVersion "1.51 (02 Sep 2014)"
#define Module_LibraryVersionInfo "1:51"
#define Module_FullVersion "1.52"
#define Module_HelpVersion "1.52 (12 Oct 2014)"
#define Module_LibraryVersionInfo "1:52"
......@@ -1804,6 +1804,7 @@ DEF FNChangeFSI(A$,spritearea%,workspace%,worklimit%,oksave%,okinfo%,RETURN ram%
IF A%<>0 THEN
jpeg%=FNdim(EXT#A%)
SYS 12,4,A%,jpeg%,EXT#A%
SYS &2006E,1,jpeg%,jpeg%+EXT#A%:REM XOS_SynchroniseCodeAreas but no SWI name lookup pre 3.70
CLOSE#A%
REM Call the reader to get the image dimensions, this fails if it's an unsupported type
datacache%=FNcachedim(EXT#c%)
......@@ -4113,6 +4114,7 @@ DEF FNChangeFSI(A$,spritearea%,workspace%,worklimit%,oksave%,okinfo%,RETURN ram%
IF A%=0 THEN ERROR 42,"Can't load PNG support code"
png%=FNdim(EXT#A%)
SYS 12,4,A%,png%,EXT#A%
SYS &2006E,1,png%,png%+EXT#A%:REM XOS_SynchroniseCodeAreas but no SWI name lookup pre 3.70
CLOSE#A%
SYS "XOS_CLI","rmensure ZLib 0 rmload System:Modules.ZLib"
OSCLI"rmensure ZLib 0 ERROR ChangeFSI requires the ZLib module to perform this operation"
......
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