Commit da6e6c3a authored by John Ballance's avatar John Ballance
Browse files

Altered interaction with PartMan. PartMan now tells SCSIFS when it can attempt...

Altered interaction with PartMan. PartMan now tells SCSIFS when it can attempt to mount a newly connected disc.

Detail:
  In order to be certain that the partition table has been fully analysed
  before SCSIFS attempts to mount a newly connected disc, if Partman is
  detected, SCSIFS waits for a service call from PartMan before it attempts
  to mount any partitions on the disc. If PartMan interaction is not compiled,
  in, or PartMan is not detected, SCSIFS behaviour is unaltered.
Admin:
 tested on iMx6

Version 1.33. Tagged as 'SCSIFS-1_33'
parent e952c055
......@@ -11,13 +11,13 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "1.32"
Module_Version SETA 132
Module_MajorVersion SETS "1.33"
Module_Version SETA 133
Module_MinorVersion SETS ""
Module_Date SETS "09 Sep 2017"
Module_ApplicationDate SETS "09-Sep-17"
Module_Date SETS "13 Jul 2018"
Module_ApplicationDate SETS "13-Jul-18"
Module_ComponentName SETS "SCSIFS"
Module_ComponentPath SETS "castle/RiscOS/Sources/FileSys/SCSIFS/SCSIFS"
Module_FullVersion SETS "1.32"
Module_HelpVersion SETS "1.32 (09 Sep 2017)"
Module_FullVersion SETS "1.33"
Module_HelpVersion SETS "1.33 (13 Jul 2018)"
END
/* (1.32)
/* (1.33)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 1.32
#define Module_MajorVersion_CMHG 1.33
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 09 Sep 2017
#define Module_Date_CMHG 13 Jul 2018
#define Module_MajorVersion "1.32"
#define Module_Version 132
#define Module_MajorVersion "1.33"
#define Module_Version 133
#define Module_MinorVersion ""
#define Module_Date "09 Sep 2017"
#define Module_Date "13 Jul 2018"
#define Module_ApplicationDate "09-Sep-17"
#define Module_ApplicationDate "13-Jul-18"
#define Module_ComponentName "SCSIFS"
#define Module_ComponentPath "castle/RiscOS/Sources/FileSys/SCSIFS/SCSIFS"
#define Module_FullVersion "1.32"
#define Module_HelpVersion "1.32 (09 Sep 2017)"
#define Module_LibraryVersionInfo "1:32"
#define Module_FullVersion "1.33"
#define Module_HelpVersion "1.33 (13 Jul 2018)"
#define Module_LibraryVersionInfo "1:33"
......@@ -37,8 +37,8 @@
GET Hdr:Portable
GET VersionASM
[ :LNOT::DEF: test_version
GBLL test_version
test_version SETL {FALSE}
]
LNK ScsiFs00.s
......@@ -188,6 +188,7 @@ Service_SCSIMounting * &20104
]
[ PartitionManager
XPartMan_MorePartitions * &79AC0
Service_MorePartitions * &59AC0
]
AREA |!!!SCSIFSModule|, CODE, READONLY, PIC
......
......@@ -651,6 +651,16 @@ MapInDevice
BNE %BT10
Pull "R0,R1,R3,R5,PC" ; Exit (with EQ)
[ PartitionManager
; In: R0 = device number
; R2 = device number mask
ServiceMorePartitions
getSB
Push "R0-R3,LR"
B DA1
]
ServiceAttachDetach
getSB
ASSERT Service_SCSIAttached:AND:1 = 0
......@@ -669,15 +679,23 @@ AttachedCBDataSz # 0
; R2 = device number mask
; Note the parameters (in an allocated block) to deal with on a callback
DoAttached ROUT
Push "R0-R2,LR"
Push "R0-R3,LR"
[ PartitionManager
MOV R1, #-1
; swi returns VS if not there
SWI XPartMan_MorePartitions
; if there then scan will be triggered by partition manager
Pull "R0-R3,PC",VC
]
DA1
LDRB R0, Dieing
TEQ R0, #0
Pull "R0-R2,PC",NE
Pull "R0-R3,PC",NE
MOV R0, #ModHandReason_Claim
MOV R3, #AttachedCBDataSz
SWI XOS_Module
Pull "R0-R2,PC",VS
Pull "R0-R3,PC",VS
LDR R0, [SP, #0]
LDR LR, [SP, #8]
STR R0, [R2, #ACBD_DevID]
......@@ -691,7 +709,7 @@ DoAttached ROUT
ADR R0, DoAttachedCallback
MOV R1, R2
SWI XOS_AddCallBack
Pull "R0-R2,PC"
Pull "R0-R3,PC"
DoAttachedCallback ROUT
Push "R0,R2,R3,R4,LR"
......@@ -705,7 +723,6 @@ DoAttachedCallback ROUT
MOV R3,#4
MOV R4,#4
BL ScanDrives2
MOV R0,#ModHandReason_Free
1
Pull "R2"
LDRB R0, AttCBCount
......
......@@ -257,6 +257,9 @@ ServiceTable
DCD Service_SCSIAttached
DCD Service_SCSIDetached
DCD Service_BootChoicesVarsSet
[ PartitionManager
DCD Service_MorePartitions
]
DCD 0
;>>>>>>>>>>>>
......@@ -278,6 +281,10 @@ ServiceEntry
CMPNE R1,LR
LDRNE LR,=Service_BootChoicesVarsSet
CMPNE R1,LR
[ PartitionManager
LDRNE LR,=Service_MorePartitions
CMPNE R1,LR
]
Pull "PC",NE
Pull "LR"
......@@ -290,6 +297,12 @@ ServiceEntry2
LDR LR, =Service_BootChoicesVarsSet
TEQ R1, LR
BEQ ServiceChoicesVarsSet
[ PartitionManager
LDR LR, =Service_MorePartitions
TEQ R1, LR
Pull "LR",EQ
BEQ ServiceMorePartitions
]
TEQ R1, #Service_Reset
Pull "LR",NE
BNE ServiceAttachDetach
......
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