2590
|
1 ********************************************************************
|
|
2 * rbsuper.d - rbsuper definitions
|
|
3 *
|
|
4 * $Id$
|
|
5 *
|
|
6 * (C) 2004 Boisy G. Pitre - Licensed to Cloud-9
|
|
7 *
|
|
8 * These definitions make up the static storage environment for the
|
|
9 * rbsuper driver. Low level drivers share these variables with
|
|
10 * rbsuper, and also have an area reserved exclusively for their use.
|
|
11 *
|
|
12 * Edt/Rev YYYY/MM/DD Modified by
|
|
13 * Comment
|
|
14 * ------------------------------------------------------------------
|
|
15 * 2004/04/10 Boisy G. Pitre
|
|
16 * Created.
|
|
17 *
|
|
18 * 2005/11/27 Boisy G. Pitre
|
|
19 * Moved SCSI base addresses and I/O offsets to here.
|
|
20 *
|
|
21 * 2005/12/13 Boisy G. Pitre
|
|
22 * Employed a "trick" whereby driver's U is pointed UOFFSET bytes
|
|
23 * into the static storage for faster, smaller code generation.
|
|
24 *
|
|
25 * 2005/12/13 Boisy G. Pitre
|
|
26 * Rearranged order of driver statics for smaller code size
|
|
27
|
|
28 * Interface Address
|
|
29 SDAddr SET $FF00
|
|
30 SDMPI SET $FF
|
|
31
|
|
32 *
|
|
33 * IT.DNS Definitions for all Low Level Drivers
|
|
34 *
|
|
35 DNS.HDB EQU %00001000
|
|
36
|
|
37 *
|
|
38 * IT.DNS Definitions for Low Level SCSI Driver
|
|
39 *
|
|
40 DNS.TURBO EQU %00010000
|
|
41
|
|
42 maxcache SET 2048
|
|
43 DrvCount EQU 8
|
|
44 llreserve EQU 64
|
|
45
|
|
46 UOFFSET EQU DRVBEG+(DRVMEM*DrvCount)
|
|
47
|
|
48 ORG 0
|
|
49 V.LLSema RMB 1 low-level semaphore variable
|
|
50 V.LastDrv RMB 1 last drive to access cache
|
|
51 V.PhysSect RMB 3 physical (HW) sector
|
|
52 V.LogSect RMB 3 logical (256 byte) sector
|
|
53 V.SectSize RMB 1 sector size
|
|
54 V.SectCnt RMB 1 number of hw sectors to read from interface
|
|
55 V.Log2Phys RMB 1 number of logical (256) byte sectors to 1 physical sector
|
|
56 V.CchAddr RMB 2 address of cache in system memory
|
|
57 V.CchSize RMB 2 size of cache in bytes
|
|
58 V.CchPSpot RMB 2 pointer to target physical sector in cache
|
|
59 V.CchLSpot RMB 2 pointer to target logical sector in cache
|
|
60 V.CchDirty RMB 1 cache dirty flag (0 = cache is stable, !0 = cache is dirty)
|
|
61 V.CchBase RMB 3 logical sector at start of cache
|
|
62 V.HDBDrive RMB 1 IT.STP (used as HDB-DOS drive number if HDB-DOS partition)
|
|
63 V.HDBPart RMB 1 HDB-DOS partition flag (0 = not HDB-DOS partition, !0 = is)
|
|
64 V.SSCache RMB DrvCount sector size cache table for each drive
|
|
65 V.LLAddr RMB 2 low level module address
|
|
66 V.LLInit RMB 2 low level init entry point
|
|
67 V.LLRead RMB 2 low level read entry point
|
|
68 V.LLWrite RMB 2 low level write entry point
|
|
69 V.LLGtSt RMB 2 low level getstat entry point
|
|
70 V.LLStSt RMB 2 low level setstat entry point
|
|
71 V.LLTerm RMB 2 low level term entry point
|
|
72 * Low Level Driver Memory starts here
|
|
73 V.LLMem EQU . start of low level driver memory
|
|
74 RMB llreserve reserved area... low level driver uses this as it wants
|
|
75 V.LLMemSz EQU .-V.LLMem
|
|
76 * Note: we trick rbsuper to so that it thinks its static storage starts at
|
|
77 * zero when it really starts beyond DRVBEG+(DRVMEM*DrvCount).
|
|
78 RMB UOFFSET
|
|
79 V.RBSuper EQU . end of RBSuper's (and ll driver's) memory requirements
|