Commit 08277dbd authored by Jeffrey Lee's avatar Jeffrey Lee
Browse files

Fix R7 corruption on CMOS write when StoreInHAL is TRUE

Detail:
  s/sdcmos - MyByteV now preserves R7 when StoreInHAL is true, preventing it from being corrupted
Admin:
  Tested on Raspberry Pi with high processor vectors
  Fixes Boot:Choices.Internet.Startup being left as filetype text, due to InetSetup's InternetEnabled pointer being corrupted and left pointing at &000000C3


Version 0.05. Tagged as 'SDCMOS-0_05'
parent d020e6b0
......@@ -11,13 +11,13 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "0.04"
Module_Version SETA 4
Module_MajorVersion SETS "0.05"
Module_Version SETA 5
Module_MinorVersion SETS ""
Module_Date SETS "01 Sep 2012"
Module_ApplicationDate SETS "01-Sep-12"
Module_Date SETS "16 Sep 2012"
Module_ApplicationDate SETS "16-Sep-12"
Module_ComponentName SETS "SDCMOS"
Module_ComponentPath SETS "cddl/RiscOS/Sources/HWSupport/SD/SDCMOS"
Module_FullVersion SETS "0.04"
Module_HelpVersion SETS "0.04 (01 Sep 2012)"
Module_FullVersion SETS "0.05"
Module_HelpVersion SETS "0.05 (16 Sep 2012)"
END
/* (0.04)
/* (0.05)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 0.04
#define Module_MajorVersion_CMHG 0.05
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 01 Sep 2012
#define Module_Date_CMHG 16 Sep 2012
#define Module_MajorVersion "0.04"
#define Module_Version 4
#define Module_MajorVersion "0.05"
#define Module_Version 5
#define Module_MinorVersion ""
#define Module_Date "01 Sep 2012"
#define Module_Date "16 Sep 2012"
#define Module_ApplicationDate "01-Sep-12"
#define Module_ApplicationDate "16-Sep-12"
#define Module_ComponentName "SDCMOS"
#define Module_ComponentPath "cddl/RiscOS/Sources/HWSupport/SD/SDCMOS"
#define Module_FullVersion "0.04"
#define Module_HelpVersion "0.04 (01 Sep 2012)"
#define Module_LibraryVersionInfo "0:4"
#define Module_FullVersion "0.05"
#define Module_HelpVersion "0.05 (16 Sep 2012)"
#define Module_LibraryVersionInfo "0:5"
......@@ -204,7 +204,7 @@ MyByteV ROUT
Pull "r12" ; get our own r12 back
Pull "pc", VS ; if an error, just pass it up to original claim address
[ StoreInHAL
Push "r0-r6"
Push "r0-r7"
SUB sp, sp, #4 ; allocate space on stack for buffer
MOV r7, r1
......@@ -272,7 +272,7 @@ MyByteV ROUT
MSR CPSR_f, r3
90 ADD sp, sp, #4 ; skip data block
STRVS r0, [sp]
Pull "r0-r6, pc" ; go to original claim address
Pull "r0-r7, pc" ; go to original claim address
|
Push "r0"
LDR r0, [r12]
......
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