mirror of
https://github.com/drasko/codezero.git
synced 2026-02-04 22:13:16 +01:00
New UTCB implementation almost working.
- KIP's pointer to UTCB seems to work with existing l4lib ipc functions. - Works up to clone() - In clone we mmap() the same UTCB on each new thread - excessive. - Generally during page fault handling, cloned threads may fault on the same page multiple times even though a single handling would be enough for all of them. Need to detect and handle this.
This commit is contained in:
@@ -72,8 +72,7 @@ struct ktcb {
|
||||
struct list_head task_list; /* Global task list. */
|
||||
|
||||
/* UTCB related, see utcb.txt in docs */
|
||||
unsigned long utcb_virt; /* Virtual ref to task's utcb area */
|
||||
unsigned long utcb_phys; /* Physical ref to task's utcb area */
|
||||
unsigned long utcb_address; /* Virtual ref to task's utcb area */
|
||||
|
||||
/* Thread times */
|
||||
u32 kernel_time; /* Ticks spent in kernel */
|
||||
@@ -151,5 +150,7 @@ extern struct id_pool *thread_id_pool;
|
||||
extern struct id_pool *space_id_pool;
|
||||
extern struct id_pool *tgroup_id_pool;
|
||||
|
||||
void task_update_utcb(struct ktcb *cur, struct ktcb *next);
|
||||
|
||||
#endif /* __TCB_H__ */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user