Check for SYS/GL during library init. Reason is that
[AROS.git] / rom / kernel / kernel.conf
blob8ba3f2a135de9a50893293ef86ba9fdff4b73458
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>
13 #include <utility/hooks.h>
15 #include <inttypes.h>
16 #include <stdarg.h>
18 static inline void __inline_KrnPrintf(APTR __KernelBase, const char *format, ...)
20     va_list args;
22     va_start(args, format);
24     AROS_LC2(int, KrnBug,
25              AROS_LCA(const char *, format, A0),
26              AROS_LCA(va_list, args, A1),
27              APTR, __KernelBase, 12, Kernel);
29     va_end(args);
32 #define KrnPrintf(...) __inline_KrnPrintf(KernelBase, __VA_ARGS__)
34 ##end cdef
35 ##begin cdefprivate
36 #include <aros/types/spinlock_s.h>
37 #include <aros/kernel.h>
38 #include <kernel_base.h>
39 ##end cdefprivate
40 ##begin functionlist
41 KRN_SchedType KrnGetScheduler() ()
42 void KrnSetScheduler(KRN_SchedType sched) (D0)
43 void KrnCause() ()
44 void KrnDispatch() ()
45 void KrnSwitch() ()
46 void KrnSchedule() ()
47 void * KrnAddIRQHandler(uint8_t irq, void *handler, void *handlerData, void *handlerData2) (D0, A0, A1, A2)
48 void KrnRemIRQHandler(void * handle) (A0)
49 void KrnCli() ()
50 void KrnSti() ()
51 struct TagItem *KrnGetBootInfo() ()
52 int KrnBug(const char *format, va_list args) (A0, A1)
53 int KrnIsSuper() ()
54 void * KrnAddExceptionHandler(uint8_t irq, void *handler, void *handlerData, void *handlerData2) (D0, A0, A1, A2)
55 void KrnRemExceptionHandler(void * handle) (A0)
56 int KrnMapGlobal(void *virtual, void *physical, uint32_t length, KRN_MapAttr flags) (A0, A1, D0, D1)
57 int KrnUnmapGlobal(void *virtual, uint32_t length) (A0, D0)
58 void *KrnCreateContext() ()
59 void KrnDeleteContext(void *context) (A0)
60 void *KrnVirtualToPhysical(void *virt) (A0)
61 void KrnSetProtection(void *address, uint32_t length, KRN_MapAttr flags) (A0, D0, D1)
62 .skip 3 # These were debug info functions, moved to debug.library
63 void KrnPutChar(char c) (D0)
64 int KrnMayGetChar() ()
65 void *KrnAllocPages(void *addr, uintptr_t length, uint32_t flags) (A0, D0, D1)
66 void KrnFreePages(void *phy_addr, uintptr_t length) (A0, D0)
67 intptr_t KrnGetSystemAttr(uint32_t id) (D0)
68 int KrnFormatStr(void *putch, const char *format, va_list args) (A0, A1, A2)
69 void KrnInitMemory(struct MemHeader *mh) (A0)
70 ULONG KrnStatMemoryA(uint32_t flags, struct TagItem *query) (D0, A0)
71 int KrnObtainInput() ()
72 void KrnReleaseInput() ()
73 void KrnDisplayAlert(uint32_t code, const char *text) (D0, A0)
74 unsigned int KrnGetCPUCount() ()
75 uint32_t KrnGetCPUNumber() ()
76 uint32_t KrnGetCPUMask(uint32_t number) (D0)
77 void KrnModifyIRQHandler(void *handle, void *handlerData, void *handlerData2) (A0, A1, A2)
78 void KrnSpinInit(spinlock_t *lock) (A0)
79 int KrnSpinIsLocked(spinlock_t *lock) (A0)
80 spinlock_t *KrnSpinTryLock(spinlock_t *lock, ULONG mode) (A0, D0)
81 spinlock_t *KrnSpinLock(spinlock_t *lock, struct Hook *failhook, ULONG mode) (A1, A0, D0)
82 void KrnSpinUnLock(spinlock_t *lock) (A0)
83 .skip 1 # One LVO is reserved here for IPI
84 ##end functionlist