acrn-hypervisor/hypervisor/include/arch/x86
Shuo A Liu 1c526e6d16 hv: use vcpu_affinity[] in vm_config to support vcpu assignment
Add this vcpu_affinity[] for each VM to indicate the assignment policy.
With it, pcpu_bitmap is not needed, so remove it from vm_config.
Instead, vcpu_affinity is a must for each VM.

This patch also add some sanitize check of vcpu_affinity[]. Here are
some rules:
  1) only one bit can be set for each vcpu_affinity of vcpu.
  2) two vcpus in same VM cannot be set with same vcpu_affinity.
  3) vcpu_affinity cannot be set to the pcpu which used by pre-launched VM.

v4: config SDC with CONFIG_MAX_KATA_VM_NUM
v5: config SDC with CONFIG_MAX_PCPU_NUM

Tracked-On: #3663
Signed-off-by: Jason Chen CJ <jason.cj.chen@intel.com>
Signed-off-by: Yu Wang <yu1.wang@intel.com>
Signed-off-by: Shuo A Liu <shuo.a.liu@intel.com>
2019-09-24 11:58:45 +08:00
..
boot hv:Move severl variable declaration for boot code 2019-01-25 21:32:21 +08:00
guest hv:move down structures run_context and ext_context 2019-09-16 14:51:36 +08:00
lib hv: Add a helper to account bitmap weight 2019-09-24 11:58:45 +08:00
apicreg.h HV: fix violations touched type conversion 2019-07-11 09:16:09 +08:00
board.h HV: add board specific cpu state table to support Px Cx 2019-07-29 20:25:16 +08:00
cat.h hv: cat: isolate hypervisor from rtvm 2019-09-05 09:59:13 +08:00
cpu.h hv:check pcpu numbers during init_pcpu_pre 2019-09-24 09:02:05 +08:00
cpu_caps.h hv: add "invariant TSC" cap detection 2019-09-05 09:58:16 +08:00
cpufeatures.h hv: add "invariant TSC" cap detection 2019-09-05 09:58:16 +08:00
cpuid.h hv: add "invariant TSC" cap detection 2019-09-05 09:58:16 +08:00
default_acpi_info.h hv: emulate ACPI reset register for Service OS guest 2019-05-15 11:20:12 +08:00
e820.h hv: remove CONFIG_PARTITION_MODE for pre-launched VM vE820 creation 2019-03-19 14:28:43 +08:00
gdt.h hv: coding style: remove no real declaration for external variable 2018-12-20 20:20:08 +08:00
host_pm.h hv: pm: fix coding style issue 2019-09-11 17:30:24 +08:00
idt.h hv:cleanup header files for arch folder 2019-02-22 13:14:36 +08:00
init.h HV: Add prefix 'p' before 'cpu' to physical cpu related functions 2019-04-24 10:50:28 +08:00
io.h hv:modulization for IO Emulation 2019-01-21 13:49:54 +08:00
ioapic.h hv: Avoid run-time buffer overflows with IOAPIC data structures 2019-06-24 11:41:10 +08:00
irq.h hv: remove unnecessary cancel_event_injection related stuff 2019-07-09 09:23:12 +08:00
lapic.h doc: remove hard-coded interfaces in .rst files 2019-05-22 12:40:52 -07:00
mmu.h hv:change function parameter for invept 2019-09-05 16:32:30 +08:00
msr.h hv: cleanup vmcs.h 2019-08-22 14:13:15 +08:00
multiboot.h hv:tiny cleanup 2019-09-05 09:58:47 +08:00
page.h hv: ept: flush cache for modified ept entries 2019-08-26 10:47:17 +08:00
pci_dev.h hv: vpci: add emulated PCI device configure for SOS 2019-08-09 14:19:49 +08:00
per_cpu.h hv: save/restore TSC in host's suspend/resume path 2019-09-19 13:50:50 +08:00
pgtable.h hv:change function parameter for invept 2019-09-05 16:32:30 +08:00
security.h hv:tiny cleanup 2019-09-05 09:58:47 +08:00
seed.h hv: seed: refine header file 2019-03-15 14:09:56 +08:00
sgx.h hv: sgx: add basic support to init sgx resource for vm 2019-05-29 11:24:13 +08:00
timer.h hv:move 'udelay' to timer.c 2019-03-22 08:38:13 +08:00
trampoline.h hv:Move severl variable declaration for boot code 2019-01-25 21:32:21 +08:00
vm_config.h hv: use vcpu_affinity[] in vm_config to support vcpu assignment 2019-09-24 11:58:45 +08:00
vmx.h hv: allocate vpid based on vm_id and vcpu_id mapping 2019-04-22 19:57:28 +08:00
vtd.h hv:move down the structure intr_source 2019-09-16 14:51:36 +08:00
zeropage.h hv:remove common header files 2019-05-07 09:10:13 +08:00