From 317ce0bd29ef6d75b1d10080d4870dcc04b1c012 Mon Sep 17 00:00:00 2001 From: Bahadir Balban Date: Wed, 11 Nov 2009 23:11:10 +0200 Subject: [PATCH] Minor fixes to container cml template --- config/cml/arm.ruleset | 3 ++- config/cml/container_ruleset.template | 21 ++++++--------------- conts/posix/README | 9 +++------ scripts/cml/generate_container_cml.py | 8 -------- 4 files changed, 11 insertions(+), 30 deletions(-) diff --git a/config/cml/arm.ruleset b/config/cml/arm.ruleset index cb555f2..7beefae 100644 --- a/config/cml/arm.ruleset +++ b/config/cml/arm.ruleset @@ -97,8 +97,9 @@ menu main_menu #############` # RULES # ############# -#Capability rules: +#Capability/Container rules: default CAPABILITIES from y +default CONTAINERS from 1 #Platform rules: unless SUBARCH_V5 suppress PLATFORM_PB926 diff --git a/config/cml/container_ruleset.template b/config/cml/container_ruleset.template index 004d0fe..97343ce 100644 --- a/config/cml/container_ruleset.template +++ b/config/cml/container_ruleset.template @@ -104,13 +104,12 @@ require CONT%(cn)d_VIRT3_START < CONT%(cn)d_VIRT3_END require CONT%(cn)d_VIRT4_START < CONT%(cn)d_VIRT4_END require CONT%(cn)d_VIRT5_START < CONT%(cn)d_VIRT5_END -# Physical Regions for containers should start after kernel, -# assuming kernel to be using 0x0-0x40000 Physcial Memory region -derive kernel_size from (0x0 + 0x40000) # cannot set value directly -require CONT%(cn)d_PHYS0_START >= kernel_size -require CONT%(cn)d_PHYS1_START >= kernel_size -require CONT%(cn)d_PHYS2_START >= kernel_size -require CONT%(cn)d_PHYS3_START >= kernel_size +# We assume kernel uses 0x0 - 0x40000 physical RAM. +# Physical Regions for containers should start after kernel. +require CONT%(cn)d_PHYS0_START >= 0x40000 +require CONT%(cn)d_PHYS1_START >= 0x40000 +require CONT%(cn)d_PHYS2_START >= 0x40000 +require CONT%(cn)d_PHYS3_START >= 0x40000 # TODO: We can add check for end address of physical region to be # less than RAM SIZE, need to find out RAM SIZE? @@ -118,15 +117,7 @@ require CONT%(cn)d_PHYS3_START >= kernel_size # Rules for Linux kernel parameters require CONT%(cn)d_LINUX_ZRELADDR > CONT%(cn)d_LINUX_PHYS_OFFSET + 0x8000 -# FIXME: Restriction for rootfs? - -# Rules for posix containers -# UTCB area starts from 0xf8100000 -derive utcb_start from (0x0 + 0xf8100000) # cannot set value directly -require CONT%(cn)d_PAGER_UTCB_START >= utcb_start - # TODO: Do we want to check if PAGER_LMA/VMA lies in allocated memory regions - default CONT%(cn)d_PHYS0_START from 0x40000 default CONT%(cn)d_PHYS0_END from 0x1000000 default CONT%(cn)d_PHYS1_START from 0x1000000 diff --git a/conts/posix/README b/conts/posix/README index 5266b52..8af8faa 100644 --- a/conts/posix/README +++ b/conts/posix/README @@ -4,15 +4,12 @@ This directory contains the source code for the POSIX services developed on top of the Codezero Microkernel. There is a pager called MM0 which demonstrates how a pager on top of Codezero should act, by its system call usage. -FS0 is the VFS task that implements File IO via IPC. FS0 can be thought of as a -micokernel server. - Test0 is the userspace task that tests microkernel system call functionality as -well as the POSIX system call functionality by issuing calls to MM0 and FS0. +well as the POSIX system call functionality by issuing calls to MM0 Codezero POSIX services partially demonstrate how a POSIX level operating system would be written on top of Codezero. Unlike shallow implementations on -embedded systems that only look like POSIX, mm0 and fs0 implement a real virtual -memory subsystem and virtual filesystem that solidly backs the API. Neverhteless +embedded systems that only look like POSIX, mm0 implements a real virtual +memory subsystem and virtual filesystem that solidly backs the API. Neverhtheless services such as terminal IO and common filesystem support are currently missing. diff --git a/scripts/cml/generate_container_cml.py b/scripts/cml/generate_container_cml.py index 9113870..e5bb269 100755 --- a/scripts/cml/generate_container_cml.py +++ b/scripts/cml/generate_container_cml.py @@ -27,11 +27,6 @@ containers_constraint = \ unless CONTAINERS > %d suppress cont%d_menu ''' -containers_default = \ -''' -default CONTAINERS from %d -''' - def add_container_constraint(cid): cml_string = "" if cid == 0: @@ -49,9 +44,6 @@ def generate_container_cml(arch, ncont): for cont in range(ncont): fbody += add_container_constraint(cont) - # Add number of default containers - fbody += containers_default % ncont - # Generate the containers menu with as many entries as containers fbody += containers_menu for cont in range(ncont):