mirror of
https://github.com/drasko/codezero.git
synced 2026-01-12 10:53:16 +01:00
Lots of fixes, notion of pager hierarchy, fixed tgroup capability checking
Notion of pager hierarchy introduced using the existing but unused pagerid field. Thread creation now has two more flags TC_AS_PAGER and TC_SHARE_PAGER. The former sets creator as pager, the latter sets creator's pager as pager. Thread group capability sharing now correctly carries shared capabilities to the thread group leader's tgr_cap_list list, and this list is checked during capability checking.
This commit is contained in:
@@ -14,5 +14,6 @@
|
||||
#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 */
|
||||
|
||||
#endif /* __API_CAPABILITY_H__ */
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#define THREAD_DESTROY 0x0004
|
||||
#define THREAD_RECYCLE 0x0005
|
||||
|
||||
#define THREAD_CREATE_MASK 0x03F0
|
||||
#define THREAD_CREATE_MASK 0x07F0
|
||||
#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 */
|
||||
@@ -17,5 +17,6 @@
|
||||
#define TC_COPY_SPACE 0x0100 /* New thread, copy given space */
|
||||
#define TC_NEW_SPACE 0x0200 /* New thread, new space */
|
||||
#define TC_SHARE_PAGER 0x0400 /* New thread, shared pager */
|
||||
#define TC_AS_PAGER 0x0800 /* Set new thread as child */
|
||||
|
||||
#endif /* __THREAD_H__ */
|
||||
|
||||
Reference in New Issue
Block a user