Commit fc32d45b authored by Robert Sprowson's avatar Robert Sprowson
Browse files

Issue Service_ModulePostInit when really post init

Previously, the service call was sent when the module was in the service call chain/command table hash/SWI table hash, but not actually in the list of modules - so any recipient trying to look something up with OS_Module would get denial that the module existed.
Move the service call issue step to *after* it's linked into the module list.

Version 5.64. Tagged as 'Kernel-5_64'
parent d5aad823
......@@ -11,13 +11,13 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "5.63"
Module_Version SETA 563
Module_MajorVersion SETS "5.64"
Module_Version SETA 564
Module_MinorVersion SETS ""
Module_Date SETS "26 Oct 2016"
Module_ApplicationDate SETS "26-Oct-16"
Module_Date SETS "25 Nov 2016"
Module_ApplicationDate SETS "25-Nov-16"
Module_ComponentName SETS "Kernel"
Module_ComponentPath SETS "castle/RiscOS/Sources/Kernel"
Module_FullVersion SETS "5.63"
Module_HelpVersion SETS "5.63 (26 Oct 2016)"
Module_FullVersion SETS "5.64"
Module_HelpVersion SETS "5.64 (25 Nov 2016)"
END
/* (5.63)
/* (5.64)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 5.63
#define Module_MajorVersion_CMHG 5.64
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 26 Oct 2016
#define Module_Date_CMHG 25 Nov 2016
#define Module_MajorVersion "5.63"
#define Module_Version 563
#define Module_MajorVersion "5.64"
#define Module_Version 564
#define Module_MinorVersion ""
#define Module_Date "26 Oct 2016"
#define Module_Date "25 Nov 2016"
#define Module_ApplicationDate "26-Oct-16"
#define Module_ApplicationDate "25-Nov-16"
#define Module_ComponentName "Kernel"
#define Module_ComponentPath "castle/RiscOS/Sources/Kernel"
#define Module_FullVersion "5.63"
#define Module_HelpVersion "5.63 (26 Oct 2016)"
#define Module_LibraryVersionInfo "5:63"
#define Module_FullVersion "5.64"
#define Module_HelpVersion "5.64 (25 Nov 2016)"
#define Module_LibraryVersionInfo "5:64"
......@@ -25,8 +25,6 @@ ModHand_IntrinsicBI SETL {TRUE} :LAND: ChocolateOSMod ;base module incarnation
GBLL ModHand_InitDieServices
ModHand_InitDieServices SETL {TRUE} :LAND: ModHand_IntrinsicBI
; Test version, incorporating multiple incarnation attempt
; The module handler needs to know the structure of the HPD, and nodes.
; See RMTidy in particular.
......@@ -68,7 +66,7 @@ ROMModule_Link # 4 ; pointer to next node
ROMModule_Name # 4 ; pointer to module name (either directly in ROM, or in an RMA block)
ROMModule_BaseAddress # 4 ; start of module, if directly accessible
ROMModule_Version # 4 ; BCD version number, decimal point between bits 15,16 eg "1.23" => &00012300
ROMModule_PoduleNumber # 4 ; podule number (0..7 = normal podule, -1 = main ROM, -2..-n = extension ROM)
ROMModule_PoduleNumber # 4 ; podule number (0..8 = normal podule, -1 = main ROM, -2..-n = extension ROM)
ROMModule_ChunkNumber # 4 ; chunk number if in podule or extension ROM, unused (?) if in main ROM
ROMModule_OlderVersion # 4 ; pointer to node holding the next older version of this module, 0 if none
ROMModule_NewerVersion # 4 ; pointer to node holding the next newer version of this module, 0 if none
......@@ -939,6 +937,9 @@ Module_NewIncarnation ROUT
MOV R10, R1
BL EnvStringSkipName ; envstring ptr in R10
BL Add_Incarnation
[ ModHand_InitDieServices
BLVC IssueServicePostInit
]
01 STRVS R0, [stack]
Pull "R0-R4, R9, lr"
B SLVK_TestV
......@@ -1580,6 +1581,9 @@ LinkAndInit Entry "r2, r3"
STR r1, [r9, #Module_chain_Link]
STR r9, [r0, #Module_chain_Link]
[ ModHand_InitDieServices
BL IssueServicePostInit
]
Pull "r3, pc" ; V clear from EQ compare with 0
01
......@@ -1655,9 +1659,6 @@ Add_Incarnation_AltEntry
LDRVC R3, [R9, #Module_incarnation_list]
STRVC R3, [R2, #Incarnation_Link]
STRVC R2, [R9, #Module_incarnation_list]
[ ModHand_InitDieServices
BLVC IssueServicePostInit
]
Pull "R0-R3, PC"
;*************************************************************
......
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