Fix IO memory access .. SB128 driver makes noises in VMWare - CMI is untested (Curren...
[AROS.git] / rom / exec / exec.conf
blob9bce84d1bdb008a0d23d776cbdeecb9c879d4a45
1 ##begin config
2 version 45.0
3 libbase SysBase
4 libbasetype struct IntExecBase
5 libbasetypeextern struct ExecBase
6 options noresident,noautoinit
7 ##end config
9 ##begin cdef
10 #include <exec/types.h>
11 #include <exec/tasks.h>
12 #include <exec/memory.h>
13 #include <exec/ports.h>
14 #include <exec/devices.h>
15 #include <exec/io.h>
16 #include <exec/semaphores.h>
17 #include <exec/interrupts.h>
18 #include <exec/avl.h>
20 #include <dos/bptr.h>
22 #include <stdarg.h>
24 __BEGIN_DECLS
26 #ifndef NewRawDoFmt
27 STRPTR NewRawDoFmt(CONST_STRPTR FormatString, VOID_FUNC PutChProc, APTR PutChData, ...);
28 #endif
30 __END_DECLS
32 ##end cdef
34 ##begin cdefprivate
36 #include "exec_intern.h"
38 ##end cdefprivate
40 ##begin functionlist
41 struct ExecBase *open(ULONG version) (D0)
42 .private
43 BPTR close() ()
44 .private
45 .skip 2
46 IPTR Supervisor(void *userFunction) (A5)
47 BOOL PrepareContext(struct Task *task, APTR entryPoint, APTR fallBack, struct TagItem *tagList) (A0, A1, A2, A3)
49 void Reschedule(struct Task *task) (A0)
50 void Switch() ()
51 void Dispatch() ()
52 void Exception() ()
53 void InitCode(ULONG startClass, ULONG version) (D0, D1)
54 void InitStruct(CONST_APTR initTable, APTR memory, ULONG size) (A1, A2, D0)
55 struct Library *MakeLibrary(CONST_APTR funcInit, CONST_APTR structInit, ULONG_FUNC libInit, ULONG dataSize, BPTR segList) (A0, A1, A2, D0, D1)
56 ULONG MakeFunctions(APTR target, CONST_APTR functionArray, CONST_APTR funcDispBase) (A0, A1, A2)
57 struct Resident *FindResident(const UBYTE *name) (A1)
58 APTR InitResident(struct Resident *resident, BPTR segList) (A1, D1)
59 void Alert(ULONG alertNum) (D7)
60 void Debug(unsigned long flags) (D0)
61 void Disable() ()
62 void Enable() ()
63 void Forbid() ()
64 void Permit() ()
65 ULONG SetSR(ULONG newSR, ULONG mask) (D0, D1)
66 APTR SuperState() ()
67 void UserState(APTR sysStack) (D0)
68 struct Interrupt *SetIntVector(ULONG intNumber, struct Interrupt *interrupt) (D0, A1)
69 void AddIntServer(ULONG intNumber, struct Interrupt *interrupt) (D0, A1)
70 void RemIntServer(ULONG intNumber, struct Interrupt *interrupt) (D0, A1)
71 void Cause(struct Interrupt *softint) (A1)
72 APTR Allocate(struct MemHeader *freeList, ULONG byteSize) (A0, D0)
73 void Deallocate(struct MemHeader *freeList, APTR memoryBlock, ULONG byteSize) (A0, A1, D0)
74 APTR AllocMem(ULONG byteSize, ULONG requirements) (D0, D1)
75 APTR AllocAbs(ULONG byteSize, APTR location) (D0, A1)
76 void FreeMem(APTR memoryBlock, ULONG byteSize) (A1, D0)
77 ULONG AvailMem(ULONG attributes) (D1)
78 struct MemList *AllocEntry(struct MemList *entry) (A0)
79 void FreeEntry(struct MemList *entry) (A0)
80 void Insert(struct List *list, struct Node *node, struct Node *pred) (A0, A1, A2)
81 void AddHead(struct List *list, struct Node *node) (A0, A1)
82 void AddTail(struct List *list, struct Node *node) (A0, A1)
83 void Remove(struct Node *node) (A1)
84 struct Node *RemHead(struct List *list) (A0)
85 struct Node *RemTail(struct List *list) (A0)
86 void Enqueue(struct List *list, struct Node *node) (A0, A1)
87 struct Node *FindName(struct List *list, CONST_STRPTR name) (A0, A1)
88 APTR AddTask(struct Task *task, APTR initialPC, APTR finalPC) (A1, A2, A3)
89 void RemTask(struct Task *task) (A1)
90 struct Task *FindTask(STRPTR name) (A1)
91 BYTE SetTaskPri(struct Task *task, LONG priority) (A1, D0)
92 ULONG SetSignal(ULONG newSignals, ULONG signalSet) (D0, D1)
93 ULONG SetExcept(ULONG newSignals, ULONG signalSet) (D0, D1)
94 ULONG Wait(ULONG signalSet) (D0)
95 void Signal(struct Task *task, ULONG signalSet) (A1, D0)
96 BYTE AllocSignal(LONG signalNum) (D0)
97 void FreeSignal(LONG signalNum) (D0)
98 LONG AllocTrap(long trapNum) (D0)
99 void FreeTrap(long trapNum) (D0)
100 void AddPort(struct MsgPort *port) (A1)
101 void RemPort(struct MsgPort *port) (A1)
102 void PutMsg(struct MsgPort *port, struct Message *message) (A0, A1)
103 struct Message *GetMsg(struct MsgPort *port) (A0)
104 void ReplyMsg(struct Message *message) (A1)
105 struct Message *WaitPort(struct MsgPort *port) (A0)
106 struct MsgPort *FindPort(CONST_STRPTR name) (A1)
107 void AddLibrary(struct Library *library) (A1)
108 void RemLibrary(struct Library *library) (A1)
109 struct Library *OldOpenLibrary(UBYTE *libName) (A1)
110 void CloseLibrary(struct Library *library) (A1)
111 APTR SetFunction(struct Library *library, LONG funcOffset, APTR newFunction) (A1, A0, D0)
112 void SumLibrary(struct Library *library) (A1)
113 void AddDevice(struct Device *device) (A1)
114 void RemDevice(struct Device *device) (A1)
115 LONG OpenDevice(CONST_STRPTR devName, IPTR unitNumber, struct IORequest *iORequest, ULONG flags) (A0, D0, A1, D1)
116 void CloseDevice(struct IORequest *iORequest) (A1)
117 LONG DoIO(struct IORequest *iORequest) (A1)
118 void SendIO(struct IORequest *iORequest) (A1)
119 struct IORequest *CheckIO(struct IORequest *iORequest) (A1)
120 LONG WaitIO(struct IORequest *iORequest) (A1)
121 LONG AbortIO(struct IORequest *iORequest) (A1)
122 void AddResource(APTR resource) (A1)
123 void RemResource(APTR resource) (A1)
124 APTR OpenResource(CONST_STRPTR resName) (A1)
125 void RawIOInit() ()
126 LONG RawMayGetChar() ()
127 void RawPutChar(UBYTE chr) (D0)
128 APTR RawDoFmt(CONST_STRPTR FormatString, APTR DataStream, VOID_FUNC PutChProc, APTR PutChData) (A0, A1, A2, A3)
129 UWORD GetCC() ()
130 ULONG TypeOfMem(APTR address) (A1)
131 ULONG Procure(struct SignalSemaphore *sigSem, struct SemaphoreMessage *bidMsg) (A0, A1)
132 void Vacate(struct SignalSemaphore *sigSem, struct SemaphoreMessage *bidMsg) (A0, A1)
133 struct Library *OpenLibrary(CONST_STRPTR libName, ULONG version) (A1, D0)
134 .version 33
135 void InitSemaphore(struct SignalSemaphore *sigSem) (A0)
136 void ObtainSemaphore(struct SignalSemaphore *sigSem) (A0)
137 void ReleaseSemaphore(struct SignalSemaphore *sigSem) (A0)
138 ULONG AttemptSemaphore(struct SignalSemaphore *sigSem) (A0)
139 void ObtainSemaphoreList(struct List *sigSem) (A0)
140 void ReleaseSemaphoreList(struct List *sigSem) (A0)
141 struct SignalSemaphore *FindSemaphore(STRPTR name) (A1)
142 void AddSemaphore(struct SignalSemaphore *sigSem) (A1)
143 void RemSemaphore(struct SignalSemaphore *sigSem) (A1)
144 ULONG SumKickData() ()
145 void AddMemList(ULONG size, ULONG attributes, LONG pri, APTR base, STRPTR name) (D0, D1, D2, A0, A1)
146 void CopyMem(CONST_APTR source, APTR dest, ULONG size) (A0, A1, D0)
147 void CopyMemQuick(CONST_APTR source, APTR dest, ULONG size) (A0, A1, D0)
148 .version 36
149 void CacheClearU() ()
150 void CacheClearE(APTR address, IPTR length, ULONG caches) (A0, D0, D1)
151 ULONG CacheControl(ULONG cacheBits, ULONG cacheMask) (D0, D1)
152 APTR CreateIORequest(struct MsgPort *ioReplyPort, ULONG size) (A0, D0)
153 void DeleteIORequest(APTR iorequest) (A0)
154 struct MsgPort *CreateMsgPort() ()
155 void DeleteMsgPort(struct MsgPort *port) (A0)
156 void ObtainSemaphoreShared(struct SignalSemaphore *sigSem) (A0)
157 APTR AllocVec(ULONG byteSize, ULONG requirements) (D0, D1)
158 void FreeVec(APTR memoryBlock) (A1)
159 APTR CreatePool(ULONG requirements, ULONG puddleSize, ULONG threshSize) (D0, D1, D2)
160 void DeletePool(APTR poolHeader) (A0)
161 APTR AllocPooled(APTR poolHeader, ULONG memSize) (A0, D0)
162 void FreePooled(APTR poolHeader, APTR memory, ULONG memSize) (A0, A1, D0)
163 ULONG AttemptSemaphoreShared(struct SignalSemaphore *sigSem) (A0)
164 void ColdReboot() ()
165 void StackSwap(struct StackSwapStruct *sss) (A0)
166 void ChildFree(ULONG tid) (D0)
167 ULONG ChildOrphan(ULONG tid) (D0)
168 ULONG ChildStatus(ULONG tid) (D0)
169 IPTR ChildWait(ULONG tid) (D0)
170 APTR CachePreDMA(APTR address, ULONG *length, ULONG flags) (A0, A1, D0)
171 .novararg
172 void CachePostDMA(APTR address, ULONG *length, ULONG flags) (A0, A1, D0)
173 .novararg
174 .version 39
175 void AddMemHandler(struct Interrupt *memHandler) (A1)
176 void RemMemHandler(struct Interrupt *memHandler) (A1)
177 ULONG ObtainQuickVector(APTR interruptCode) (A0)
178 .skip 1 # MorphOS: NewSetFunction()
179 .skip 1 # MorphOS: NewCreateLibrary()
180 IPTR NewStackSwap(struct StackSwapStruct *newStack, APTR function, struct StackSwapArgs *args) (A0, A1, A2)
181 APTR TaggedOpenLibrary(LONG tag) (D0)
182 ULONG ReadGayle() ()
183 .version 50
184 STRPTR VNewRawDoFmt(CONST_STRPTR FormatString, VOID_FUNC PutChProc, APTR PutChData, va_list VaListStream) (A0, A2, A3, A1)
185 .version 45
186 void NewMinList(struct MinList *ml) (A0)
187 .skip 1 # MorphOS: CacheInvalidInstArea(APTR Address, ULONG Size) (A0, D0)
188 .skip 1 # MorphOS: CacheInvalidDataArea(APTR Address, ULONG Size) (A0, D0)
189 .skip 1 # MorphOS: CacheFlushDataInstArea(APTR Address, ULONG Size) (A0, D0)
190 .version 45
191 struct AVLNode *AVL_AddNode(struct AVLNode **root, struct AVLNode *node, AVLNODECOMP func) (A0, A1, A2)
192 struct AVLNode *AVL_RemNodeByAddress(struct AVLNode **root, struct AVLNode *node) (A0, A1)
193 struct AVLNode *AVL_RemNodeByKey(struct AVLNode **root, AVLKey key, AVLKEYCOMP func) (A0, A1, A2)
194 struct AVLNode *AVL_FindNode(const struct AVLNode *root, AVLKey key, AVLKEYCOMP func) (A0, A1, A2)
195 struct AVLNode *AVL_FindPrevNodeByAddress(const struct AVLNode *node) (A0)
196 struct AVLNode *AVL_FindPrevNodeByKey(const struct AVLNode *root, AVLKey key, AVLKEYCOMP func) (A0, A1, A2)
197 struct AVLNode *AVL_FindNextNodeByAddress(const struct AVLNode *node) (A0)
198 struct AVLNode *AVL_FindNextNodeByKey(const struct AVLNode *node, AVLKey key, AVLKEYCOMP func) (A0, A1, A2)
199 struct AVLNode *AVL_FindFirstNode(const struct AVLNode *root) (A0)
200 struct AVLNode *AVL_FindLastNode(const struct AVLNode *root) (A0)
201 .version 50
202 .skip 1 # MorphOS: ULONG NewSetSystemAttrsA(APTR yData, ULONG Size, ULONG Type, struct TagItem *Tags ) (A0, D0, D1, A1)
203 struct Task *NewCreateTaskA(struct TagItem *tags) (A0)
204 .skip 1 # MorphOS: NewRawDoFmt()
205 .skip 1 # MorphOS: APTR AllocateAligned(struct MemHeader *memHeader, ULONG byteSize, ULONG alignSize, ULONG alignOffset) (base,sysv)
206 .skip 1 # MorphOS: APTR AllocMemAligned(ULONG byteSize, ULONG attributes, ULONG alignSize, ULONG alignOffset) (base,sysv)
207 .skip 1 # MorphOS: APTR AllocVecAligned(ULONG byteSize, ULONG attributes, ULONG alignSize, ULONG alignOffset) (base,sysv)
208 .skip 1 # MorphOS: AddExecNotify(struct Hook *hook) (base,sysv)
209 .skip 1 # MorphOS: RemExecNotify(struct Hook *hook) (base,sysv)
210 .skip 1 # MorphOS: struct Node *FindExecNode(ULONG type, CONST_STRPTR name) (D0, A0)
211 .skip 1 # MorphOS: APTR AddExecNodeA(APTR innode, struct TagItem *Tags) (A0, A1)
212 .skip 1 # MorphOS: APTR AllocVecDMA(ULONG byteSize, ULONG requirements) (D0, D1)
213 .skip 1 # MorphOS: VOID FreeVecDMA(APTR memoryBlock) (A1)
214 .skip 1 # MorphOS: APTR AllocPooledAligned(APTR poolHeader, ULONG byteSize, ULONG alignSize, ULONG alignOffset) (base,sysv)
215 .skip 1 # MorphOS: LONG AddResident(struct Resident *resident) (base,sysv)
216 struct Task *FindTaskByPID(ULONG processID) (D0)
217 BOOL AddResetCallback(struct Interrupt *resetCallback) (A0)
218 void RemResetCallback(struct Interrupt *resetCallback) (A0)
219 APTR AllocVecPooled(APTR pool, ULONG size) (D0, D1)
220 void FreeVecPooled(APTR pool, APTR memory) (D0, D1)
221 .skip 1 # MorphOS: void DumpTaskState(struct Task *task) (A0)
222 .skip 1 # MorphOS: void AddExecNotifyType(struct Hook *hook, LONG Type) (base,sysv)
223 ULONG ShutdownA(ULONG action) (D0)
224 .novararg
225 struct MemList *NewAllocEntry(struct MemList *entry, ULONG *return_flags) (A0, A1)
226 .skip 1 # MorphOS: ULONG AvailPool(APTR poolHeader, ULONG flags) (base,sysv)
227 APTR NewAddTask(struct Task *task, APTR initialPC, APTR finalPC, struct TagItem *tagList) (A1, A2, A3, A4)
228 # MorphOS functions follow:
229 # void PutMsgHead(struct MsgPort *port, struct Message *message) (base,sysv)
230 # ULONG NewGetTaskPIDAttrsA(ULONG pid, APTR data, ULONG dataSize, ULONG type, struct TagItem *tags) (D0, A0, D1, D2, A1)
231 # ULONG NewGetTaskPIDAttrsA(ULONG pid, APTR data, ULONG dataSize, ULONG type, struct TagItem *tags) (D0, A0, D1, D2, A1)
232 ##end functionlist