dont use magic values
[AROS.git] / rom / kernel / kernel.conf
blob6b7b75f9b1640649ee61545990bfd375069ad246
1 ##begin config
2 version 3.1
3 residentpri 127
4 libbase KernelBase
5 libbasetype struct KernelBase
6 options noresident
7 ##end config
8 ##begin cdef
9 #include <aros/types/spinlock_s.h>
10 #include <aros/kernel.h>
11 #include <exec/memory.h>
12 #include <utility/tagitem.h>
14 #include <inttypes.h>
15 #include <stdarg.h>
17 static inline void __inline_KrnPrintf(APTR __KernelBase, const char *format, ...)
19     va_list args;
21     va_start(args, format);
23     AROS_LC2(int, KrnBug,
24              AROS_LCA(const char *, format, A0),
25              AROS_LCA(va_list, args, A1),
26              APTR, __KernelBase, 12, Kernel);
28     va_end(args);
31 #define KrnPrintf(...) __inline_KrnPrintf(KernelBase, __VA_ARGS__)
33 ##end cdef
34 ##begin cdefprivate
35 #include <aros/types/spinlock_s.h>
36 #include <aros/kernel.h>
37 #include <kernel_base.h>
38 ##end cdefprivate
39 ##begin functionlist
40 KRN_SchedType KrnGetScheduler() ()
41 void KrnSetScheduler(KRN_SchedType sched) (D0)
42 void KrnCause() ()
43 void KrnDispatch() ()
44 void KrnSwitch() ()
45 void KrnSchedule() ()
46 void * KrnAddIRQHandler(uint8_t irq, void *handler, void *handlerData, void *handlerData2) (D0, A0, A1, A2)
47 void KrnRemIRQHandler(void * handle) (A0)
48 void KrnCli() ()
49 void KrnSti() ()
50 struct TagItem *KrnGetBootInfo() ()
51 int KrnBug(const char *format, va_list args) (A0, A1)
52 int KrnIsSuper() ()
53 void * KrnAddExceptionHandler(uint8_t irq, void *handler, void *handlerData, void *handlerData2) (D0, A0, A1, A2)
54 void KrnRemExceptionHandler(void * handle) (A0)
55 int KrnMapGlobal(void *virtual, void *physical, uint32_t length, KRN_MapAttr flags) (A0, A1, D0, D1)
56 int KrnUnmapGlobal(void *virtual, uint32_t length) (A0, D0)
57 void *KrnCreateContext() ()
58 void KrnDeleteContext(void *context) (A0)
59 void *KrnVirtualToPhysical(void *virt) (A0)
60 void KrnSetProtection(void *address, uint32_t length, KRN_MapAttr flags) (A0, D0, D1)
61 .skip 3 # These were debug info functions, moved to debug.library
62 void KrnPutChar(char c) (D0)
63 int KrnMayGetChar() ()
64 void *KrnAllocPages(void *addr, uintptr_t length, uint32_t flags) (A0, D0, D1)
65 void KrnFreePages(void *phy_addr, uintptr_t length) (A0, D0)
66 intptr_t KrnGetSystemAttr(uint32_t id) (D0)
67 int KrnFormatStr(void *putch, const char *format, va_list args) (A0, A1, A2)
68 void KrnInitMemory(struct MemHeader *mh) (A0)
69 ULONG KrnStatMemoryA(uint32_t flags, struct TagItem *query) (D0, A0)
70 int KrnObtainInput() ()
71 void KrnReleaseInput() ()
72 void KrnDisplayAlert(uint32_t code, const char *text) (D0, A0)
73 unsigned int KrnGetCPUCount() ()
74 uint32_t KrnGetCPUNumber() ()
75 uint32_t KrnGetCPUMask(uint32_t number) (D0)
76 void KrnModifyIRQHandler(void *handle, void *handlerData, void *handlerData2) (A0, A1, A2)
77 void KrnSpinInit(spinlock_t *lock) (A0)
78 int KrnSpinIsLocked(spinlock_t *lock) (A0)
79 spinlock_t *KrnSpinTryLock(spinlock_t *lock, ULONG mode) (A0, D0)
80 spinlock_t *KrnSpinLock(spinlock_t *lock, ULONG mode) (A0, D0)
81 void KrnSpinUnLock(spinlock_t *lock) (A0)
82 # One LVO is reserved here for IPI
83 ##end functionlist