mirror of
https://github.com/drasko/codezero.git
synced 2026-01-25 17:23:14 +01:00
Adding option for customized containers
This commit is contained in:
@@ -2,7 +2,9 @@ symbols
|
||||
CONT%(cn)d_TYPE_LINUX 'Linux Container'
|
||||
CONT%(cn)d_TYPE_BAREMETAL 'Barebones Container'
|
||||
CONT%(cn)d_TYPE_POSIX 'POSIX Container'
|
||||
CONT%(cn)d_TYPE_CUSTOM 'Add New Customized Container'
|
||||
CONT%(cn)d_OPT_NAME 'Container Name'
|
||||
CONT%(cn)d_SOURCE_PATH 'Container Source Path'
|
||||
|
||||
CONT%(cn)d_PHYSMEM_REGIONS 'Container %(cn)d Number of Physical Regions'
|
||||
CONT%(cn)d_PHYS0_START 'Container %(cn)d Physical Region 0 Start Address'
|
||||
@@ -138,12 +140,16 @@ default CONT%(cn)d_VIRT4_END from 0xe0000000
|
||||
default CONT%(cn)d_VIRT5_START from 0xe0000000
|
||||
default CONT%(cn)d_VIRT5_END from 0xf0000000
|
||||
|
||||
default CONT%(cn)d_OPT_NAME from (CONT%(cn)d_TYPE_LINUX==y) ? "linux%(cn)d" : ((CONT%(cn)d_TYPE_BAREMETAL==y) ? "baremetal%(cn)d" : "posix%(cn)d")
|
||||
default CONT%(cn)d_OPT_NAME from (CONT%(cn)d_TYPE_LINUX==y) ? "linux%(cn)d" : ((CONT%(cn)d_TYPE_BAREMETAL==y) ? "baremetal%(cn)d" : ((CONT%(cn)d_TYPE_CUSTOM==y) ? "custom%(cn)d" :"posix%(cn)d"))
|
||||
|
||||
default CONT%(cn)d_SOURCE_PATH from "conts/timer"
|
||||
|
||||
when CONT%(cn)d_TYPE_LINUX==y suppress cont%(cn)d_default_pager_params cont%(cn)d_posix_pager_params
|
||||
when CONT%(cn)d_TYPE_BAREMETAL==y suppress cont%(cn)d_linux_pager_params cont%(cn)d_posix_pager_params
|
||||
when CONT%(cn)d_TYPE_POSIX==y suppress cont%(cn)d_linux_pager_params
|
||||
when CONT%(cn)d_TYPE_CUSTOM==y suppress cont%(cn)d_linux_pager_params cont%(cn)d_posix_pager_params
|
||||
unless CONT%(cn)d_TYPE_BAREMETAL==y suppress cont%(cn)d_baremetal_params
|
||||
unless CONT%(cn)d_TYPE_CUSTOM==y suppress CONT%(cn)d_SOURCE_PATH
|
||||
|
||||
symbols
|
||||
cont%(cn)d_menu 'Container %(cn)d Parameters'
|
||||
@@ -637,6 +643,7 @@ menu cont%(cn)d_capability_list
|
||||
|
||||
menu container%(cn)d_options
|
||||
CONT%(cn)d_OPT_NAME$
|
||||
CONT%(cn)d_SOURCE_PATH$
|
||||
cont%(cn)d_baremetal_params
|
||||
cont%(cn)d_linux_pager_params
|
||||
cont%(cn)d_default_pager_params
|
||||
@@ -648,7 +655,8 @@ menu container%(cn)d_options
|
||||
choices container%(cn)d_type
|
||||
CONT%(cn)d_TYPE_BAREMETAL
|
||||
CONT%(cn)d_TYPE_POSIX
|
||||
CONT%(cn)d_TYPE_LINUX
|
||||
CONT%(cn)d_TYPE_CUSTOM
|
||||
CONT%(cn)d_TYPE_LINUX
|
||||
default CONT%(cn)d_TYPE_BAREMETAL
|
||||
|
||||
menu cont%(cn)d_menu
|
||||
|
||||
@@ -12,6 +12,7 @@ class Container:
|
||||
self.name = None
|
||||
self.type = None
|
||||
self.id = id
|
||||
self.src_path = None
|
||||
self.baremetal_id = 0
|
||||
self.pager_lma = 0
|
||||
self.pager_vma = 0
|
||||
@@ -131,7 +132,10 @@ class configuration:
|
||||
|
||||
# TODO: Carry this over to Container() as static method???
|
||||
def get_container_parameter(self, id, param, val):
|
||||
if param[:len("PAGER_LMA")] == "PAGER_LMA":
|
||||
if param[:len("SOURCE_PATH")] == "SOURCE_PATH":
|
||||
parts = val.split("\"", 3)
|
||||
self.containers[id].src_path = parts[1]
|
||||
elif param[:len("PAGER_LMA")] == "PAGER_LMA":
|
||||
self.containers[id].pager_lma = int(val, 0)
|
||||
elif param[:len("PAGER_VMA")] == "PAGER_VMA":
|
||||
self.containers[id].pager_vma = int(val, 0)
|
||||
@@ -188,6 +192,8 @@ class configuration:
|
||||
self.containers[id].type = "posix"
|
||||
elif param2 == "BAREMETAL":
|
||||
self.containers[id].type = "baremetal"
|
||||
elif param2 == "CUSTOM":
|
||||
self.containers[id].type = "custom"
|
||||
# Extract parameters for containers
|
||||
def get_container_parameters(self, name, val):
|
||||
matchobj = re.match(r"(CONFIG_CONT){1}([0-9]){1}(\w+)", name)
|
||||
|
||||
Reference in New Issue
Block a user