Date
1 - 2 of 2
[PATCH v3 1/2] misc: refine the allocate logic of offline tool
chenli.wei
From: Chenli Wei <chenli.wei@...>
The current code use VM number to calculate HV_RAM_SIZE, this is not match the HV logic. This patch use the max number of trusty VMs to calculate the size of sworld memory and assume 4M ram / VM to calculate the final ACRN ram size. v2-->v3: 1 code format 2 refine documentation v1-->v2: 1 enable acrn:view, user could config secure world support from ACRN Configurator now. Tracked-On: #6690 Signed-off-by: Chenli Wei <chenli.wei@...> --- misc/config_tools/library/common.py | 3 ++- misc/config_tools/schema/config.xsd | 6 +++--- misc/config_tools/static_allocators/hv_ram.py | 8 +++----- misc/config_tools/xforms/vm_configurations.h.xsl | 1 + 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/misc/config_tools/library/common.py b/misc/config_tools/library/common.py index 9c9d9c62e..db414e56c 100644 --- a/misc/config_tools/library/common.py +++ b/misc/config_tools/library/common.py @@ -45,7 +45,8 @@ MAX_VM_NUM = 16 MAX_VUART_NUM = 8 HV_BASE_RAM_SIZE = 0x1400000 -VM_RAM_SIZE = 0x2800000 +VM_RAM_SIZE = 0x400000 +TRUSTY_RAM_SIZE = 0x1000000 class MultiItem(): diff --git a/misc/config_tools/schema/config.xsd b/misc/config_tools/schema/config.xsd index 65226e7af..219bd4246 100644 --- a/misc/config_tools/schema/config.xsd +++ b/misc/config_tools/schema/config.xsd @@ -404,9 +404,9 @@ These settings can only be changed at build time.</xs:documentation> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="secure_world_support" type="Boolean" default="n" minOccurs="0"> - <xs:annotation acrn:views=""> - <xs:documentation>Specify secure world support for trusty OS.</xs:documentation> + <xs:element name="secure_world_support" type="Boolean" default="n"> + <xs:annotation acrn:title="Enable secure world for running Trusty" acrn:views="advanced" acrn:applicable-vms="post-launched"> + <xs:documentation>Enable secure world for this VM to provide an isolated execution environment which is suitable for running Trusted Execution Environment (TEE) such as Trusty. This is typically enabled when the VM is designed to run Android OS, and disabled otherwise.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="hide_mtrr_support" type="Boolean" default="n" minOccurs="0"> diff --git a/misc/config_tools/static_allocators/hv_ram.py b/misc/config_tools/static_allocators/hv_ram.py index eed41e472..e35c07bc8 100644 --- a/misc/config_tools/static_allocators/hv_ram.py +++ b/misc/config_tools/static_allocators/hv_ram.py @@ -17,11 +17,9 @@ def fn(board_etree, scenario_etree, allocation_etree): # this dictonary mapped with 'address start':'mem range' ram_range = {} - vm_num = 0 - vm_list = scenario_etree.xpath("//vm") - if vm_list is not None: - vm_num = len(vm_list) - hv_ram_size = common.HV_BASE_RAM_SIZE + common.VM_RAM_SIZE * vm_num + max_vm_num = int(common.get_node(f"//hv/CAPACITIES/MAX_VM_NUM/text()", scenario_etree)) + max_trusty_vm = len(scenario_etree.xpath(f"//vm[./secure_world_support/text() = 'y']")) + hv_ram_size = common.HV_BASE_RAM_SIZE + common.VM_RAM_SIZE * max_vm_num + max_trusty_vm * common.TRUSTY_RAM_SIZE ivshmem_list = scenario_etree.xpath("//IVSHMEM_SIZE/text()") total_shm_size = 0 for ram_size in ivshmem_list: diff --git a/misc/config_tools/xforms/vm_configurations.h.xsl b/misc/config_tools/xforms/vm_configurations.h.xsl index 98973187a..43bc18ca9 100644 --- a/misc/config_tools/xforms/vm_configurations.h.xsl +++ b/misc/config_tools/xforms/vm_configurations.h.xsl @@ -57,6 +57,7 @@ <xsl:value-of select="acrn:define('PRE_VM_NUM', count(vm[acrn:is-pre-launched-vm(load_order)]), 'U')" /> <xsl:value-of select="acrn:define('SERVICE_VM_NUM', count(vm[acrn:is-service-vm(load_order)]), 'U')" /> <xsl:value-of select="acrn:define('MAX_POST_VM_NUM', hv/CAPACITIES/MAX_VM_NUM - count(vm[acrn:is-pre-launched-vm(load_order)]) - count(vm[acrn:is-service-vm(load_order)]) , 'U')" /> + <xsl:value-of select="acrn:define('MAX_TRUSTY_VM_NUM', count(vm[./secure_world_support/text() = 'y']) , 'U')" /> <xsl:value-of select="acrn:define('CONFIG_MAX_VM_NUM', hv/CAPACITIES/MAX_VM_NUM , 'U')" /> </xsl:template> -- 2.25.1 |
|
Junjie Mao
toggle quoted message
Show quoted text
-----Original Message-----Reviewed-by: Junjie Mao <junjie.mao@...> --- Best Regards Junjie Mao --- |
|