acrn-hypervisor/devicemodel
Zhou, Wu 7d0c05f3ff dm: Skip injecting _PPC and _PCT when _PSS is not constructed
This patch is to eliminate kernel error msgs:
'ACPI Error: AE_NOT_FOUND, Evaluating _PSS'

This is caused by missing of _PSS table in guest ACPI. It would
happen when pstate is not injected to the guest.

Kernel ACPI pstate driver first probes
_PPC(performance capabilites) and _PCT(performance control)
in ACPI. If they exist, then it loads the _PSS(performance state).
If _PPC/_PCT are presented while _PSS is missing, it prints
the error msg.

In acrn-dm, _PPC/_PCT are hard-coded to all vCPUs, while _PSS
are constructed with the pCPUs' pstate data. This is base on
assumption that all VMs can have pstate.

Now the pstate is given to VM only when the VM is not sharing
any CPU(and no RTVM is setup in the scenario).
When the VM doesn't have pstate, the hypercall will return px_cnt=0,
and the _PSS is not constructed. In this case, _PPC/PCT should not
be injected, too.

Tracked-On: #6848

Signed-off-by: Zhou, Wu <wu.zhou@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
Acked-by: Eddie Dong <eddie.dong@Intel.com>
2021-11-17 16:33:11 +08:00
..
arch/x86 ACRN: misc: Unify terminology for sos/uos rin macro 2021-11-02 10:00:55 +08:00
bios OVMF release v2.7 2021-11-02 15:11:42 +08:00
core dm: replace UUID with vmname. 2021-11-16 14:42:59 +08:00
hw dm: Skip injecting _PPC and _PCT when _PSS is not constructed 2021-11-17 16:33:11 +08:00
include devicemodel: remove MAX_KATA_VM_NUM and CONFIG_KATA_VM 2021-11-16 14:42:59 +08:00
lib dm: Fix some issues from string operations 2018-12-25 18:40:04 +08:00
log dm: fix potential program crash issue in disk_logger 2021-08-31 13:07:32 +08:00
MAINTAINERS update home page information 2018-05-15 17:19:39 +08:00
Makefile Makefile:add targz-pkg entry in Makefile 2021-08-09 11:52:27 +08:00
README.rst Documentation: clean-up of isolated README.rst files 2018-11-20 11:09:53 -08:00
samples acrn-config: Reorg config tool folder 2021-01-27 11:08:28 +08:00

README.rst

ACRN Device Model
#################

Introduction
============
The ACRN Device Model provides **device sharing** capabilities between the
Service OS and Guest OSs. It is a component that is used in conjunction with
the `ACRN Hypervisor`_ and this is installed within the Service OS. You can
find out more about Project ACRN on the `Project ACRN documentation`_ website.

.. _`ACRN Hypervisor`: https://github.com/projectacrn/acrn-hypervisor
.. _`Project ACRN documentation`: https://projectacrn.github.io/