Mercurial > hg > Members > kono > nitros9-code
view defs/rbsuper.d @ 2647:99b7caa4c88a
Moved to github for Liber809 Project
author | Boisy Pitre <boisy.pitre@nuance.com> |
---|---|
date | Tue, 06 Mar 2012 13:49:14 -0600 |
parents | b8c7b7fbf3c9 |
children | 6bd6e348665d |
line wrap: on
line source
IFNE RBSUPER.D-1 RBSUPER.D SET 1 ******************************************************************** * rbsuper.d - rbsuper definitions * * $Id$ * * (C) 2004 Boisy G. Pitre - Licensed to Cloud-9 * * These definitions make up the static storage environment for the * rbsuper driver. Low level drivers share these variables with * rbsuper, and also have an area reserved exclusively for their use. * * Edt/Rev YYYY/MM/DD Modified by * Comment * ------------------------------------------------------------------ * 2004/04/10 Boisy G. Pitre * Created. * * 2005/11/27 Boisy G. Pitre * Moved SCSI base addresses and I/O offsets to here. * * 2005/12/13 Boisy G. Pitre * Employed a "trick" whereby driver's U is pointed UOFFSET bytes * into the static storage for faster, smaller code generation. * * 2005/12/13 Boisy G. Pitre * Rearranged order of driver statics for smaller code size * Interface Address SDAddr SET $FF00 SDMPI SET $FF * * IT.DNS Definitions for all Low Level Drivers * DNS.HDB EQU %00001000 * * IT.DNS Definitions for Low Level SCSI Driver * DNS.TURBO EQU %00010000 maxcache SET 2048 DrvCount EQU 8 llreserve EQU 64 UOFFSET EQU DRVBEG+(DRVMEM*DrvCount) ORG 0 V.LLSema RMB 1 low-level semaphore variable V.LastDrv RMB 1 last drive to access cache V.PhysSect RMB 3 physical (HW) sector V.LogSect RMB 3 logical (256 byte) sector V.SectSize RMB 1 sector size V.SectCnt RMB 1 number of hw sectors to read from interface V.Log2Phys RMB 1 number of logical (256) byte sectors to 1 physical sector V.CchAddr RMB 2 address of cache in system memory V.CchSize RMB 2 size of cache in bytes V.CchPSpot RMB 2 pointer to target physical sector in cache V.CchLSpot RMB 2 pointer to target logical sector in cache V.CchDirty RMB 1 cache dirty flag (0 = cache is stable, !0 = cache is dirty) V.CchBase RMB 3 logical sector at start of cache V.HDBDrive RMB 1 IT.STP (used as HDB-DOS drive number if HDB-DOS partition) V.HDBPart RMB 1 HDB-DOS partition flag (0 = not HDB-DOS partition, !0 = is) V.SSCache RMB DrvCount sector size cache table for each drive V.LLAddr RMB 2 low level module address V.LLInit RMB 2 low level init entry point V.LLRead RMB 2 low level read entry point V.LLWrite RMB 2 low level write entry point V.LLGtSt RMB 2 low level getstat entry point V.LLStSt RMB 2 low level setstat entry point V.LLTerm RMB 2 low level term entry point * Low Level Driver Memory starts here V.LLMem EQU . start of low level driver memory RMB llreserve reserved area... low level driver uses this as it wants V.LLMemSz EQU .-V.LLMem * Note: we trick rbsuper to so that it thinks its static storage starts at * zero when it really starts beyond DRVBEG+(DRVMEM*DrvCount). RMB UOFFSET V.RBSuper EQU . end of RBSuper's (and ll driver's) memory requirements ENDC