mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-18 11:47:30 +00:00
acrn-config: reserve 16M memory for hv start
Need to reserved 16M for HV debug usage like sbuf/ramoops before HV RAM START to avoid possible conflict with HV memory. Tracked-On: #3602 Signed-off-by: Wei Liu <weix.w.liu@intel.com> Acked-by: Victor Sun <victor.sun@intel.com>
This commit is contained in:
parent
6d7592b7cb
commit
d35ca113d9
@ -14,21 +14,21 @@ DESC = """
|
|||||||
|
|
||||||
VM_NUM_MAP_TOTAL_HV_RAM_SIZE = {
|
VM_NUM_MAP_TOTAL_HV_RAM_SIZE = {
|
||||||
# 120M
|
# 120M
|
||||||
2:'0x7800000',
|
2:0x7800000,
|
||||||
# 150M
|
# 150M
|
||||||
3:'0x9600000',
|
3:0x9600000,
|
||||||
# 180M
|
# 180M
|
||||||
4:'0xB400000',
|
4:0xB400000,
|
||||||
# 210M
|
# 210M
|
||||||
5:'0xD200000',
|
5:0xD200000,
|
||||||
# 240M
|
# 240M
|
||||||
6:'0xF000000',
|
6:0xF000000,
|
||||||
# 270M
|
# 270M
|
||||||
7:'0x10E00000',
|
7:0x10E00000,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def get_addr_for_hv(ram_range, hpa_size):
|
def find_avl_memory(ram_range, hpa_size):
|
||||||
"""
|
"""
|
||||||
This is get hv address from System RAM as host physical size
|
This is get hv address from System RAM as host physical size
|
||||||
:param ram_range: System RAM mapping
|
:param ram_range: System RAM mapping
|
||||||
@ -41,7 +41,7 @@ def get_addr_for_hv(ram_range, hpa_size):
|
|||||||
tmp_order_key = sorted(ram_range)
|
tmp_order_key = sorted(ram_range)
|
||||||
for start_addr in tmp_order_key:
|
for start_addr in tmp_order_key:
|
||||||
mem_range = ram_range[start_addr]
|
mem_range = ram_range[start_addr]
|
||||||
if mem_range > int(hpa_size, 16):
|
if mem_range > int(hpa_size, 10):
|
||||||
ret_start_addr = start_addr
|
ret_start_addr = start_addr
|
||||||
break
|
break
|
||||||
|
|
||||||
@ -80,13 +80,18 @@ def generate_file(config):
|
|||||||
return err_dic
|
return err_dic
|
||||||
|
|
||||||
ram_range = get_ram_range()
|
ram_range = get_ram_range()
|
||||||
hv_start_addr = get_addr_for_hv(ram_range, hv_ram_size)
|
|
||||||
|
# reseve 16M memory for hv sbuf, ramoops, etc.
|
||||||
|
reserved_ram = 0xf00000
|
||||||
|
total_size = reserved_ram + hv_ram_size
|
||||||
|
avl_start_addr = find_avl_memory(ram_range, str(total_size))
|
||||||
|
hv_start_addr = int(avl_start_addr, 16) + int(hex(reserved_ram), 16)
|
||||||
|
|
||||||
print('CONFIG_BOARD="{}"'.format(board_cfg_lib.BOARD_NAME), file=config)
|
print('CONFIG_BOARD="{}"'.format(board_cfg_lib.BOARD_NAME), file=config)
|
||||||
print("{}".format(DESC), file=config)
|
print("{}".format(DESC), file=config)
|
||||||
|
|
||||||
print("CONFIG_HV_RAM_START={}".format(hv_start_addr), file=config)
|
print("CONFIG_HV_RAM_START={}".format(hex(hv_start_addr)), file=config)
|
||||||
|
|
||||||
print("CONFIG_HV_RAM_SIZE={}".format(hv_ram_size), file=config)
|
print("CONFIG_HV_RAM_SIZE={}".format(hex(hv_ram_size)), file=config)
|
||||||
|
|
||||||
return err_dic
|
return err_dic
|
||||||
|
Loading…
Reference in New Issue
Block a user