acrn-hypervisor/hypervisor/include
Wu Zhou c5d019b836 hv: emulate cpuids and MSRs for VHWP
Changes made by this patch includes:
1. Emulate HWP and pstate MSRs/CPUIDs. Those are exposed to guest when
   the GUEST_FLAG_VHWP is set:
    - CPUID[6].EAX[7,9,10]: MSR_IA32_PM_ENABLE(enabled by hv, always read
      1), MSR_IA32_HWP_CAPABILITIES, MSR_IA32_HWP_REQUEST,
      MSR_IA32_HWP_STATUS,
    - CPUID[6].ECX[0]: MSR_IA32_MPERF, MSR_IA32_APERF
    - MSR_IA32_PERF_STATUS(read as base frequency when not owning pCPU)
    - MSR_IA32_PERF_CTL(ignore writes)
2. Always hide HWP interrupt and package control MSRs/CPUIDs:
    - CPUID[6].EAX[8]: MSR_IA32_HWP_INTERRUPT(currently ACRN is not able
      to deliver thermal LVT virtual interrupt to guests)
    - CPUID[6].EAX[11,22]: MSR_IA32_HWP_REQUEST_PKG, MSR_IA32_HWP_CTL

Tracked-On: #8414
Signed-off-by: Wu Zhou <wu.zhou@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2023-06-09 10:06:42 +08:00
..
arch/x86/asm hv: emulate cpuids and MSRs for VHWP 2023-06-09 10:06:42 +08:00
common hv: add hypercall to register asyncio 2022-09-27 10:26:42 +08:00
debug hv: change sbuf to a common infrastructure 2022-09-27 10:26:42 +08:00
dm hv: vPCI: fix large bar base update 2022-10-28 05:55:20 +08:00
hw ACRN:HV:VPCI: Forward access of PCI ROM bar_reg to DM for passthru device 2022-09-23 18:12:01 +08:00
lib hv: shell: improve console to modify input easier 2022-07-28 23:31:43 +08:00
public hv: add VHWP guest flag and its helper func 2023-06-09 10:06:42 +08:00