Kernel updates since December 2009

This commit is contained in:
Bahadir Balban
2010-03-25 01:12:40 +02:00
parent 16818191b3
commit 74b5963fcb
487 changed files with 22477 additions and 3857 deletions

17
include/l4/api/cache.h Normal file
View File

@@ -0,0 +1,17 @@
/*
* Generic macros for cache operations
*
* Copyright (C) 2009 B Labs Ltd.
*/
#ifndef __CACHE_CONTROL_H__
#define __CACHE_CONTROL_H__
#include INC_GLUE(cache.h)
#define L4_INVALIDATE_ICACHE ARCH_INVALIDATE_ICACHE
#define L4_INVALIDATE_DCACHE ARCH_INVALIDATE_DCACHE
#define L4_CLEAN_DCACHE ARCH_CLEAN_DCACHE
#define L4_CLEAN_INVALIDATE_DCACHE ARCH_CLEAN_INVALIDATE_DCACHE
#define L4_INVALIDATE_TLB ARCH_INVALIDATE_TLB
#endif /* __CACHE_CONTROL_H__ */

View File

@@ -142,5 +142,7 @@
#define ENOUTCB 135 /* Task has no utcb set up */
#define ENOMAP 136 /* The memory area has unmapped regions */
#define ENOIRQ 137 /* Irq cannot be registered */
#define EABORT 138 /* Abort cannot be handled */
#define ENOCHILD 139 /* Task is not paged by caller */
#endif /* __ERRNO_H__ */

View File

@@ -61,7 +61,8 @@ struct kip {
u32 schedule;
u32 getid;
u32 mutex_control;
u32 cache_control;
u32 arch_syscall0;
u32 arch_syscall1;
u32 arch_syscall2;

View File

@@ -26,7 +26,8 @@
#define sys_container_control_offset 0x2C
#define sys_time_offset 0x30
#define sys_mutex_control_offset 0x34
#define syscalls_end_offset sys_mutex_control_offset
#define sys_cache_control_offset 0x38
#define syscalls_end_offset sys_cache_control_offset
#define SYSCALLS_TOTAL ((syscalls_end_offset >> 2) + 1)
void print_syscall_context(struct ktcb *t);
@@ -46,5 +47,7 @@ int sys_capability_control(unsigned int req, unsigned int flags, void *addr);
int sys_container_control(unsigned int req, unsigned int flags, void *addr);
int sys_time(struct timeval *tv, int set);
int sys_mutex_control(unsigned long mutex_address, int mutex_op);
int sys_cache_control(unsigned long start, unsigned long end,
unsigned int flags);
#endif /* __SYSCALL_H__ */

View File

@@ -9,15 +9,17 @@
#define THREAD_RECYCLE 0x40000000
#define THREAD_WAIT 0x50000000
#define THREAD_CREATE_MASK 0x0FF00000
#define THREAD_SHARE_MASK 0x00F00000
#define THREAD_SPACE_MASK 0x0F000000
#define THREAD_CREATE_MASK (THREAD_SHARE_MASK | THREAD_SPACE_MASK)
#define TC_SHARE_CAPS 0x00100000 /* Share all thread capabilities */
#define TC_SHARE_UTCB 0x00200000 /* Share utcb location (same space */
#define TC_SHARE_GROUP 0x00400000 /* Share thread group id */
#define TC_SHARE_SPACE 0x00800000 /* New thread, use given space */
#define TC_COPY_SPACE 0x01000000 /* New thread, copy given space */
#define TC_NEW_SPACE 0x02000000 /* New thread, new space */
#define TC_SHARE_PAGER 0x04000000 /* New thread, shared pager */
#define TC_AS_PAGER 0x08000000 /* Set new thread as child */
#define TC_SHARE_SPACE 0x01000000 /* New thread, use given space */
#define TC_COPY_SPACE 0x02000000 /* New thread, copy given space */
#define TC_NEW_SPACE 0x04000000 /* New thread, new space */
/* #define THREAD_USER_MASK 0x000F0000 Reserved for userspace */
#define THREAD_EXIT_MASK 0x0000FFFF /* Thread exit code */
#endif /* __API_THREAD_H__ */