mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-19 12:12:16 +00:00
acrn-config: move VMx_CONFIG_PCI_DEV_NUM macro to misc_cfg_h.py
so that vm_configurations.h/vm_configurations.c are consistent for different boards Tracked-On: #5229 Signed-off-by: dongshen <dongsheng.x.zhang@intel.com>
This commit is contained in:
parent
ba0e466618
commit
0e92ecf35d
@ -172,6 +172,34 @@ def cpu_affinity_per_vm_gen(config):
|
|||||||
print("", file=config)
|
print("", file=config)
|
||||||
|
|
||||||
|
|
||||||
|
def pci_dev_num_per_vm_gen(config):
|
||||||
|
|
||||||
|
pci_items = common.get_leaf_tag_map(common.SCENARIO_INFO_FILE, "pci_devs", "pci_dev")
|
||||||
|
pci_devs = scenario_cfg_lib.get_pci_devs(pci_items)
|
||||||
|
pci_dev_num = scenario_cfg_lib.get_pci_num(pci_devs)
|
||||||
|
|
||||||
|
ivshmem_region = common.get_hv_item_tag(common.SCENARIO_INFO_FILE,
|
||||||
|
"FEATURES", "IVSHMEM", "IVSHMEM_REGION")
|
||||||
|
|
||||||
|
shmem_enabled = common.get_hv_item_tag(common.SCENARIO_INFO_FILE,
|
||||||
|
"FEATURES", "IVSHMEM", "IVSHMEM_ENABLED")
|
||||||
|
|
||||||
|
shmem_regions = scenario_cfg_lib.get_shmem_regions(ivshmem_region)
|
||||||
|
shmem_num = scenario_cfg_lib.get_shmem_num(shmem_regions)
|
||||||
|
|
||||||
|
for vm_i,vm_type in common.VM_TYPES.items():
|
||||||
|
if "POST_LAUNCHED_VM" == scenario_cfg_lib.VM_DB[vm_type]['load_type']:
|
||||||
|
if shmem_enabled == 'y' and vm_i in shmem_num.keys():
|
||||||
|
print("#define VM{}_CONFIG_PCI_DEV_NUM {}U".format(vm_i, shmem_num[vm_i]), file=config)
|
||||||
|
elif "PRE_LAUNCHED_VM" == scenario_cfg_lib.VM_DB[vm_type]['load_type']:
|
||||||
|
shmem_num_i = 0
|
||||||
|
if shmem_enabled == 'y' and vm_i in shmem_num.keys():
|
||||||
|
shmem_num_i = shmem_num[vm_i]
|
||||||
|
print("#define VM{}_CONFIG_PCI_DEV_NUM {}U".format(vm_i, pci_dev_num[vm_i] + shmem_num_i), file=config)
|
||||||
|
|
||||||
|
print("", file=config)
|
||||||
|
|
||||||
|
|
||||||
def generate_file(config):
|
def generate_file(config):
|
||||||
"""
|
"""
|
||||||
Start to generate board.c
|
Start to generate board.c
|
||||||
@ -335,6 +363,8 @@ def generate_file(config):
|
|||||||
print("#define VM0_TPM_BUFFER_SIZE 0x5000UL", file=config)
|
print("#define VM0_TPM_BUFFER_SIZE 0x5000UL", file=config)
|
||||||
print("", file=config)
|
print("", file=config)
|
||||||
|
|
||||||
|
pci_dev_num_per_vm_gen(config)
|
||||||
|
|
||||||
print("{}".format(MISC_CFG_END), file=config)
|
print("{}".format(MISC_CFG_END), file=config)
|
||||||
|
|
||||||
return err_dic
|
return err_dic
|
||||||
|
@ -57,36 +57,10 @@ def gen_pre_launch_vm(scenario_items, config):
|
|||||||
print("#define VM{0}_CONFIG_MEM_SIZE_HPA2 {1}UL".format(
|
print("#define VM{0}_CONFIG_MEM_SIZE_HPA2 {1}UL".format(
|
||||||
vm_i, vm_info.mem_info.mem_size_hpa2[vm_i]), file=config)
|
vm_i, vm_info.mem_info.mem_size_hpa2[vm_i]), file=config)
|
||||||
|
|
||||||
shmem_num_i = 0
|
|
||||||
if vm_info.shmem.shmem_enabled == 'y' and vm_i in vm_info.shmem.shmem_num.keys():
|
|
||||||
shmem_num_i = vm_info.shmem.shmem_num[vm_i]
|
|
||||||
|
|
||||||
print("#define VM{}_CONFIG_PCI_DEV_NUM {}U".format(vm_i,
|
|
||||||
vm_info.cfg_pci.pci_dev_num[vm_i] + shmem_num_i), file=config)
|
|
||||||
print("", file=config)
|
print("", file=config)
|
||||||
vm_i += 1
|
vm_i += 1
|
||||||
|
|
||||||
|
|
||||||
def gen_post_launch_header(scenario_items, config):
|
|
||||||
vm_i = 0
|
|
||||||
vm_info = scenario_items['vm']
|
|
||||||
is_post_vm_available = False
|
|
||||||
for vm_type in common.VM_TYPES.values():
|
|
||||||
if "POST_LAUNCHED_VM" != scenario_cfg_lib.VM_DB[vm_type]['load_type']:
|
|
||||||
vm_i += 1
|
|
||||||
continue
|
|
||||||
|
|
||||||
is_post_vm_available = True
|
|
||||||
|
|
||||||
if vm_info.shmem.shmem_enabled == 'y' and vm_i in vm_info.shmem.shmem_num.keys():
|
|
||||||
print("#define VM{}_CONFIG_PCI_DEV_NUM {}U".format(vm_i,
|
|
||||||
vm_info.shmem.shmem_num[vm_i]), file=config)
|
|
||||||
vm_i += 1
|
|
||||||
|
|
||||||
if is_post_vm_available:
|
|
||||||
print("", file=config)
|
|
||||||
|
|
||||||
|
|
||||||
def gen_sos_header(scenario_items, config):
|
def gen_sos_header(scenario_items, config):
|
||||||
|
|
||||||
if 'SOS_VM' not in common.VM_TYPES.values():
|
if 'SOS_VM' not in common.VM_TYPES.values():
|
||||||
@ -108,7 +82,6 @@ def gen_header_file(scenario_items, config):
|
|||||||
|
|
||||||
gen_pre_launch_vm(scenario_items, config)
|
gen_pre_launch_vm(scenario_items, config)
|
||||||
gen_sos_header(scenario_items, config)
|
gen_sos_header(scenario_items, config)
|
||||||
gen_post_launch_header(scenario_items, config)
|
|
||||||
|
|
||||||
|
|
||||||
def get_dm_owned_guest_flag_mask(vm_info, config):
|
def get_dm_owned_guest_flag_mask(vm_info, config):
|
||||||
|
Loading…
Reference in New Issue
Block a user