| .. SPDX-License-Identifier: GPL-2.0 |
| |
| =============================================== |
| KVM/arm64-specific hypercalls exposed to guests |
| =============================================== |
| |
| This file documents the KVM/arm64-specific hypercalls which may be |
| exposed by KVM/arm64 to guest operating systems. These hypercalls are |
| issued using the HVC instruction according to version 1.1 of the Arm SMC |
| Calling Convention (DEN0028/C): |
| |
| https://developer.arm.com/docs/den0028/c |
| |
| All KVM/arm64-specific hypercalls are allocated within the "Vendor |
| Specific Hypervisor Service Call" range with a UID of |
| ``28b46fb6-2ec5-11e9-a9ca-4b564d003a74``. This UID should be queried by the |
| guest using the standard "Call UID" function for the service range in |
| order to determine that the KVM/arm64-specific hypercalls are available. |
| |
| ``ARM_SMCCC_VENDOR_HYP_KVM_FEATURES_FUNC_ID`` |
| --------------------------------------------- |
| |
| Provides a discovery mechanism for other KVM/arm64 hypercalls. |
| |
| +---------------------+-------------------------------------------------------------+ |
| | Presence: | Mandatory for the KVM/arm64 UID | |
| +---------------------+-------------------------------------------------------------+ |
| | Calling convention: | HVC32 | |
| +---------------------+----------+--------------------------------------------------+ |
| | Function ID: | (uint32) | 0x86000000 | |
| +---------------------+----------+--------------------------------------------------+ |
| | Arguments: | None | |
| +---------------------+----------+----+---------------------------------------------+ |
| | Return Values: | (uint32) | R0 | Bitmap of available function numbers 0-31 | |
| | +----------+----+---------------------------------------------+ |
| | | (uint32) | R1 | Bitmap of available function numbers 32-63 | |
| | +----------+----+---------------------------------------------+ |
| | | (uint32) | R2 | Bitmap of available function numbers 64-95 | |
| | +----------+----+---------------------------------------------+ |
| | | (uint32) | R3 | Bitmap of available function numbers 96-127 | |
| +---------------------+----------+----+---------------------------------------------+ |
| |
| ``ARM_SMCCC_VENDOR_HYP_KVM_PTP_FUNC_ID`` |
| ---------------------------------------- |
| |
| See ptp_kvm.rst |