mirror of
https://github.com/drasko/codezero.git
synced 2026-04-18 01:39:05 +02:00
Minor fixes to container cml template
This commit is contained in:
@@ -97,8 +97,9 @@ menu main_menu
|
|||||||
#############`
|
#############`
|
||||||
# RULES #
|
# RULES #
|
||||||
#############
|
#############
|
||||||
#Capability rules:
|
#Capability/Container rules:
|
||||||
default CAPABILITIES from y
|
default CAPABILITIES from y
|
||||||
|
default CONTAINERS from 1
|
||||||
|
|
||||||
#Platform rules:
|
#Platform rules:
|
||||||
unless SUBARCH_V5 suppress PLATFORM_PB926
|
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_VIRT4_START < CONT%(cn)d_VIRT4_END
|
||||||
require CONT%(cn)d_VIRT5_START < CONT%(cn)d_VIRT5_END
|
require CONT%(cn)d_VIRT5_START < CONT%(cn)d_VIRT5_END
|
||||||
|
|
||||||
# Physical Regions for containers should start after kernel,
|
# We assume kernel uses 0x0 - 0x40000 physical RAM.
|
||||||
# assuming kernel to be using 0x0-0x40000 Physcial Memory region
|
# Physical Regions for containers should start after kernel.
|
||||||
derive kernel_size from (0x0 + 0x40000) # cannot set value directly
|
require CONT%(cn)d_PHYS0_START >= 0x40000
|
||||||
require CONT%(cn)d_PHYS0_START >= kernel_size
|
require CONT%(cn)d_PHYS1_START >= 0x40000
|
||||||
require CONT%(cn)d_PHYS1_START >= kernel_size
|
require CONT%(cn)d_PHYS2_START >= 0x40000
|
||||||
require CONT%(cn)d_PHYS2_START >= kernel_size
|
require CONT%(cn)d_PHYS3_START >= 0x40000
|
||||||
require CONT%(cn)d_PHYS3_START >= kernel_size
|
|
||||||
|
|
||||||
# TODO: We can add check for end address of physical region to be
|
# TODO: We can add check for end address of physical region to be
|
||||||
# less than RAM SIZE, need to find out RAM SIZE?
|
# 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
|
# Rules for Linux kernel parameters
|
||||||
require CONT%(cn)d_LINUX_ZRELADDR > CONT%(cn)d_LINUX_PHYS_OFFSET + 0x8000
|
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
|
# 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_START from 0x40000
|
||||||
default CONT%(cn)d_PHYS0_END from 0x1000000
|
default CONT%(cn)d_PHYS0_END from 0x1000000
|
||||||
default CONT%(cn)d_PHYS1_START 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
|
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.
|
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
|
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
|
Codezero POSIX services partially demonstrate how a POSIX level operating
|
||||||
system would be written on top of Codezero. Unlike shallow implementations on
|
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
|
embedded systems that only look like POSIX, mm0 implements a real virtual
|
||||||
memory subsystem and virtual filesystem that solidly backs the API. Neverhteless
|
memory subsystem and virtual filesystem that solidly backs the API. Neverhtheless
|
||||||
services such as terminal IO and common filesystem support are currently
|
services such as terminal IO and common filesystem support are currently
|
||||||
missing.
|
missing.
|
||||||
|
|||||||
@@ -27,11 +27,6 @@ containers_constraint = \
|
|||||||
unless CONTAINERS > %d suppress cont%d_menu
|
unless CONTAINERS > %d suppress cont%d_menu
|
||||||
'''
|
'''
|
||||||
|
|
||||||
containers_default = \
|
|
||||||
'''
|
|
||||||
default CONTAINERS from %d
|
|
||||||
'''
|
|
||||||
|
|
||||||
def add_container_constraint(cid):
|
def add_container_constraint(cid):
|
||||||
cml_string = ""
|
cml_string = ""
|
||||||
if cid == 0:
|
if cid == 0:
|
||||||
@@ -49,9 +44,6 @@ def generate_container_cml(arch, ncont):
|
|||||||
for cont in range(ncont):
|
for cont in range(ncont):
|
||||||
fbody += add_container_constraint(cont)
|
fbody += add_container_constraint(cont)
|
||||||
|
|
||||||
# Add number of default containers
|
|
||||||
fbody += containers_default % ncont
|
|
||||||
|
|
||||||
# Generate the containers menu with as many entries as containers
|
# Generate the containers menu with as many entries as containers
|
||||||
fbody += containers_menu
|
fbody += containers_menu
|
||||||
for cont in range(ncont):
|
for cont in range(ncont):
|
||||||
|
|||||||
Reference in New Issue
Block a user