mirror of
https://github.com/drasko/codezero.git
synced 2026-02-28 17:53:13 +01:00
Carried container definition to cinfo.c
This file is meant to be autogenerated by the configurator
This commit is contained in:
@@ -4,7 +4,7 @@
|
|||||||
Import('env')
|
Import('env')
|
||||||
|
|
||||||
# The set of source files associated with this SConscript file.
|
# The set of source files associated with this SConscript file.
|
||||||
src_local = ['irq.c', 'scheduler.c', 'time.c', 'tcb.c', 'space.c', 'bootm.c', 'resource.c', 'container.c', 'capability.c']
|
src_local = ['irq.c', 'scheduler.c', 'time.c', 'tcb.c', 'space.c', 'bootm.c', 'resource.c', 'container.c', 'capability.c', 'cinfo.c']
|
||||||
|
|
||||||
obj = env.Object(src_local)
|
obj = env.Object(src_local)
|
||||||
Return('obj')
|
Return('obj')
|
||||||
|
|||||||
132
src/generic/cinfo.c
Normal file
132
src/generic/cinfo.c
Normal file
@@ -0,0 +1,132 @@
|
|||||||
|
/*
|
||||||
|
* Autogenerated container descriptions
|
||||||
|
* defined for the current build.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2009 Bahadir Balban
|
||||||
|
*/
|
||||||
|
#include <l4/generic/container.h>
|
||||||
|
#include <l4/generic/resource.h>
|
||||||
|
#include <l4/generic/capability.h>
|
||||||
|
#include <l4/generic/cap-types.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* FIXME:
|
||||||
|
* Add irqs, exceptions
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define CONFIG_CONT0_PAGER_START CONFIG_CONT0_PHYS_START
|
||||||
|
|
||||||
|
struct container_info cinfo[] = {
|
||||||
|
[0] = {
|
||||||
|
.name = "Codezero POSIX Services",
|
||||||
|
.npagers = 1,
|
||||||
|
.pager = {
|
||||||
|
[0] = {
|
||||||
|
.pager_lma = __pfn(CONFIG_CONT0_PAGER_START),
|
||||||
|
.pager_vma = __pfn(0xE0000000),
|
||||||
|
.pager_size = __pfn(0xa2000),
|
||||||
|
.ncaps = 14,
|
||||||
|
.caps = {
|
||||||
|
[0] = {
|
||||||
|
.type = CAP_TYPE_MAP | CAP_RTYPE_VIRTMEM,
|
||||||
|
.access = CAP_MAP_READ | CAP_MAP_WRITE
|
||||||
|
| CAP_MAP_EXEC | CAP_MAP_UNMAP,
|
||||||
|
.start = __pfn(0xE0000000),
|
||||||
|
.end = __pfn(0xF0000000),
|
||||||
|
.size = __pfn(0x10000000),
|
||||||
|
},
|
||||||
|
[1] = {
|
||||||
|
.type = CAP_TYPE_MAP | CAP_RTYPE_VIRTMEM,
|
||||||
|
.access = CAP_MAP_READ | CAP_MAP_WRITE
|
||||||
|
| CAP_MAP_EXEC | CAP_MAP_UNMAP,
|
||||||
|
.start = __pfn(0x10000000),
|
||||||
|
.end = __pfn(0x20000000),
|
||||||
|
.size = __pfn(0x10000000),
|
||||||
|
},
|
||||||
|
[2] = {
|
||||||
|
.type = CAP_TYPE_MAP | CAP_RTYPE_VIRTMEM,
|
||||||
|
.access = CAP_MAP_READ | CAP_MAP_WRITE
|
||||||
|
| CAP_MAP_EXEC | CAP_MAP_UNMAP,
|
||||||
|
.start = __pfn(0x20000000),
|
||||||
|
.end = __pfn(0x30000000),
|
||||||
|
.size = __pfn(0x10000000),
|
||||||
|
},
|
||||||
|
[3] = {
|
||||||
|
.type = CAP_TYPE_MAP | CAP_RTYPE_VIRTMEM,
|
||||||
|
.access = CAP_MAP_READ | CAP_MAP_WRITE
|
||||||
|
| CAP_MAP_EXEC | CAP_MAP_UNMAP
|
||||||
|
| CAP_MAP_UTCB,
|
||||||
|
.start = __pfn(0xF8000000),
|
||||||
|
.end = __pfn(0xF9000000),
|
||||||
|
.size = __pfn(0x1000000),
|
||||||
|
},
|
||||||
|
|
||||||
|
[4] = {
|
||||||
|
.type = CAP_TYPE_MAP | CAP_RTYPE_PHYSMEM,
|
||||||
|
.access = CAP_MAP_CACHED | CAP_MAP_UNCACHED
|
||||||
|
| CAP_MAP_READ | CAP_MAP_WRITE
|
||||||
|
| CAP_MAP_EXEC | CAP_MAP_UNMAP,
|
||||||
|
.start = __pfn(CONFIG_CONT0_PHYS_START),
|
||||||
|
.end = __pfn(CONFIG_CONT0_PHYS_END), /* 16 MB for all posix services */
|
||||||
|
},
|
||||||
|
[5] = {
|
||||||
|
.type = CAP_TYPE_IPC | CAP_RTYPE_CONTAINER,
|
||||||
|
.access = CAP_IPC_SEND | CAP_IPC_RECV
|
||||||
|
| CAP_IPC_FULL | CAP_IPC_SHORT
|
||||||
|
| CAP_IPC_EXTENDED,
|
||||||
|
.start = 0, .end = 0, .size = 0,
|
||||||
|
},
|
||||||
|
[6] = {
|
||||||
|
.type = CAP_TYPE_TCTRL | CAP_RTYPE_CONTAINER,
|
||||||
|
.access = CAP_TCTRL_CREATE | CAP_TCTRL_DESTROY
|
||||||
|
| CAP_TCTRL_SUSPEND | CAP_TCTRL_RESUME
|
||||||
|
| CAP_TCTRL_RECYCLE,
|
||||||
|
.start = 0, .end = 0, .size = 0,
|
||||||
|
},
|
||||||
|
[7] = {
|
||||||
|
.type = CAP_TYPE_EXREGS | CAP_RTYPE_CONTAINER,
|
||||||
|
.access = CAP_EXREGS_RW_PAGER
|
||||||
|
| CAP_EXREGS_RW_UTCB | CAP_EXREGS_RW_SP
|
||||||
|
| CAP_EXREGS_RW_PC | CAP_EXREGS_RW_REGS,
|
||||||
|
.start = 0, .end = 0, .size = 0,
|
||||||
|
},
|
||||||
|
[8] = {
|
||||||
|
.type = CAP_TYPE_QUANTITY
|
||||||
|
| CAP_RTYPE_THREADPOOL,
|
||||||
|
.access = 0, .start = 0, .end = 0,
|
||||||
|
.size = 64,
|
||||||
|
},
|
||||||
|
[9] = {
|
||||||
|
.type = CAP_TYPE_QUANTITY | CAP_RTYPE_SPACEPOOL,
|
||||||
|
.access = 0, .start = 0, .end = 0,
|
||||||
|
.size = 64,
|
||||||
|
},
|
||||||
|
[10] = {
|
||||||
|
.type = CAP_TYPE_QUANTITY | CAP_RTYPE_CPUPOOL,
|
||||||
|
.access = 0, .start = 0, .end = 0,
|
||||||
|
.size = 50, /* Percentage */
|
||||||
|
},
|
||||||
|
[11] = {
|
||||||
|
.type = CAP_TYPE_QUANTITY | CAP_RTYPE_MUTEXPOOL,
|
||||||
|
.access = 0, .start = 0, .end = 0,
|
||||||
|
.size = 100,
|
||||||
|
},
|
||||||
|
[12] = {
|
||||||
|
/* For pmd accounting */
|
||||||
|
.type = CAP_TYPE_QUANTITY | CAP_RTYPE_MAPPOOL,
|
||||||
|
.access = 0, .start = 0, .end = 0,
|
||||||
|
/* Function of mem regions, nthreads etc. */
|
||||||
|
.size = (64 * 30 + 100),
|
||||||
|
},
|
||||||
|
[13] = {
|
||||||
|
/* For cap spliting, creating, etc. */
|
||||||
|
.type = CAP_TYPE_QUANTITY | CAP_RTYPE_CAPPOOL,
|
||||||
|
.access = 0, .start = 0, .end = 0,
|
||||||
|
/* This may be existing caps X 2 etc. */
|
||||||
|
.size = 30,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
@@ -12,129 +12,6 @@
|
|||||||
#include INC_SUBARCH(mm.h)
|
#include INC_SUBARCH(mm.h)
|
||||||
#include INC_ARCH(linker.h)
|
#include INC_ARCH(linker.h)
|
||||||
|
|
||||||
/*
|
|
||||||
* FIXME:
|
|
||||||
* Add irqs, exceptions
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define CONFIG_CONT0_PAGER_START CONFIG_CONT0_PHYS_START
|
|
||||||
|
|
||||||
struct container_info cinfo[] = {
|
|
||||||
[0] = {
|
|
||||||
.name = "Codezero POSIX Services",
|
|
||||||
.npagers = 1,
|
|
||||||
.pager = {
|
|
||||||
[0] = {
|
|
||||||
.pager_lma = __pfn(CONFIG_CONT0_PAGER_START),
|
|
||||||
.pager_vma = __pfn(0xE0000000),
|
|
||||||
.pager_size = __pfn(0xa2000),
|
|
||||||
.ncaps = 14,
|
|
||||||
.caps = {
|
|
||||||
[0] = {
|
|
||||||
.type = CAP_TYPE_MAP | CAP_RTYPE_VIRTMEM,
|
|
||||||
.access = CAP_MAP_READ | CAP_MAP_WRITE
|
|
||||||
| CAP_MAP_EXEC | CAP_MAP_UNMAP,
|
|
||||||
.start = __pfn(0xE0000000),
|
|
||||||
.end = __pfn(0xF0000000),
|
|
||||||
.size = __pfn(0x10000000),
|
|
||||||
},
|
|
||||||
[1] = {
|
|
||||||
.type = CAP_TYPE_MAP | CAP_RTYPE_VIRTMEM,
|
|
||||||
.access = CAP_MAP_READ | CAP_MAP_WRITE
|
|
||||||
| CAP_MAP_EXEC | CAP_MAP_UNMAP,
|
|
||||||
.start = __pfn(0x10000000),
|
|
||||||
.end = __pfn(0x20000000),
|
|
||||||
.size = __pfn(0x10000000),
|
|
||||||
},
|
|
||||||
[2] = {
|
|
||||||
.type = CAP_TYPE_MAP | CAP_RTYPE_VIRTMEM,
|
|
||||||
.access = CAP_MAP_READ | CAP_MAP_WRITE
|
|
||||||
| CAP_MAP_EXEC | CAP_MAP_UNMAP,
|
|
||||||
.start = __pfn(0x20000000),
|
|
||||||
.end = __pfn(0x30000000),
|
|
||||||
.size = __pfn(0x10000000),
|
|
||||||
},
|
|
||||||
[3] = {
|
|
||||||
.type = CAP_TYPE_MAP | CAP_RTYPE_VIRTMEM,
|
|
||||||
.access = CAP_MAP_READ | CAP_MAP_WRITE
|
|
||||||
| CAP_MAP_EXEC | CAP_MAP_UNMAP
|
|
||||||
| CAP_MAP_UTCB,
|
|
||||||
.start = __pfn(0xF8000000),
|
|
||||||
.end = __pfn(0xF9000000),
|
|
||||||
.size = __pfn(0x1000000),
|
|
||||||
},
|
|
||||||
|
|
||||||
[4] = {
|
|
||||||
.type = CAP_TYPE_MAP | CAP_RTYPE_PHYSMEM,
|
|
||||||
.access = CAP_MAP_CACHED | CAP_MAP_UNCACHED
|
|
||||||
| CAP_MAP_READ | CAP_MAP_WRITE
|
|
||||||
| CAP_MAP_EXEC | CAP_MAP_UNMAP,
|
|
||||||
.start = __pfn(CONFIG_CONT0_PHYS_START),
|
|
||||||
.end = __pfn(CONFIG_CONT0_PHYS_END), /* 16 MB for all posix services */
|
|
||||||
},
|
|
||||||
[5] = {
|
|
||||||
.type = CAP_TYPE_IPC | CAP_RTYPE_CONTAINER,
|
|
||||||
.access = CAP_IPC_SEND | CAP_IPC_RECV
|
|
||||||
| CAP_IPC_FULL | CAP_IPC_SHORT
|
|
||||||
| CAP_IPC_EXTENDED,
|
|
||||||
.start = 0, .end = 0, .size = 0,
|
|
||||||
},
|
|
||||||
[6] = {
|
|
||||||
.type = CAP_TYPE_TCTRL | CAP_RTYPE_CONTAINER,
|
|
||||||
.access = CAP_TCTRL_CREATE | CAP_TCTRL_DESTROY
|
|
||||||
| CAP_TCTRL_SUSPEND | CAP_TCTRL_RESUME
|
|
||||||
| CAP_TCTRL_RECYCLE,
|
|
||||||
.start = 0, .end = 0, .size = 0,
|
|
||||||
},
|
|
||||||
[7] = {
|
|
||||||
.type = CAP_TYPE_EXREGS | CAP_RTYPE_CONTAINER,
|
|
||||||
.access = CAP_EXREGS_RW_PAGER
|
|
||||||
| CAP_EXREGS_RW_UTCB | CAP_EXREGS_RW_SP
|
|
||||||
| CAP_EXREGS_RW_PC | CAP_EXREGS_RW_REGS,
|
|
||||||
.start = 0, .end = 0, .size = 0,
|
|
||||||
},
|
|
||||||
[8] = {
|
|
||||||
.type = CAP_TYPE_QUANTITY
|
|
||||||
| CAP_RTYPE_THREADPOOL,
|
|
||||||
.access = 0, .start = 0, .end = 0,
|
|
||||||
.size = 64,
|
|
||||||
},
|
|
||||||
[9] = {
|
|
||||||
.type = CAP_TYPE_QUANTITY | CAP_RTYPE_SPACEPOOL,
|
|
||||||
.access = 0, .start = 0, .end = 0,
|
|
||||||
.size = 64,
|
|
||||||
},
|
|
||||||
[10] = {
|
|
||||||
.type = CAP_TYPE_QUANTITY | CAP_RTYPE_CPUPOOL,
|
|
||||||
.access = 0, .start = 0, .end = 0,
|
|
||||||
.size = 50, /* Percentage */
|
|
||||||
},
|
|
||||||
[11] = {
|
|
||||||
.type = CAP_TYPE_QUANTITY | CAP_RTYPE_MUTEXPOOL,
|
|
||||||
.access = 0, .start = 0, .end = 0,
|
|
||||||
.size = 100,
|
|
||||||
},
|
|
||||||
[12] = {
|
|
||||||
/* For pmd accounting */
|
|
||||||
.type = CAP_TYPE_QUANTITY | CAP_RTYPE_MAPPOOL,
|
|
||||||
.access = 0, .start = 0, .end = 0,
|
|
||||||
/* Function of mem regions, nthreads etc. */
|
|
||||||
.size = (64 * 30 + 100),
|
|
||||||
},
|
|
||||||
[13] = {
|
|
||||||
/* For cap spliting, creating, etc. */
|
|
||||||
.type = CAP_TYPE_QUANTITY | CAP_RTYPE_CAPPOOL,
|
|
||||||
.access = 0, .start = 0, .end = 0,
|
|
||||||
/* This may be existing caps X 2 etc. */
|
|
||||||
.size = 30,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
int container_init(struct container *c)
|
int container_init(struct container *c)
|
||||||
{
|
{
|
||||||
/* Allocate new container id */
|
/* Allocate new container id */
|
||||||
|
|||||||
Reference in New Issue
Block a user