Capabilities for quantitative resources working.

Status:
- Capability initialization is a bit hacky with dummy current etc.
- All container caps belong to the pager
- Tasks refer to their pager's capabilities for mutex allocation - Hacky.
- Kernel container keeps quantitative caps and memory caps in separate lists - Hacky.

These will all evolve and get fixed.
This commit is contained in:
Bahadir Balban
2009-08-22 23:41:53 +03:00
parent d3d072e47d
commit 117e3482b6
7 changed files with 66 additions and 66 deletions

View File

@@ -26,7 +26,7 @@
#define CAP_RTYPE_TGROUP (1 << 17)
#define CAP_RTYPE_SPACE (1 << 18)
#define CAP_RTYPE_CONTAINER (1 << 19)
#define CAP_RTYPE_UMUTEX (1 << 20)
#define CAP_RTYPE_UMUTEX (1 << 20) /* Don't mix with pool version */
#define CAP_RTYPE_VIRTMEM (1 << 21)
#define CAP_RTYPE_PHYSMEM (1 << 22)
#define CAP_RTYPE_CPUPOOL (1 << 23)

View File

@@ -25,7 +25,6 @@ struct boot_resources {
/* Kernel resource usage */
int nkpmds;
int nkpgds;
int nkmemcaps;
int nkcaps;
};
@@ -73,7 +72,7 @@ struct kernel_container {
struct cap_list devmem_free;
/* All other caps that belong to the kernel */
struct cap_list other_caps;
struct cap_list non_memory_caps;
struct mem_cache *pgd_cache;
struct mem_cache *pmd_cache;

View File

@@ -158,7 +158,6 @@ void tcb_remove(struct ktcb *tcb);
void tcb_init(struct ktcb *tcb);
struct ktcb *tcb_alloc_init(void);
struct ktcb *tcb_alloc_init_use_capability(struct capability *cap);
void tcb_delete(struct ktcb *tcb);
void init_ktcb_list(struct ktcb_list *ktcb_list);