mirror of
https://github.com/drasko/codezero.git
synced 2026-01-19 14:23:15 +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:
@@ -60,10 +60,9 @@ struct ktcb {
|
||||
struct link rq_list;
|
||||
struct runqueue *rq;
|
||||
|
||||
/* Thread information */
|
||||
/* Thread Id information (See space for space id) */
|
||||
l4id_t tid; /* Global thread id */
|
||||
l4id_t tgid; /* Global thread group id */
|
||||
/* See space for space id */
|
||||
|
||||
/* Flags to indicate various task status */
|
||||
unsigned int flags;
|
||||
@@ -105,6 +104,7 @@ struct ktcb {
|
||||
/* Capability lists */
|
||||
struct cap_list cap_list;
|
||||
struct cap_list tgr_cap_list;
|
||||
struct cap_list pager_cap_list;
|
||||
|
||||
/* Fields for ipc rendezvous */
|
||||
struct waitqueue_head wqh_recv;
|
||||
|
||||
Reference in New Issue
Block a user