Commit a330bf0c authored by Stewart Brodie's avatar Stewart Brodie
Browse files

32-bit compatibility added.

  Removed some MOVNV instructions (replaced by NOP (MOV r0,r0))
Admin:
  Tested build on Phoebe & 32 machine builds.

Version 0.08. Tagged as 'RTCAdjust-0_08'
parent df4e1bf8
; ;
; This file is automatically maintained by srccommit, do not edit manually. ; This file is automatically maintained by srccommit, do not edit manually.
; ;
GBLS Module_MajorVersion GBLS Module_MajorVersion
GBLA Module_Version GBLA Module_Version
GBLS Module_MinorVersion GBLS Module_MinorVersion
GBLS Module_Date GBLS Module_Date
GBLS Module_FullVersion GBLS Module_FullVersion
Module_MajorVersion SETS "0.07" Module_MajorVersion SETS "0.08"
Module_Version SETA 7 Module_Version SETA 8
Module_MinorVersion SETS "" Module_MinorVersion SETS ""
Module_Date SETS "17 Aug 1999" Module_Date SETS "13 Dec 1999"
Module_FullVersion SETS "0.07" Module_FullVersion SETS "0.08"
END END
/* (0.07) /* (0.08)
* *
* This file is automatically maintained by srccommit, do not edit manually. * This file is automatically maintained by srccommit, do not edit manually.
* *
*/ */
#define Module_MajorVersion_CMHG 0.07 #define Module_MajorVersion_CMHG 0.08
#define Module_MinorVersion_CMHG #define Module_MinorVersion_CMHG
#define Module_Date_CMHG 17 Aug 1999 #define Module_Date_CMHG 13 Dec 1999
#define Module_MajorVersion "0.07" #define Module_MajorVersion "0.08"
#define Module_Version 7 #define Module_Version 8
#define Module_MinorVersion "" #define Module_MinorVersion ""
#define Module_Date "17 Aug 1999" #define Module_Date "13 Dec 1999"
#define Module_FullVersion "0.07" #define Module_FullVersion "0.08"
...@@ -130,9 +130,13 @@ Module_BaseAddr ...@@ -130,9 +130,13 @@ Module_BaseAddr
DCD RTC_HelpStr -Module_BaseAddr DCD RTC_HelpStr -Module_BaseAddr
DCD RTC_HC_Table-Module_BaseAddr DCD RTC_HC_Table-Module_BaseAddr
DCD 0 ; RTCSWI * Module_SWIChunkSize DCD 0 ; RTCSWI * Module_SWIChunkSize
[ :LNOT: No32bitCode
DCD 0 ; RTC_SWIHandler-Module_BaseAddr DCD 0 ; RTC_SWIHandler-Module_BaseAddr
DCD 0 ; RTC_SWINameTable-Module_BaseAddr DCD 0 ; RTC_SWINameTable-Module_BaseAddr
DCD 0 ; Code to manually decode swi name (not needed) DCD 0 ; Code to manually decode swi name (not needed)
DCD 0 ; International messages
DCD RTC_Flags -Module_BaseAddr
]
RTC_Title RTC_Title
= "RTCAdjust", 0 = "RTCAdjust", 0
...@@ -201,6 +205,10 @@ UService ...@@ -201,6 +205,10 @@ UService
BL DoInit BL DoInit
Pull "R0-R6,PC" Pull "R0-R6,PC"
[ :LNOT: No32bitCode
RTC_Flags DCD 1 ; 32-bit compatible
]
; ************************************************************************** ; **************************************************************************
; ;
; RTC_Die - Die entry ; RTC_Die - Die entry
...@@ -208,9 +216,7 @@ UService ...@@ -208,9 +216,7 @@ UService
RTC_Die ENTRY RTC_Die ENTRY
LDR R12, [R12] LDR R12, [R12]
MOV R6, PC PHPSEI R5, R0 ; disable IRQs round this bit
ORR R0, R6, #I_bit
TEQP R0, #0 ; disable IRQs round this bit
LDR R0, CallBackPending LDR R0, CallBackPending
TEQ R0, #0 TEQ R0, #0
...@@ -225,7 +231,7 @@ RTC_Die ENTRY ...@@ -225,7 +231,7 @@ RTC_Die ENTRY
MOV R1, R12 MOV R1, R12
SWI XOS_RemoveTickerEvent SWI XOS_RemoveTickerEvent
TEQP R6, #0 ; restore IRQ status - it's safe! PLP R5 ; restore IRQ status - it's safe!
BL GetOffWordV BL GetOffWordV
...@@ -236,6 +242,7 @@ RTC_Die ENTRY ...@@ -236,6 +242,7 @@ RTC_Die ENTRY
EXIT EXIT
10 10
PLP R5
ADR R0, NotNowImBusy ADR R0, NotNowImBusy
BL CopyError BL CopyError
EXIT EXIT
...@@ -305,7 +312,7 @@ InitVars ENTRY ...@@ -305,7 +312,7 @@ InitVars ENTRY
; out: PSR preserved ; out: PSR preserved
; ;
GetOffWordV ENTRY GetOffWordV EntryS
MOV R0, #WordV MOV R0, #WordV
ADR R1, MyWordV ADR R1, MyWordV
MOV R2, R12 MOV R2, R12
...@@ -330,17 +337,17 @@ MyWordV ROUT ...@@ -330,17 +337,17 @@ MyWordV ROUT
; ;
MyCallEvery ENTRY "R0,R1,R8,R9" MyCallEvery ENTRY "R0,R1,R8,R9"
MOV R9, PC ; save old processor mode SavePSR R9
ORR R8, R9, #SVC_mode ; make SVC mode ORR R8, R9, #SVC_mode ; IRQ->SVC (32-bit mode independent)
TEQP R8, #0 RestPSR R8,,c ; change mode
MOVNV R0, R0 NOP
Push R14 Push R14
ADR R0, Recalibrate ADR R0, Recalibrate
MOV R1, R12 MOV R1, R12
SWI XOS_AddCallBack SWI XOS_AddCallBack
Pull R14 Pull R14
TEQP R9, #0 ; restore old processor mode RestPSR R9,,c ; restore old processor mode
MOVNV R0, R0 NOP
LDR R0, CallBackPending LDR R0, CallBackPending
ADD R0, R0, #1 ; indicate another pending CallBack ADD R0, R0, #1 ; indicate another pending CallBack
......
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