Commit 4ca0d4bb authored by Robert Sprowson's avatar Robert Sprowson
Browse files

Little kernel patches

hdr/ExportVals: the copyright header insertion got a bit confused with some of the file contents
TickEvents.s: a bad merge from Ursula branch 4.1.4.2 to trunk 4.2 left behind unmatched push/pull where TickIrqReenter had been removed
hdr/Options & NewIRQs.s: collapse remaining TickIrqReenter switches
osinit.s: when ZeroPage is in a top bit set address only the last buffer pointer would get zeroed

Tip offs from eagle eyed Tim Baldwin.

Version 5.35, 4.79.2.201. Tagged as 'Kernel-5_35-4_79_2_201'
parent 04a4b880
...@@ -13,11 +13,11 @@ ...@@ -13,11 +13,11 @@
GBLS Module_ComponentPath GBLS Module_ComponentPath
Module_MajorVersion SETS "5.35" Module_MajorVersion SETS "5.35"
Module_Version SETA 535 Module_Version SETA 535
Module_MinorVersion SETS "4.79.2.200" Module_MinorVersion SETS "4.79.2.201"
Module_Date SETS "28 Oct 2013" Module_Date SETS "16 Nov 2013"
Module_ApplicationDate SETS "28-Oct-13" Module_ApplicationDate SETS "16-Nov-13"
Module_ComponentName SETS "Kernel" Module_ComponentName SETS "Kernel"
Module_ComponentPath SETS "castle/RiscOS/Sources/Kernel" Module_ComponentPath SETS "castle/RiscOS/Sources/Kernel"
Module_FullVersion SETS "5.35 (4.79.2.200)" Module_FullVersion SETS "5.35 (4.79.2.201)"
Module_HelpVersion SETS "5.35 (28 Oct 2013) 4.79.2.200" Module_HelpVersion SETS "5.35 (16 Nov 2013) 4.79.2.201"
END END
...@@ -5,19 +5,19 @@ ...@@ -5,19 +5,19 @@
* *
*/ */
#define Module_MajorVersion_CMHG 5.35 #define Module_MajorVersion_CMHG 5.35
#define Module_MinorVersion_CMHG 4.79.2.200 #define Module_MinorVersion_CMHG 4.79.2.201
#define Module_Date_CMHG 28 Oct 2013 #define Module_Date_CMHG 16 Nov 2013
#define Module_MajorVersion "5.35" #define Module_MajorVersion "5.35"
#define Module_Version 535 #define Module_Version 535
#define Module_MinorVersion "4.79.2.200" #define Module_MinorVersion "4.79.2.201"
#define Module_Date "28 Oct 2013" #define Module_Date "16 Nov 2013"
#define Module_ApplicationDate "28-Oct-13" #define Module_ApplicationDate "16-Nov-13"
#define Module_ComponentName "Kernel" #define Module_ComponentName "Kernel"
#define Module_ComponentPath "castle/RiscOS/Sources/Kernel" #define Module_ComponentPath "castle/RiscOS/Sources/Kernel"
#define Module_FullVersion "5.35 (4.79.2.200)" #define Module_FullVersion "5.35 (4.79.2.201)"
#define Module_HelpVersion "5.35 (28 Oct 2013) 4.79.2.200" #define Module_HelpVersion "5.35 (16 Nov 2013) 4.79.2.201"
#define Module_LibraryVersionInfo "5:35" #define Module_LibraryVersionInfo "5:35"
...@@ -126,9 +126,6 @@ MouseBufferManager SETL {TRUE} ...@@ -126,9 +126,6 @@ MouseBufferManager SETL {TRUE}
GBLL IrqsInClaimRelease ; Whether OS_Claim/Release restore IRQ's before releasing heap node GBLL IrqsInClaimRelease ; Whether OS_Claim/Release restore IRQ's before releasing heap node
IrqsInClaimRelease SETL {TRUE} IrqsInClaimRelease SETL {TRUE}
GBLL TickIrqReenter ; Whether TickEventChain processing re-enables IRQ's
TickIrqReenter SETL {TRUE}
GBLL SoftResets ; If false, always force a hard reset GBLL SoftResets ; If false, always force a hard reset
SoftResets SETL {FALSE} SoftResets SETL {FALSE}
......
...@@ -746,17 +746,11 @@ TickOne ROUT ...@@ -746,17 +746,11 @@ TickOne ROUT
Push R10 Push R10
[ TickIrqReenter
MOV R10, #TickerV ; call 100Hz vector MOV R10, #TickerV ; call 100Hz vector
BL CallVector ; IRQ's still disabled BL CallVector ; IRQ's still disabled
BL ProcessTickEventChain ; Re-enables IRQs BL ProcessTickEventChain ; Re-enables IRQs
|
BL ProcessTickEventChain
MOV R10, #TickerV ; call 100Hz vector
BL CallVector
]
Pull "R10,PC" Pull "R10,PC"
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
......
...@@ -57,10 +57,12 @@ ByteVarInitLoop ...@@ -57,10 +57,12 @@ ByteVarInitLoop
LDR R0, =ZeroPage+4*(NBuffers-1) ; index to pointer LDR R0, =ZeroPage+4*(NBuffers-1) ; index to pointer
MOV R1, #0 ; value to store MOV R1, #0 ; value to store
MOV R2, #NBuffers-1
BuffPtrInitLoop BuffPtrInitLoop
STR R1, [R0, #BuffInPtrs] STR R1, [R0, #BuffInPtrs]
STR R1, [R0, #BuffOutPtrs] STR R1, [R0, #BuffOutPtrs]
SUBS R0, R0, #4 SUB R0, R0, #4
SUBS R2, R2, #1
BPL BuffPtrInitLoop BPL BuffPtrInitLoop
; mark printer as dormant ; mark printer as dormant
......
...@@ -148,11 +148,9 @@ ProcessTickEventChain ROUT ...@@ -148,11 +148,9 @@ ProcessTickEventChain ROUT
MOVNE pc, lr ; nothing to call yet (was MOVPL) MOVNE pc, lr ; nothing to call yet (was MOVPL)
Push "lr" ; save IRQ_lr Push "lr" ; save IRQ_lr
[ TickIrqReenter
WritePSRc SVC_mode+I_bit, r10 ; switch to SVC mode, IRQ's off WritePSRc SVC_mode+I_bit, r10 ; switch to SVC mode, IRQ's off
NOP NOP
Push "lr" ; save SVC_lr Push "lr" ; save SVC_lr
]
01 01
LDMIA r1, {r2, r10, r11, r12} ; load next ptr, redo state, LDMIA r1, {r2, r10, r11, r12} ; load next ptr, redo state,
; address and R12val ; address and R12val
......
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