mirror of
https://github.com/drasko/codezero.git
synced 2026-01-12 10:53:16 +01:00
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:
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user