Changeset cf7b3e0 in mainline for contrib/arch/kernel/kernel.adl
- Timestamp:
- 2009-09-16T22:46:58Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 51d4040
- Parents:
- 57688fe2
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
contrib/arch/kernel/kernel.adl
r57688fe2 rcf7b3e0 3 3 *****************************/ 4 4 5 interface kernel_klog {5 interface sys_klog { 6 6 /* Print using kernel facility */ 7 7 unative_t sys_klog(int fd, const void *buf, size_t size); … … 10 10 }; 11 11 12 interface kernel_console {12 interface sys_console { 13 13 /* Enable kernel console */ 14 14 unative_t sys_debug_enable_console(void); … … 21 21 }; 22 22 23 interface kernel_tls {23 interface sys_tls { 24 24 /* Set thread-local storage pointer (on architectures where kernel mode is required) */ 25 25 unative_t sys_tls_set(unative_t addr); … … 28 28 }; 29 29 30 interface kernel_thread {30 interface sys_thread { 31 31 /* Create new thread */ 32 32 unative_t sys_thread_create(uspace_arg_t *uspace_uarg, char *uspace_name, size_t name_len, thread_id_t *uspace_thread_id); … … 45 45 }; 46 46 47 interface kernel_task {47 interface sys_task { 48 48 /* Set name fo the current task */ 49 49 unative_t sys_task_set_name(const char *uspace_name, size_t name_len); … … 56 56 }; 57 57 58 interface kernel_program {58 interface sys_program { 59 59 /* Spawn a new instance of clonable loader service */ 60 60 unative_t sys_program_spawn_loader(char *uspace_name, size_t name_len); … … 63 63 }; 64 64 65 interface kernel_futex {65 interface sys_futex { 66 66 /* Sleep in a futex wait queue */ 67 67 unative_t sys_futex_sleep_timeout(uintptr_t uaddr, uint32_t usec, int flags); … … 74 74 }; 75 75 76 interface kernel_smc {76 interface sys_smc { 77 77 /* Enforce self-modifying code cache coherency */ 78 78 unative_t sys_smc_coherence(uintptr_t va, size_t size); … … 81 81 }; 82 82 83 interface kernel_as {83 interface sys_as { 84 84 /* Create new address space area */ 85 85 unative_t sys_as_area_create(uintptr_t address, size_t size, int flags); … … 100 100 }; 101 101 102 interface kernel_ipc {102 interface sys_ipc { 103 103 /* Fast synchronous IPC call */ 104 104 unative_t sys_ipc_call_sync_fast(unative_t phoneid, unative_t method, unative_t arg1, unative_t arg2, unative_t arg3, ipc_data_t *data); … … 147 147 }; 148 148 149 interface kernel_event {149 interface sys_event { 150 150 /* Subscribe to kernel event notifications */ 151 151 unative_t sys_event_subscribe(unative_t evno, unative_t method); … … 154 154 }; 155 155 156 interface kernel_cap {156 interface sys_cap { 157 157 /* Grant capabilities to a task */ 158 158 unative_t sys_cap_grant(sysarg64_t *uspace_taskid_arg, cap_t caps); … … 165 165 }; 166 166 167 interface kernel_ddi {167 interface sys_ddi { 168 168 /* Enable access I/O address space for the current task */ 169 169 unative_t sys_enable_iospace(ddi_ioarg_t *uspace_io_arg); … … 192 192 }; 193 193 194 interface kernel_sysinfo {194 interface sys_sysinfo { 195 195 /* Check for sysinfo key validity */ 196 196 unative_t sys_sysinfo_valid(unative_t ptr, unative_t len); … … 203 203 }; 204 204 205 interface kernel_debug {205 interface sys_debug { 206 206 /* Connect to the kernel debugging answerbox of a given task */ 207 207 unative_t sys_ipc_connect_kbox(sysarg64_t *uspace_taskid_arg); … … 215 215 *****************************************************/ 216 216 217 frame kernel_console {218 provides: 219 kernel_klog kernel_klog;220 kernel_console kernel_console;221 }; 222 223 frame kernel_proc {224 provides: 225 kernel_tls kernel_tls;226 kernel_thread kernel_thread;227 kernel_task kernel_task;228 kernel_program kernel_program;229 }; 230 231 frame kernel_synch {232 provides: 233 kernel_futex kernel_futex;234 kernel_smc kernel_smc;235 }; 236 237 frame kernel_mm {238 provides: 239 kernel_as kernel_as;240 }; 241 242 frame kernel_ipc {243 provides: 244 kernel_ipc kernel_ipc;245 kernel_event kernel_event;246 }; 247 248 frame kernel_security {249 provides: 250 kernel_cap kernel_cap;251 }; 252 253 frame kernel_ddi {254 provides: 255 kernel_ddi kernel_ddi;256 }; 257 258 frame kernel_sysinfo {259 provides: 260 kernel_sysinfo kernel_sysinfo;261 }; 262 263 frame kernel_debug {264 provides: 265 kernel_debug kernel_debug;217 frame sys_console { 218 provides: 219 sys_klog sys_klog; 220 sys_console sys_console; 221 }; 222 223 frame sys_proc { 224 provides: 225 sys_tls sys_tls; 226 sys_thread sys_thread; 227 sys_task sys_task; 228 sys_program sys_program; 229 }; 230 231 frame sys_synch { 232 provides: 233 sys_futex sys_futex; 234 sys_smc sys_smc; 235 }; 236 237 frame sys_mm { 238 provides: 239 sys_as sys_as; 240 }; 241 242 frame sys_ipc { 243 provides: 244 sys_ipc sys_ipc; 245 sys_event sys_event; 246 }; 247 248 frame sys_security { 249 provides: 250 sys_cap sys_cap; 251 }; 252 253 frame sys_ddi { 254 provides: 255 sys_ddi sys_ddi; 256 }; 257 258 frame sys_sysinfo { 259 provides: 260 sys_sysinfo sys_sysinfo; 261 }; 262 263 frame sys_debug { 264 provides: 265 sys_debug sys_debug; 266 266 }; 267 267 … … 272 272 273 273 architecture kernel { 274 inst kernel_console kernel_console;275 inst kernel_proc kernel_proc;276 inst kernel_synch kernel_synch;277 inst kernel_mm kernel_mm;278 inst kernel_ipc kernel_ipc;279 inst kernel_security kernel_security;280 inst kernel_ddi kernel_ddi;281 inst kernel_sysinfo kernel_sysinfo;282 inst kernel_debug kernel_debug;274 inst sys_console sys_console; 275 inst sys_proc sys_proc; 276 inst sys_synch sys_synch; 277 inst sys_mm sys_mm; 278 inst sys_ipc sys_ipc; 279 inst sys_security sys_security; 280 inst sys_ddi sys_ddi; 281 inst sys_sysinfo sys_sysinfo; 282 inst sys_debug sys_debug; 283 283 284 delegate kernel_klog to kernel_console:kernel_klog;285 delegate kernel_console to kernel_console:kernel_console;286 delegate kernel_tls to kernel_proc:kernel_tls;287 delegate kernel_thread to kernel_proc:kernel_thread;288 delegate kernel_task to kernel_proc:kernel_task;289 delegate kernel_program to kernel_proc:kernel_program;290 delegate kernel_futex to kernel_synch:kernel_futex;291 delegate kernel_smc to kernel_synch:kernel_smc;292 delegate kernel_as to kernel_mm:kernel_as;293 delegate kernel_ipc to kernel_ipc:kernel_sys;294 delegate kernel_event to kernel_ipc:kernel_event;295 delegate kernel_cap to kernel_security:kernel_cap;296 delegate kernel_ddi to kernel_ddi:kernel_ddi;297 delegate kernel_sysinfo to kernel_sysinfo:kernel_sysinfo;298 delegate kernel_debug to kernel_debug:kernel_debug;299 }; 284 delegate sys_klog to sys_console:sys_klog; 285 delegate sys_console to sys_console:sys_console; 286 delegate sys_tls to sys_proc:sys_tls; 287 delegate sys_thread to sys_proc:sys_thread; 288 delegate sys_task to sys_proc:sys_task; 289 delegate sys_program to sys_proc:sys_program; 290 delegate sys_futex to sys_synch:sys_futex; 291 delegate sys_smc to sys_synch:sys_smc; 292 delegate sys_as to sys_mm:sys_as; 293 delegate sys_ipc to sys_ipc:sys_ipc; 294 delegate sys_event to sys_ipc:sys_event; 295 delegate sys_cap to sys_security:sys_cap; 296 delegate sys_ddi to sys_ddi:sys_ddi; 297 delegate sys_sysinfo to sys_sysinfo:sys_sysinfo; 298 delegate sys_debug to sys_debug:sys_debug; 299 };
Note:
See TracChangeset
for help on using the changeset viewer.