acrn-hypervisor/devicemodel/hw/platform
Wu Zhou 8c38cd5734 dm: add _CPC to guest ACPI pm tables
The optional object _CPC declares an interface that allows OSPM to
transition the processor into a performance state based on a continuous
range of allowable values.

It is associated with HWP on intel CPUs. Although Linux intel_pstate driver
can have its performance managing abilities without _CPC, it may still
need this _CPC table to implement some features such as providing the kernel
multi-core scheduler with core priority info.

As currently we are giving guests a vHWP interface for the multi-core
scheduler, this patch adds _CPC to the guest ACPI. _CPC is written only
when the hypervisor decides the guest should have vHWP, using the
existing pm hypercall ACRN_PMCMD_GET_PX_CNT. The idea is:
- If the VM supports vHWP, then the guest is having continuous p-state.
  Thus it doesn't have a specific px_cnt. The hypercall returns success
  and px_cnt = 0.
- If the VM's p-state is hidden or hv doesn't have its p-state info,
  the hypercall returns fail.

Tracked-On: #8414
Signed-off-by: Wu Zhou <wu.zhou@intel.com>
Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
2023-06-09 10:06:42 +08:00
..
acpi dm: add _CPC to guest ACPI pm tables 2023-06-09 10:06:42 +08:00
rpmb Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
tpm dm: fix the secure coding style violations 2022-08-02 18:01:24 +08:00
vssram Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
atkbdc.c dm:use acrn-dm logger function instread of printf 2019-11-14 15:34:04 +08:00
cmos_io.c Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
debugexit.c Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
hpet.c Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
ioapic.c dm: Remove header vmm.h 2021-07-15 11:53:54 +08:00
ioc.c Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
ioc_cbc.c Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
pit.c Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
ps2kbd.c dm:use acrn-dm logger function instread of fprintf 2019-11-14 15:34:04 +08:00
ps2mouse.c dm:use acrn-dm logger function instread of fprintf 2019-11-14 15:34:04 +08:00
pty_vuart.c Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
rtc.c dm: refine 'assert' usage in timer.c and rtc.c 2019-06-20 08:55:44 +08:00
usb_mouse.c DM USB: dynamically allocate block count for struct usb_xfer 2019-09-26 11:29:22 +08:00
usb_pmapper.c Update copyright year range in code headers 2022-07-15 11:48:35 +08:00