Removed bits from kernel where pager utcb is set.

Pagers now set their own utcb explicitly via exchange_registers.
exregs accepts calls from active pagers for this purpose only.
This commit is contained in:
Bahadir Balban
2009-10-18 15:01:38 +03:00
parent 7ba7a2e796
commit 2bd3266498
11 changed files with 79 additions and 58 deletions

View File

@@ -18,6 +18,8 @@
#define CAP_TYPE_UMUTEX (1 << 5)
#define CAP_TYPE_QUANTITY (1 << 6)
#define cap_type(c) ((c)->type & CAP_TYPE_MASK)
/*
* Resource types
*/
@@ -36,6 +38,8 @@
#define CAP_RTYPE_MAPPOOL (1 << 27) /* For pmd spending */
#define CAP_RTYPE_CAPPOOL (1 << 28) /* For new cap generation */
#define cap_rtype(c) ((c)->type & CAP_RTYPE_MASK)
/*
* Access permissions
*/

View File

@@ -161,7 +161,7 @@ struct ktcb *tcb_alloc_init(void);
void tcb_delete(struct ktcb *tcb);
void init_ktcb_list(struct ktcb_list *ktcb_list);
void task_update_utcb(struct ktcb *cur, struct ktcb *next);
void task_update_utcb(struct ktcb *task);
int tcb_check_and_lazy_map_utcb(struct ktcb *task);
#endif /* __TCB_H__ */

View File

@@ -15,9 +15,6 @@
#define KERNEL_AREA_SIZE (KERNEL_AREA_END - KERNEL_AREA_START)
#define KERNEL_AREA_SECTIONS (KERNEL_AREA_SIZE / ARM_SECTION_SIZE)
#define UTCB_AREA_START 0xF8000000
#define UTCB_AREA_END 0xF9000000
#define UTCB_AREA_SIZE (UTCB_AREA_END - UTCB_AREA_START)
#define UTCB_SIZE (sizeof(int) * 64)
#define IO_AREA_START 0xF9000000

View File

@@ -9,7 +9,7 @@ static inline int set_intersection(unsigned long a, unsigned long b,
unsigned long c, unsigned long d)
{
/*
* Below is the complement (') of the intersection
* Below is the complement set (') of the intersection
* of 2 ranges, much simpler ;-)
*/
if (b <= c || a >= d)