提交 07a97002 编写于 作者: Z Zengruan Ye 提交者: Cheng Jian

KVM: arm64: Document PV-sched interface

euleros inclusion
category: feature
bugzilla: https://bugzilla.openeuler.org/show_bug.cgi?id=35
CVE: NA

--------------------------------

Introduce a paravirtualization interface for KVM/arm64 to PV-sched.

A hypercall interface is provided for the guest to interrogate the
hypervisor's support for this interface and the location of the shared
memory structures.
Signed-off-by: NZengruan Ye <yezengruan@huawei.com>
Reviewed-by: Nzhanghailiang <zhang.zhanghailiang@huawei.com>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
Signed-off-by: NChaochao Xing <xingchaochao@huawei.com>
Reviewed-by: NZengruan Ye <yezengruan@huawei.com>
Reviewed-by: NXiangyou Xie <xiexiangyou@huawei.com>
Signed-off-by: NCheng Jian <cj.chengjian@huawei.com>
上级 74ddca16
Paravirtualized sched support for arm64
=======================================
KVM/arm64 provides some hypervisor service calls to support a paravirtualized
sched.
Some SMCCC compatible hypercalls are defined:
* PV_SCHED_FEATURES: 0xC5000090
* PV_SCHED_IPA_INIT: 0xC5000091
* PV_SCHED_IPA_RELEASE: 0xC5000092
The existence of the PV_SCHED hypercall should be probed using the SMCCC 1.1
ARCH_FEATURES mechanism before calling it.
PV_SCHED_FEATURES
============= ======== ==========
Function ID: (uint32) 0xC5000090
PV_call_id: (uint32) The function to query for support.
Return value: (int64) NOT_SUPPORTED (-1) or SUCCESS (0) if the relevant
PV-sched feature is supported by the hypervisor.
============= ======== ==========
PV_SCHED_IPA_INIT
============= ======== ==========
Function ID: (uint32) 0xC5000091
Return value: (int64) NOT_SUPPORTED (-1) or SUCCESS (0) if the IPA of
this vCPU's PV data structure is shared to the
hypervisor.
============= ======== ==========
PV_SCHED_IPA_RELEASE
============= ======== ==========
Function ID: (uint32) 0xC5000092
Return value: (int64) NOT_SUPPORTED (-1) or SUCCESS (0) if the IPA of
this vCPU's PV data structure is released.
============= ======== ==========
PV sched state
--------------
The structure pointed to by the PV_SCHED_IPA hypercall is as follows:
+-----------+-------------+-------------+-----------------------------------+
| Field | Byte Length | Byte Offset | Description |
+===========+=============+=============+===================================+
| preempted | 4 | 0 | Indicates that the vCPU that owns |
| | | | this struct is running or not. |
| | | | Non-zero values mean the vCPU has |
| | | | been preempted. Zero means the |
| | | | vCPU is not preempted. |
+-----------+-------------+-------------+-----------------------------------+
The preempted field will be updated to 0 by the hypervisor prior to scheduling
a vCPU. When the vCPU is scheduled out, the preempted field will be updated
to 1 by the hypervisor.
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册