/* SparcSoftcardOps.h created by Sherman of September 7, 1988 11:27:27 am PDT */ /* from SparcSoftcardOps.mob */ #include "standard.h" typedef struct SoftcardPresent←self { BOOL present; } Return←SoftcardPresent; extern Return←SoftcardPresent SparcSoftcardOps←SoftcardPresent(); extern void SparcSoftcardOps←InitializeCPandIOPMaps(); extern void SparcSoftcardOps←InsertSoftcardPhyscialMemory(); /* void (*reclaim)(); CARD16 real; */ extern void SparcSoftcardOps←InitializeSoftcard(); /* void (*reclaim)(); CARD16 real; */ extern void SparcSoftcardOps←ResetSoftcard(); extern void SparcSoftcardOps←SparcReset(); extern void SparcSoftcardOps←SparcResetAndStart(); extern void SparcSoftcardOps←SparcCacheDisable(); extern void SparcSoftcardOps←SparcCacheEnable(); extern void SparcSoftcardOps←SparcCacheFlushAndEnable(); typedef enum { DMAState←active=0, DMAState←inactive=1 } SparcSoftcardOps←DMAState; extern void SparcSoftcardOps←SetDMAState(); /* SparcSoftcardOps←DMAState dMAState; */ typedef enum { DMAMode←printer=0, DMAMode←display=1, DMAMode←versatecOneShot=2, DMAMode←versatecStream=3 } SparcSoftcardOps←DMAMode; extern void SparcSoftcardOps←SetDMAMode(); /* SparcSoftcardOps←DMAMode dMAMode; */ extern void SparcSoftcardOps←DMAAddressRegisterLoad(); /* CARD32 byteAddress; */ typedef enum { VMSpaceName←dMA=0, VMSpaceName←iOP=1, VMSpaceName←cP=2, VMSpaceName←sparcUserData=3, VMSpaceName←sparcUserProgram=4, VMSpaceName←sparcSuperData=5, VMSpaceName←sparcSuperProgram=6 } SparcSoftcardOps←VMSpaceName; typedef struct VMSpace←self { SparcSoftcardOps←VMSpaceName name; CARD32 task; /* ← 0 */ } SparcSoftcardOps←VMSpace; typedef struct Flags←self { BOOLEAN dirty; /* ← FALSE */ BOOLEAN referenced; /* ← FALSE */ BOOLEAN readOnly; /* ← FALSE */ BOOLEAN nonCachable; /* ← FALSE */ BOOLEAN interrupt; /* ← FALSE */ } SparcSoftcardOps←Flags; typedef struct MapEntry←self { SparcSoftcardOps←Flags flags; SparcSoftcardOps←VMSpace vMSpace; CARD32 virtualAddressByte; CARD32 realAddressByte; } SparcSoftcardOps←MapEntry; typedef struct MapEntryConcrete←self { BOOLEAN dirty:1; BOOLEAN referenced:1; BOOLEAN readOnly:1; BOOLEAN nonCachable:1; BOOLEAN interrupt:1; BYTE task:8; INT virtualPageHiHi:3; INT virtualPageHiLow:2; BOOL trash:1; INT realPage:13; } SparcSoftcardOps←MapEntryConcrete; extern void SparcSoftcardOps←WriteMapEntry(); /* SparcSoftcardOps←MapEntry mapEntry; */ typedef struct ReadMapEntry←self { SparcSoftcardOps←MapEntry oldMapEntry; } Return←ReadMapEntry; extern Return←ReadMapEntry SparcSoftcardOps←ReadMapEntry(); /* SparcSoftcardOps←MapEntry mapEntry; */