acrn-hypervisor/hypervisor/arch/x86
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
..
boot HV: fix MISRA violation of _ld_ram_xxx 2021-11-26 16:45:17 +08:00
configs hv: remove UUID 2021-11-16 14:42:59 +08:00
guest hv: expose PEBS capability and MSR as PMU_PT flag 2022-03-10 14:34:33 +08:00
lib HV: rewrite memcpy_s to be iso c11 compliant 2020-06-08 13:30:04 +08:00
seed ACRN: hv: Terminology modification in hv code 2021-11-02 10:00:55 +08:00
cpu.c hv: refine the vept module 2022-03-08 16:41:46 +08:00
cpu_caps.c hv:remove 2 bits vmx capability check 2021-12-13 08:52:52 +08:00
cpu_state_tbl.c HV: treewide: fix violations of coding guideline C-TY-12 2021-11-04 18:15:47 +08:00
e820.c hv: calculate hv_e820_ram_size dynamically 2022-02-18 18:39:43 +08:00
exception.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
gdt.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
idt.S hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
init.c hv: remove CONFIG_LOG_DESTINATION 2021-12-06 14:24:40 +08:00
ioapic.c hv: paging: rename ppt_set/clear_ATTR to set_paging_ATTR 2021-05-14 09:18:00 +08:00
irq.c HV: treewide: fix violations of coding guideline C-TY-27 & C-TY-28 2021-11-04 18:15:47 +08:00
lapic.c hv: revert NMI notification by INIT signal 2022-03-10 14:34:33 +08:00
mmu.c hv: replace the CONFIG_PLATFORM_RAM_SIZE with get_e820_ram_size for mmu 2022-02-18 18:39:43 +08:00
nmi.c hv: revert NMI notification by INIT signal 2022-03-10 14:34:33 +08:00
notify.c hv: revert NMI notification by INIT signal 2022-03-10 14:34:33 +08:00
page.c HV: treewide: fix violations of coding guideline C-EP-05 2021-11-04 18:15:47 +08:00
pagetable.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
platform_caps.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
pm.c hv && config-tool: Add compilation option to disable all interrupts in HV 2021-12-10 09:50:17 +08:00
rdt.c hv: vCAT: initialize vCAT MSRs during vmcs init 2021-10-28 19:12:29 +08:00
rtcm.c hv: update RTCT ACPI table detecting 2021-06-01 08:22:20 +08:00
sched.S hv: sched: rename schedule related structs and vars 2019-10-16 10:25:53 +08:00
security.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
sgx.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
trampoline.c hv: remove CONFIG_LOW_RAM_SIZE 2021-11-12 11:56:03 +08:00
tsc.c hv/mod_timer: split tsc handling code from timer. 2021-05-18 16:43:28 +08:00
tsc_deadline_timer.c HV: arch: fix a violation of coding guideline C-TY-24 2021-11-04 18:15:47 +08:00
vmx.c hv: VMPTRLD and VMCLEAR VMCS with the common APIs 2021-05-26 11:22:26 +08:00
vtd.c hv:fix violations of coding guideline C-ST-04 2022-02-18 18:41:07 +08:00
wakeup.S hv: pm: correct the function name 2019-09-11 17:30:24 +08:00