sys7.1-doc-wip/Toolbox/ExpansionBusMgr/NuBus_BusMgr.c
2019-07-27 22:37:48 +08:00

120 lines
4.5 KiB
C

/*
File: NuBus_BusMgr.c
Contains: xxx put contents here xxx
Written by: xxx put writers here xxx
Copyright: © 1993 by Apple Computer, Inc., all rights reserved.
Change History (most recent first):
<1> 11/11/93 fau first checked in
*/
/*
* File: NuBus_BusMgr.c
*
* Contains: NuBus Bus Manager
*
* Written by: Al Kossow
*
* Copyright: © 1993 by Apple Computer, Inc., all rights reserved.
*
* Change History (most recent first):
*
* <1> 10/20/93 aek Created
*
* All of the stub routines required for backwards compatibilty with the
* Slot Manager for systems without a NuBus.
*
* These routines field all the Nubus slot manager requests, forwarding
* them to code installed dynamically for xxBus <-> NuBus bridges.
*
* Any 'Slot Manager Compatibility Layer' routines are here as well.
*
* -------------------------------------------------------------------------
*
* The NuBus slot manager provides calls to manipulate slot parameter ram, the slot resource table,
* and fetching of information from a configuration ROM on an expansion card. It also scans slots
* at system initialization time, finding config ROMs and setting up the appropriate information.
*
*
* Here's the selector list as of Oct, 1993...
*
* Sel#
* SReadByte() // [00]
* SReadWord() // [01]
* SreadLong() // [02]
* SGetCString() // [03] Copy a cString into a buffer
* ----- *** // [04]
* SGetBlock() // [05] Copy an sBlock into a new block
* SFindStruct() // [06] Return pointer to data structure
* SReadStruct() // [07] Copy a data structure to a new block
* SVersion() // [08] Return the version number of the Slot Manager
* SetSRsrcState() // [09] Enables or disables an sResource data structure
* InsertSRTRec() // [10] Adds an sResource data structure to the Slot Resource Table
* SGetSRsrc() // [11] Return information about the sResource data structure
* SGetTypeSRsrc() // [12] Returns information about the matching sResource
* ----- *** // [13]
* ----- *** // [14]
* DoSecondaryInit() // [15]
*
* SReadInfo() // [16] Read a data structure into a new block
* SReadPRAMRec() // [17] Copy the sPRAM data structure into a new block
* SPutPRAMRec() // [18] Copy data from spsPointer's block into SPRAMRecord
* SReadFHeader() // [19]
* SNextSRsrc() // [20] Determine the set of all of a slot cards's or NuBus sResources <<<<
* SNextTypeSRsrc() // [21] Return information about sResources of a specified type
* SlotRsrcInfo // [22]
* SlotDisposPtr // [23]
* SCkCardStat() // [24] Check the SInfoRecord's InitStatusA field
* SReadDrvrName() // [25] Read the name of the sResource for this slot and list ID
* FindSRTRec // [26]
* SFindDevBase // [27] Return a pointer to the base of the device
* FindDevBase // [28]
* GetSRsrcPtr // [29]
* StubbAddCard ** // [30]
* StubRemoveCard ** // [31]
*
* InitSDeclMgr() // [32] Initialize the Slot Manager (only executable at sys init time)
* SPrimaryInit() // [33] Call card primary init routines (only executable at sys init time)
* SCardChanged() // [34] Indicate a card has been changed
* SExec() // [35] Load and execute an sExec code block
* SOffsetData() // [36] Return contents of offset/data field
* SInitPRAMRecs() // [37] Initialize slot PRAM records (only executable at sys init time)
* SReadPBSize() // [38] Read the size of the indicated sBlock
* StubCheckSlot ** // [39]
* SCalcStep() // [40] Find the field sizes in the indicated block
* SInitSRsrcTable() // [41] Initialize the Slot Resource Table (only executable at sys init time)
* SSearchSRT() // [42] Find the record corresponding to this sResource
* SUpdateSRT() // [43] Update the Slot Resource Table
* SCalcSPointer() // [44] Return pointer to a byte in declaration ROM
* SGetDriver() // [45] Load driver corresponding to sResource
* SPtrToSlot() // [46] Return the slot number of the card
* SFindSInfoRecPtr() // [47] Return pointer to the sInfoRecord
* SFindSRsrcPtr() // [48] Return pointer to sRsrc list
* SDeleteSRTrec() // [49] Delete and sResource
* Secondary_Init() // [50]
* InitSlotPRAM() // [51]
*
* pNewSRTEntry // [52]
* pInitEntry // [53]
* pSrToSpBlock // [54]
* pRead4Bytes // [55]
* pGetBoard // [56]
* pBusException // [57]
* pInstallBus // [58]
* pRestoreBus // [59]
* pAllocSRTBlk // [60]
* GetSRTEntry // [61]
*
*/
#include "ExpansionMgrInternal.h"
/*
*
*/