/* 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; */