From 2eabc221848f796c2d8df0f5bb3bd1d190f2a20b Mon Sep 17 00:00:00 2001 From: Bahadir Balban Date: Mon, 16 Nov 2009 20:38:46 +0200 Subject: [PATCH] Few more minor fixes on cappool and capctrl --- config/caps.py | 13 +++++++++---- config/cml/container_ruleset.template | 16 ++++++++-------- scripts/kernel/generate_kernel_cinfo.py | 2 +- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/config/caps.py b/config/caps.py index 8f4c9cd..d2e32fa 100644 --- a/config/caps.py +++ b/config/caps.py @@ -131,7 +131,7 @@ cap_strings = { 'ipc' : \ \t\t\t[${idx}] = { \t\t\t\t/* For cap spliting, creating, etc. */ \t\t\t\t.target_type = ${target_type}, -\t\t\t\t.target = {cid}, +\t\t\t\t.target = ${cid}, \t\t\t\t.type = CAP_TYPE_QUANTITY | CAP_RTYPE_CAPPOOL, \t\t\t\t.access = CAP_CHANGEABLE | CAP_TRANSFERABLE, \t\t\t\t.start = 0, .end = 0, @@ -148,7 +148,7 @@ def prepare_custom_capability(cont, param, val): capkey = capkey.lower() captype = captype.lower() cont.caps[capkey] = cap_strings[captype] - if 'TARGET' in param: + elif 'TARGET' in param: target_parts = param.split('_', 2) if len(target_parts) == 2: capkey = target_parts[0].lower() @@ -164,11 +164,16 @@ def prepare_custom_capability(cont, param, val): cont.caps[capkey] = templ.safe_substitute(target_type = ttype, cid = cont.id) else: cont.caps[capkey] = templ.safe_substitute(target_type = ttype) + else: # Ignore custom_use symbol + return + print capkey + print cont.caps[capkey] def prepare_typed_capability(cont, param, val): captype, params = param.split('_', 1) captype = captype.lower() + # USE makes us assign the initial cap string with blank fields if 'USE' in params: cont.caps[captype] = cap_strings[captype] @@ -204,8 +209,8 @@ def prepare_typed_capability(cont, param, val): else: cont.caps[captype] = templ.safe_substitute(cid = val) - print captype - print cont.caps[captype] + print captype + print cont.caps[captype] def prepare_capability(cont, param, val): if 'CUSTOM' in param: diff --git a/config/cml/container_ruleset.template b/config/cml/container_ruleset.template index 8b95b05..faa9be5 100644 --- a/config/cml/container_ruleset.template +++ b/config/cml/container_ruleset.template @@ -208,28 +208,28 @@ choices cont%(cn)d_cap_custom0_type CONT%(cn)d_CAP_CUSTOM0_IPC_TYPE CONT%(cn)d_CAP_CUSTOM0_TCTRL_TYPE CONT%(cn)d_CAP_CUSTOM0_EXREGS_TYPE - CONT%(cn)d_CAP_CUSTOM0_CAP_TYPE + CONT%(cn)d_CAP_CUSTOM0_CAPCTRL_TYPE default CONT%(cn)d_CAP_CUSTOM0_IPC_TYPE choices cont%(cn)d_cap_custom1_type CONT%(cn)d_CAP_CUSTOM1_IPC_TYPE CONT%(cn)d_CAP_CUSTOM1_TCTRL_TYPE CONT%(cn)d_CAP_CUSTOM1_EXREGS_TYPE - CONT%(cn)d_CAP_CUSTOM1_CAP_TYPE + CONT%(cn)d_CAP_CUSTOM1_CAPCTRL_TYPE default CONT%(cn)d_CAP_CUSTOM1_IPC_TYPE choices cont%(cn)d_cap_custom2_type CONT%(cn)d_CAP_CUSTOM2_IPC_TYPE CONT%(cn)d_CAP_CUSTOM2_TCTRL_TYPE CONT%(cn)d_CAP_CUSTOM2_EXREGS_TYPE - CONT%(cn)d_CAP_CUSTOM2_CAP_TYPE + CONT%(cn)d_CAP_CUSTOM2_CAPCTRL_TYPE default CONT%(cn)d_CAP_CUSTOM2_IPC_TYPE choices cont%(cn)d_cap_custom3_type CONT%(cn)d_CAP_CUSTOM3_IPC_TYPE CONT%(cn)d_CAP_CUSTOM3_TCTRL_TYPE CONT%(cn)d_CAP_CUSTOM3_EXREGS_TYPE - CONT%(cn)d_CAP_CUSTOM3_CAP_TYPE + CONT%(cn)d_CAP_CUSTOM3_CAPCTRL_TYPE default CONT%(cn)d_CAP_CUSTOM3_IPC_TYPE default CONT%(cn)d_CAP_CUSTOM0_USE from n @@ -377,7 +377,7 @@ cont%(cn)d_cap_custom0_type 'Capability Operation Type' CONT%(cn)d_CAP_CUSTOM0_IPC_TYPE 'IPC Capability' CONT%(cn)d_CAP_CUSTOM0_TCTRL_TYPE 'Thread Control Capability' CONT%(cn)d_CAP_CUSTOM0_EXREGS_TYPE 'Exchange Registers Capability' -CONT%(cn)d_CAP_CUSTOM0_CAP_TYPE 'Capability Control Capability' +CONT%(cn)d_CAP_CUSTOM0_CAPCTRL_TYPE 'Capability Control Capability' CONT%(cn)d_CAP_CUSTOM0_TARGET_CURRENT_CONT 'Capability Targets Current Container' CONT%(cn)d_CAP_CUSTOM0_TARGET_CURRENT_PAGER_SPACE 'Capability Targets Current Pager`s Space' CONT%(cn)d_CAP_CUSTOM0_TARGET_ANOTHER_CONT 'Capability Targets Another Container' @@ -389,7 +389,7 @@ cont%(cn)d_cap_custom1_type 'Capability Operation Type' CONT%(cn)d_CAP_CUSTOM1_IPC_TYPE 'IPC Capability' CONT%(cn)d_CAP_CUSTOM1_TCTRL_TYPE 'Thread Control Capability' CONT%(cn)d_CAP_CUSTOM1_EXREGS_TYPE 'Exchange Registers Capability' -CONT%(cn)d_CAP_CUSTOM1_CAP_TYPE 'Capability Control Capability' +CONT%(cn)d_CAP_CUSTOM1_CAPCTRL_TYPE 'Capability Control Capability' CONT%(cn)d_CAP_CUSTOM1_TARGET_CURRENT_CONT 'Capability Targets Current Container' CONT%(cn)d_CAP_CUSTOM1_TARGET_CURRENT_PAGER_SPACE 'Capability Targets Current Pager`s Space' CONT%(cn)d_CAP_CUSTOM1_TARGET_ANOTHER_CONT 'Capability Targets Another Container' @@ -401,7 +401,7 @@ cont%(cn)d_cap_custom2_type 'Capability Operation Type' CONT%(cn)d_CAP_CUSTOM2_IPC_TYPE 'IPC Capability' CONT%(cn)d_CAP_CUSTOM2_TCTRL_TYPE 'Thread Control Capability' CONT%(cn)d_CAP_CUSTOM2_EXREGS_TYPE 'Exchange Registers Capability' -CONT%(cn)d_CAP_CUSTOM2_CAP_TYPE 'Capability Control Capability' +CONT%(cn)d_CAP_CUSTOM2_CAPCTRL_TYPE 'Capability Control Capability' CONT%(cn)d_CAP_CUSTOM2_TARGET_CURRENT_CONT 'Capability Targets Current Container' CONT%(cn)d_CAP_CUSTOM2_TARGET_CURRENT_PAGER_SPACE 'Capability Targets Current Pager`s Space' CONT%(cn)d_CAP_CUSTOM2_TARGET_ANOTHER_CONT 'Capability Targets Another Container' @@ -413,7 +413,7 @@ cont%(cn)d_cap_custom3_type 'Capability Operation Type' CONT%(cn)d_CAP_CUSTOM3_IPC_TYPE 'IPC Capability' CONT%(cn)d_CAP_CUSTOM3_TCTRL_TYPE 'Thread Control Capability' CONT%(cn)d_CAP_CUSTOM3_EXREGS_TYPE 'Exchange Registers Capability' -CONT%(cn)d_CAP_CUSTOM3_CAP_TYPE 'Capability Control Capability' +CONT%(cn)d_CAP_CUSTOM3_CAPCTRL_TYPE 'Capability Control Capability' CONT%(cn)d_CAP_CUSTOM3_TARGET_CURRENT_CONT 'Capability Targets Current Container' CONT%(cn)d_CAP_CUSTOM3_TARGET_CURRENT_PAGER_SPACE 'Capability Targets Current Pager`s Space' CONT%(cn)d_CAP_CUSTOM3_TARGET_ANOTHER_CONT 'Capability Targets Another Container' diff --git a/scripts/kernel/generate_kernel_cinfo.py b/scripts/kernel/generate_kernel_cinfo.py index 022c9f4..6e5f79d 100755 --- a/scripts/kernel/generate_kernel_cinfo.py +++ b/scripts/kernel/generate_kernel_cinfo.py @@ -231,7 +231,7 @@ def generate_kernel_cinfo(config, cinfo_path): containers.sort() print "Generating kernel cinfo..." - #config.config_print() + config.config_print() pager_ifdefs = generate_pager_memory_ifdefs(config, containers)