[PATCH V2 00/14] Platform independency support


Dongsheng Zhang
 

From: dongshen <dongsheng.x.zhang@...>

This patch series is an attempt to support platform independency by
removing some defines (generated by config_tools) and change to dynamically
allocate the related memory

V2:
1. Addressed review comments for V1

2. Added the following new changes:
- Add the MAX_SUPPORTED_PCPU_NUM (64) define first in order to remove MAX_PCPU_NUM.
Changed to still statically declared the per_cpu_data[] array but its size is fixed
to be MAX_SUPPORTED_PCPU_NUM (64) instead of MAX_PCPU_NUM
- Remove MAX_PHY_ADDRESS_SPACE
- Remove MAXIMUM_PA_WIDTH
- Some coding style fixes
- Increase E820_MAX_ENTRIES to 128
- Remove ACFG_MAX_PCI_BUS_NUM
- Dynamically allocate memory for dmar-parse
- Remove CONFIG_MAX_IOMMU_NUM
- Remove MAX_DRHDS
- Dynamically allocate memory for VT-d


V1:
This patch series include the following changes:
1. Remove MAX_PCPU_NUM
- dynamically alloc memory for per_cpu_data based on phys_cpu_num
- dynamically alloc memory for shell_log_buf_size
- use get_pcpu_nums() in place of MAX_PCPU_NUM

2. Remove MAX_VCPUS_PER_VM
- dynamically alloc memory for the per-VM vcpu_array
- dynamically alloc memory for nept_desc_bucket
- use get_max_vcpus_per_vm() in place of MAX_VCPUS_PER_VM


dongshen (14):
hv: add MAX_SUPPORTED_PCPU_NUM define
hv: use get_max_vcpus_per_vm() in place of MAX_VCPUS_PER_VM
hv: dynamically allocate memory for the per-VM vcpu_array
hv: dynamically allocate memory for nept_desc_bucket
hv: move profiling_vcpu_pcpu_map to struct profiling_vm_info_list
config_tools: remove MAX_PCPU_NUM/MAX_VCPUS_PER_VM
hv: remove MAX_PHY_ADDRESS_SPACE
config_tools: remove MAXIMUM_PA_WIDTH
hv: increase E820_MAX_ENTRIES to 128
hv: some coding style fixes
hv: remove ACFG_MAX_PCI_BUS_NUM
config_tools: remove ACFG_MAX_PCI_BUS_NUM
hv: dynamically allocate memory for dmar parse
hv: dynamically allocate memory for VT-d

hypervisor/acpi_parser/dmar_parse.c | 67 +++++++++---
hypervisor/arch/x86/cpu.c | 51 +++++----
hypervisor/arch/x86/cpu_caps.c | 4 -
hypervisor/arch/x86/e820.c | 35 +++---
hypervisor/arch/x86/guest/assign.c | 2 +-
hypervisor/arch/x86/guest/ept.c | 24 ++--
hypervisor/arch/x86/guest/hyperv.c | 2 +-
hypervisor/arch/x86/guest/nested.c | 2 +-
hypervisor/arch/x86/guest/vcpu.c | 14 ++-
hypervisor/arch/x86/guest/vept.c | 29 ++++-
hypervisor/arch/x86/guest/vm.c | 19 ++++
hypervisor/arch/x86/lapic.c | 5 +-
hypervisor/arch/x86/mmu.c | 26 +++--
hypervisor/arch/x86/notify.c | 2 +-
hypervisor/arch/x86/vtd.c | 103 +++++++++++++-----
hypervisor/boot/acpi_base.c | 6 +-
hypervisor/boot/include/acpi.h | 4 +-
hypervisor/common/hypercall.c | 2 +-
hypervisor/debug/profiling.c | 46 ++++----
hypervisor/debug/shell.c | 6 +-
hypervisor/include/arch/x86/asm/board.h | 2 +
hypervisor/include/arch/x86/asm/cpu.h | 2 +-
hypervisor/include/arch/x86/asm/e820.h | 2 +-
hypervisor/include/arch/x86/asm/guest/ept.h | 2 +-
hypervisor/include/arch/x86/asm/guest/vcpu.h | 5 +-
hypervisor/include/arch/x86/asm/guest/vept.h | 4 +-
hypervisor/include/arch/x86/asm/guest/vm.h | 7 +-
hypervisor/include/arch/x86/asm/page.h | 2 -
hypervisor/include/arch/x86/asm/per_cpu.h | 3 +-
hypervisor/include/arch/x86/asm/vm_config.h | 1 -
hypervisor/include/arch/x86/asm/vtd.h | 3 +-
hypervisor/include/debug/profiling_internal.h | 5 +-
.../config_tools/board_config/board_info_h.py | 3 -
.../generic_code/boards/board_info.h | 1 -
.../schema/checks/pre_launched_vm_support.xsd | 7 ++
misc/config_tools/xforms/board_info.h.xsl | 9 --
misc/config_tools/xforms/config_common.xsl | 6 -
misc/hv_prebuild/static_checks.c | 5 -
misc/hv_prebuild/vm_cfg_checks.c | 7 --
39 files changed, 319 insertions(+), 206 deletions(-)

--
2.25.1

Join acrn-dev@lists.projectacrn.org to automatically receive all group messages.