acrn-hypervisor/hypervisor/include/arch/x86
Binbin Wu 241a811f42 hv: ept: apply MCE on page size change mitigation conditionally
Only apply the software workaround on the models that might be
affected by MCE on page size change. For these models that are
known immune to the issue, the mitigation is turned off.

Atom processors are not afftected by the issue.
Also check the CPUID & MSR to check whether the model is immune to the issue:
CPU is not vulnerable when both CPUID.(EAX=07H,ECX=0H).EDX[29] and
IA32_ARCH_CAPABILITIES[IF_PSCHANGE_MC_NO] are 1.

Other cases not listed above, CPU may be vulnerable.

Tracked-On: #4121
Signed-off-by: Binbin Wu <binbin.wu@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2019-11-18 13:40:24 +08:00
..
boot hv:Move severl variable declaration for boot code 2019-01-25 21:32:21 +08:00
guest hv: sched: add kick_thread to support notification 2019-10-25 13:00:21 +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_caps.h hv: add "invariant TSC" cap detection 2019-09-05 09:58:16 +08:00
cpu.h hv:check pcpu numbers during init_pcpu_pre 2019-09-24 09:02:05 +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: ept: apply MCE on page size change mitigation conditionally 2019-11-18 13:40:24 +08:00
multiboot.h hv:tiny cleanup 2019-09-05 09:58:47 +08:00
page.h hv: ept: disable execute right on large pages 2019-11-18 13:40:24 +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: sched: decouple scheduler from schedule framework 2019-10-25 13:00:21 +08:00
pgtable.h hv:change function parameter for invept 2019-09-05 16:32:30 +08:00
security.h hv: ept: apply MCE on page size change mitigation conditionally 2019-11-18 13:40:24 +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:remove some unnecessary includes 2019-10-15 14:40:39 +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