mirror of
https://github.com/drasko/codezero.git
synced 2026-01-11 18:33:16 +01:00
Minor fixes to container cml template
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user