mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-08-18 08:11:07 +00:00
config_tools: remove HV_RAM_SIZE
1. remove HV_RAM_SIZE and CONFIG_HV_RAM_SIZE in the related python code, schema and all existing scenario XMLs because PR 6664 has changed it in HV side. 2. set HV_RAM_START default value to 2M. Tracked-On: #6663 Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
This commit is contained in:
parent
4a04fcc48f
commit
66bbf6f751
@ -36,8 +36,6 @@
|
||||
|
||||
<MEMORY>
|
||||
<STACK_SIZE>0x2000</STACK_SIZE>
|
||||
<HV_RAM_SIZE/>
|
||||
<HV_RAM_START/>
|
||||
<LOW_RAM_SIZE>0x00010000</LOW_RAM_SIZE>
|
||||
<PLATFORM_RAM_SIZE>0x800000000</PLATFORM_RAM_SIZE>
|
||||
</MEMORY>
|
||||
|
@ -36,8 +36,6 @@
|
||||
|
||||
<MEMORY>
|
||||
<STACK_SIZE>0x2000</STACK_SIZE>
|
||||
<HV_RAM_SIZE>0x16800000</HV_RAM_SIZE>
|
||||
<HV_RAM_START/>
|
||||
<LOW_RAM_SIZE>0x00010000</LOW_RAM_SIZE>
|
||||
<PLATFORM_RAM_SIZE>0x800000000</PLATFORM_RAM_SIZE>
|
||||
</MEMORY>
|
||||
|
@ -41,8 +41,6 @@
|
||||
</FEATURES>
|
||||
<MEMORY>
|
||||
<STACK_SIZE>0x2000</STACK_SIZE>
|
||||
<HV_RAM_SIZE></HV_RAM_SIZE>
|
||||
<HV_RAM_START></HV_RAM_START>
|
||||
<LOW_RAM_SIZE>0x00010000</LOW_RAM_SIZE>
|
||||
<PLATFORM_RAM_SIZE>0x400000000</PLATFORM_RAM_SIZE>
|
||||
</MEMORY>
|
||||
|
@ -41,8 +41,6 @@
|
||||
</FEATURES>
|
||||
<MEMORY>
|
||||
<STACK_SIZE>0x2000</STACK_SIZE>
|
||||
<HV_RAM_SIZE></HV_RAM_SIZE>
|
||||
<HV_RAM_START></HV_RAM_START>
|
||||
<LOW_RAM_SIZE>0x00010000</LOW_RAM_SIZE>
|
||||
<PLATFORM_RAM_SIZE>0x400000000</PLATFORM_RAM_SIZE>
|
||||
</MEMORY>
|
||||
|
@ -41,8 +41,6 @@
|
||||
</FEATURES>
|
||||
<MEMORY>
|
||||
<STACK_SIZE>0x2000</STACK_SIZE>
|
||||
<HV_RAM_SIZE></HV_RAM_SIZE>
|
||||
<HV_RAM_START></HV_RAM_START>
|
||||
<LOW_RAM_SIZE>0x00010000</LOW_RAM_SIZE>
|
||||
<PLATFORM_RAM_SIZE>0x400000000</PLATFORM_RAM_SIZE>
|
||||
</MEMORY>
|
||||
|
@ -41,8 +41,6 @@
|
||||
</FEATURES>
|
||||
<MEMORY>
|
||||
<STACK_SIZE>0x2000</STACK_SIZE>
|
||||
<HV_RAM_SIZE></HV_RAM_SIZE>
|
||||
<HV_RAM_START></HV_RAM_START>
|
||||
<LOW_RAM_SIZE>0x00010000</LOW_RAM_SIZE>
|
||||
<PLATFORM_RAM_SIZE>0x400000000</PLATFORM_RAM_SIZE>
|
||||
</MEMORY>
|
||||
|
@ -41,8 +41,6 @@
|
||||
</FEATURES>
|
||||
<MEMORY>
|
||||
<STACK_SIZE>0x2000</STACK_SIZE>
|
||||
<HV_RAM_SIZE></HV_RAM_SIZE>
|
||||
<HV_RAM_START></HV_RAM_START>
|
||||
<LOW_RAM_SIZE>0x00010000</LOW_RAM_SIZE>
|
||||
<PLATFORM_RAM_SIZE>0x400000000</PLATFORM_RAM_SIZE>
|
||||
</MEMORY>
|
||||
|
@ -41,8 +41,6 @@
|
||||
</FEATURES>
|
||||
<MEMORY>
|
||||
<STACK_SIZE>0x2000</STACK_SIZE>
|
||||
<HV_RAM_SIZE></HV_RAM_SIZE>
|
||||
<HV_RAM_START></HV_RAM_START>
|
||||
<LOW_RAM_SIZE>0x00010000</LOW_RAM_SIZE>
|
||||
<PLATFORM_RAM_SIZE>0x400000000</PLATFORM_RAM_SIZE>
|
||||
</MEMORY>
|
||||
|
@ -36,7 +36,6 @@
|
||||
|
||||
<MEMORY>
|
||||
<STACK_SIZE>0x2000</STACK_SIZE>
|
||||
<HV_RAM_SIZE>0x07800000</HV_RAM_SIZE>
|
||||
<HV_RAM_START>0x11000000</HV_RAM_START>
|
||||
<LOW_RAM_SIZE>0x00010000</LOW_RAM_SIZE>
|
||||
<PLATFORM_RAM_SIZE>0x100000000</PLATFORM_RAM_SIZE>
|
||||
|
@ -36,8 +36,6 @@
|
||||
|
||||
<MEMORY>
|
||||
<STACK_SIZE>0x2000</STACK_SIZE>
|
||||
<HV_RAM_SIZE/>
|
||||
<HV_RAM_START/>
|
||||
<LOW_RAM_SIZE>0x00010000</LOW_RAM_SIZE>
|
||||
<PLATFORM_RAM_SIZE>0x400000000</PLATFORM_RAM_SIZE>
|
||||
</MEMORY>
|
||||
|
@ -36,8 +36,6 @@
|
||||
|
||||
<MEMORY>
|
||||
<STACK_SIZE>0x2000</STACK_SIZE>
|
||||
<HV_RAM_SIZE/>
|
||||
<HV_RAM_START/>
|
||||
<LOW_RAM_SIZE>0x00010000</LOW_RAM_SIZE>
|
||||
<PLATFORM_RAM_SIZE>0x400000000</PLATFORM_RAM_SIZE>
|
||||
</MEMORY>
|
||||
|
@ -36,8 +36,6 @@
|
||||
|
||||
<MEMORY>
|
||||
<STACK_SIZE>0x2000</STACK_SIZE>
|
||||
<HV_RAM_SIZE/>
|
||||
<HV_RAM_START/>
|
||||
<LOW_RAM_SIZE>0x00010000</LOW_RAM_SIZE>
|
||||
<PLATFORM_RAM_SIZE>0x400000000</PLATFORM_RAM_SIZE>
|
||||
</MEMORY>
|
||||
|
@ -36,8 +36,6 @@
|
||||
|
||||
<MEMORY>
|
||||
<STACK_SIZE>0x2000</STACK_SIZE>
|
||||
<HV_RAM_SIZE/>
|
||||
<HV_RAM_START/>
|
||||
<LOW_RAM_SIZE>0x00010000</LOW_RAM_SIZE>
|
||||
<PLATFORM_RAM_SIZE>0x400000000</PLATFORM_RAM_SIZE>
|
||||
</MEMORY>
|
||||
|
@ -36,8 +36,6 @@
|
||||
|
||||
<MEMORY>
|
||||
<STACK_SIZE>0x2000</STACK_SIZE>
|
||||
<HV_RAM_SIZE/>
|
||||
<HV_RAM_START/>
|
||||
<LOW_RAM_SIZE>0x00010000</LOW_RAM_SIZE>
|
||||
<PLATFORM_RAM_SIZE>0x400000000</PLATFORM_RAM_SIZE>
|
||||
</MEMORY>
|
||||
|
@ -107,10 +107,6 @@ def get_memory(hv_info, config):
|
||||
print("CONFIG_HV_RAM_START={}".format(hex(hv_start_addr)), file=config)
|
||||
else:
|
||||
print("CONFIG_HV_RAM_START={}".format(hv_info.mem.hv_ram_start), file=config)
|
||||
if not hv_info.mem.hv_ram_size:
|
||||
print("CONFIG_HV_RAM_SIZE={}".format(hex(hv_ram_size)), file=config)
|
||||
else:
|
||||
print("CONFIG_HV_RAM_SIZE={}".format(hv_info.mem.hv_ram_size), file=config)
|
||||
|
||||
print("CONFIG_PLATFORM_RAM_SIZE={}".format(hv_info.mem.platform_ram_size), file=config)
|
||||
print("CONFIG_LOW_RAM_SIZE={}".format(hv_info.mem.low_ram_size), file=config)
|
||||
|
@ -150,7 +150,6 @@ class Memory:
|
||||
self.stack_size = 0
|
||||
self.low_ram_size = 0
|
||||
self.hv_ram_start = 0
|
||||
self.hv_ram_size = 0
|
||||
self.platform_ram_size = 0
|
||||
self.sos_ram_size = 0
|
||||
self.uos_ram_size = 0
|
||||
@ -160,7 +159,6 @@ class Memory:
|
||||
def get_info(self):
|
||||
self.stack_size = common.get_hv_item_tag(self.hv_file, "MEMORY", "STACK_SIZE")
|
||||
self.low_ram_size = common.get_hv_item_tag(self.hv_file, "MEMORY", "LOW_RAM_SIZE")
|
||||
self.hv_ram_size = common.get_hv_item_tag(self.hv_file, "MEMORY", "HV_RAM_SIZE")
|
||||
self.hv_ram_start = common.get_hv_item_tag(self.hv_file, "MEMORY", "HV_RAM_START")
|
||||
self.platform_ram_size = common.get_hv_item_tag(self.hv_file, "MEMORY", "PLATFORM_RAM_SIZE")
|
||||
self.ivshmem_enable = common.get_hv_item_tag(self.hv_file, "FEATURES", "IVSHMEM", "IVSHMEM_ENABLED")
|
||||
|
@ -195,12 +195,7 @@ physical core. Each core uses one stack for normal operation and another
|
||||
three for specific exceptions.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="HV_RAM_SIZE" type="HVRamSizeType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Size of the RAM region used by the hypervisor.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="HV_RAM_START" type="HVRamStartType">
|
||||
<xs:element name="HV_RAM_START" type="HexFormat" default="0x00200000">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The 2MB-aligned starting physical address of
|
||||
the RAM region used by the hypervisor.</xs:documentation>
|
||||
|
@ -26,20 +26,6 @@
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="HVRamSizeType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Either empty, or an Integer value in hexadecimal format.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:union memberTypes="None HexFormat" />
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="HVRamStartType">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Either empty, or an Integer value in hexadecimal format.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:union memberTypes="None HexFormat" />
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="KernLoadAddr">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Either empty, or an Integer value in hexadecimal format.</xs:documentation>
|
||||
|
@ -1,62 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
#
|
||||
# Copyright (C) 2021 Intel Corporation. All rights reserved.
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
#
|
||||
|
||||
import sys, os
|
||||
sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'library'))
|
||||
import common, board_cfg_lib, scenario_cfg_lib
|
||||
|
||||
HV_RAM_SIZE_MAX = 0x40000000
|
||||
|
||||
MEM_ALIGN = 2 * common.SIZE_M
|
||||
|
||||
def fn(board_etree, scenario_etree, allocation_etree):
|
||||
# this dictonary mapped with 'address start':'mem range'
|
||||
ram_range = {}
|
||||
|
||||
post_launched_vm_num = 0
|
||||
for id in common.VM_TYPES:
|
||||
if common.VM_TYPES[id] in scenario_cfg_lib.VM_DB and \
|
||||
scenario_cfg_lib.VM_DB[common.VM_TYPES[id]]["load_type"] == "POST_LAUNCHED_VM":
|
||||
post_launched_vm_num += 1
|
||||
hv_ram_size = common.HV_BASE_RAM_SIZE + common.POST_LAUNCHED_VM_RAM_SIZE * post_launched_vm_num
|
||||
|
||||
ivshmem_enabled = common.get_node("//IVSHMEM_ENABLED/text()", scenario_etree)
|
||||
total_shm_size = 0
|
||||
if ivshmem_enabled == 'y':
|
||||
raw_shmem_regions = scenario_etree.xpath("//IVSHMEM_REGION/text()")
|
||||
for raw_shm in raw_shmem_regions:
|
||||
if raw_shm.strip() == '':
|
||||
continue
|
||||
raw_shm_splited = raw_shm.split(',')
|
||||
if len(raw_shm_splited) == 3 and raw_shm_splited[0].strip() != '' \
|
||||
and raw_shm_splited[1].strip() != '' and len(raw_shm_splited[2].strip().split(':')) >= 1:
|
||||
try:
|
||||
size = raw_shm_splited[1].strip()
|
||||
int_size = int(size) * 0x100000
|
||||
total_shm_size += int_size
|
||||
except Exception as e:
|
||||
print(e)
|
||||
hv_ram_size += 2 * max(total_shm_size, 0x200000)
|
||||
assert(hv_ram_size <= HV_RAM_SIZE_MAX)
|
||||
|
||||
# reseve 16M memory for hv sbuf, ramoops, etc.
|
||||
reserved_ram = 0x1000000
|
||||
# We recommend to put hv ram start address high than 0x10000000 to
|
||||
# reduce memory conflict with GRUB/SOS Kernel.
|
||||
hv_start_offset = 0x10000000
|
||||
total_size = reserved_ram + hv_ram_size
|
||||
for start_addr in list(board_cfg_lib.USED_RAM_RANGE):
|
||||
if hv_start_offset <= start_addr < 0x80000000:
|
||||
del board_cfg_lib.USED_RAM_RANGE[start_addr]
|
||||
ram_range = board_cfg_lib.get_ram_range()
|
||||
avl_start_addr = board_cfg_lib.find_avl_memory(ram_range, str(total_size), hv_start_offset)
|
||||
hv_start_addr = int(avl_start_addr, 16) + int(hex(reserved_ram), 16)
|
||||
hv_start_addr = common.round_up(hv_start_addr, MEM_ALIGN)
|
||||
board_cfg_lib.USED_RAM_RANGE[hv_start_addr] = total_size
|
||||
|
||||
common.append_node("/acrn-config/hv/MEMORY/HV_RAM_START", hex(hv_start_addr), allocation_etree)
|
||||
common.append_node("/acrn-config/hv/MEMORY/HV_RAM_SIZE", hex(hv_ram_size), allocation_etree)
|
@ -140,11 +140,6 @@
|
||||
<xsl:with-param name="default" select="//allocation-data/acrn-config/hv/MEMORY/HV_RAM_START" />
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="integer-by-key">
|
||||
<xsl:with-param name="key" select="'HV_RAM_SIZE'" />
|
||||
<xsl:with-param name="default" select="//allocation-data/acrn-config/hv/MEMORY/HV_RAM_SIZE" />
|
||||
</xsl:call-template>
|
||||
|
||||
<xsl:call-template name="integer-by-key">
|
||||
<xsl:with-param name="key" select="'PLATFORM_RAM_SIZE'" />
|
||||
</xsl:call-template>
|
||||
|
Loading…
Reference in New Issue
Block a user