acrn-hypervisor/hypervisor/arch/x86/guest
Minggui Cao b3bd153180 hv: expose PEBS capability and MSR as PMU_PT flag
Requirement: in CPU partition VM (RTVM), vtune or perf can be used to
sample hotspot code path to tune the RT performance, It need support
PMU/PEBS (Processor Event Based Sampling). Intel TCC asks for it, too.

It exposes PEBS related capabilities/features and MSRs to CPU
partition VM, like RTVM. PEBS is a part of PMU. Also PEBS needs
DS (Debug Store) feature to support. So DS is exposed too.

Limitation: current it just support PEBS feature in VM level, when CPU
traps to HV, the performance counter will stop. Perf global control
MSR is used to do this work. So, the counters shall be close to native.

Tracked-On: #6966
Acked-by: Anthony Xu <anthony.xu@intel.com>
Signed-off-by: Minggui Cao <minggui.cao@intel.com>
2022-03-10 14:34:33 +08:00
..
assign.c hv: tee: x86_tee interrupt support 2021-11-17 15:25:14 +08:00
ept.c hv: replace the CONFIG_PLATFORM_RAM_SIZE with get_e820_ram_size for ept 2022-02-18 18:39:43 +08:00
guest_memory.c HV: treewide: fix violations of coding guideline C-TY-27 & C-TY-28 2021-11-04 18:15:47 +08:00
hyperv.c hv/mod_timer: split tsc handling code from timer. 2021-05-18 16:43:28 +08:00
instr_emul.c hv: fix clang analyzer deadcode 2022-01-07 13:47:32 +08:00
lock_instr_emul.c hv: Fix vcpu signaling racing problem in lock instruction emulation 2021-11-02 15:01:20 +08:00
nested.c hv: refine the vept module 2022-03-08 16:41:46 +08:00
optee.c hv: tee: Handling x86_tee secure interrupts corner cases 2021-12-09 10:47:16 +08:00
pm.c hv:fix violations of coding guideline C-ST-04 2022-02-18 18:41:07 +08:00
trusty.c hv: remove UUID 2021-11-16 14:42:59 +08:00
ucode.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
vcat.c hv: vCAT: propagate vCBM to other vCPUs that share cache with vcpu 2021-10-28 19:12:29 +08:00
vcpu.c hv: revert NMI notification by INIT signal 2022-03-10 14:34:33 +08:00
vcpuid.c hv: expose PEBS capability and MSR as PMU_PT flag 2022-03-10 14:34:33 +08:00
ve820.c hv: fix clang analyzer deadcode 2022-01-07 13:47:32 +08:00
vept.c hv: refine the vept module 2022-03-08 16:41:46 +08:00
virq.c hv: revert NMI notification by INIT signal 2022-03-10 14:34:33 +08:00
virtual_cr.c HV: treewide: fix violations of coding guideline C-TY-02 2021-11-04 18:15:47 +08:00
vlapic.c hv: Add two vlapic APIs 2021-12-09 10:47:16 +08:00
vlapic_priv.h hv: add ops to vlapic structure 2019-07-19 16:47:06 +08:00
vm.c hv: add a flag for PMU passthrough to guest VM 2022-03-10 14:34:33 +08:00
vm_reset.c ACRN: hv: Terminology modification in hv code 2021-11-02 10:00:55 +08:00
vmcall.c hv: change error code of undefined hypercall 2022-02-21 09:25:50 +08:00
vmcs.c hv: expose PEBS capability and MSR as PMU_PT flag 2022-03-10 14:34:33 +08:00
vmexit.c hv: revert NMI notification by INIT signal 2022-03-10 14:34:33 +08:00
vmsr.c hv: expose PEBS capability and MSR as PMU_PT flag 2022-03-10 14:34:33 +08:00
vmtrr.c ACRN: hv: Terminology modification in hv code 2021-11-02 10:00:55 +08:00
vmx_asm.S hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
vmx_io.c ACRN: hv: Terminology modification in hv code 2021-11-02 10:00:55 +08:00