Added sharing of pager capabilities with children or siblings

Pagers can now share their own private capabilities with their
paged children, or their siblings with whom they have a common pager
ancestor.

Added flags CAP_SHARE_CHILD and CAP_SHARE_SIBLINGS for that.
This commit is contained in:
Bahadir Balban
2009-10-23 13:50:32 +03:00
parent f4c9ea50bc
commit 6093214981
10 changed files with 73 additions and 23 deletions

View File

@@ -7,13 +7,15 @@
#define __API_CAPABILITY_H__
/* Capability syscall request types */
#define CAP_CONTROL_NCAPS 0
#define CAP_CONTROL_READ 1
#define CAP_CONTROL_SHARE 2
#define CAP_CONTROL_NCAPS 0x00
#define CAP_CONTROL_READ 0x01
#define CAP_CONTROL_SHARE 0x02
#define CAP_SHARE_SPACE 1
#define CAP_SHARE_CONTAINER 2
#define CAP_SHARE_GROUP 4
#define CAP_SHARE_PAGED 8 /* All that we are pager of */
#define CAP_SHARE_MASK 0x1F
#define CAP_SHARE_SPACE 0x01
#define CAP_SHARE_CONTAINER 0x02
#define CAP_SHARE_GROUP 0x04
#define CAP_SHARE_CHILD 0x08 /* All that we are pager of */
#define CAP_SHARE_SIBLING 0x10 /* All that have a common pager */
#endif /* __API_CAPABILITY_H__ */

View File

@@ -9,7 +9,7 @@
#define THREAD_DESTROY 0x0004
#define THREAD_RECYCLE 0x0005
#define THREAD_CREATE_MASK 0x07F0
#define THREAD_CREATE_MASK 0x0FF0
#define TC_SHARE_CAPS 0x0010 /* Share all thread capabilities */
#define TC_SHARE_UTCB 0x0020 /* Share utcb location (same space */
#define TC_SHARE_GROUP 0x0040 /* Share thread group id */