KVM: arm64: Include MMIO guard and memory relinquish in top-level hypercalls doc This introduces a description of the EMM_RELINQUISH hypercall. MMIO guard hypercalls are already described in another file, which we now link to. Signed-off-by: Keir Fraser <keirf@google.com>
diff --git a/Documentation/virt/kvm/arm/hypercalls.rst b/Documentation/virt/kvm/arm/hypercalls.rst index ac71514..582b71f 100644 --- a/Documentation/virt/kvm/arm/hypercalls.rst +++ b/Documentation/virt/kvm/arm/hypercalls.rst
@@ -142,3 +142,37 @@ | | | +---------------------------------------------+ | | | | ``INVALID_PARAMETER (-3)`` | +---------------------+----------+----+---------------------------------------------+ + +``ARM_SMCCC_KVM_FUNC_MEM_RELINQUISH`` +-------------------------------------- + +Cooperatively relinquish ownership of a memory region. The size of the +region is equal to the memory protection granule advertised by +``ARM_SMCCC_KVM_FUNC_HYP_MEMINFO``. If this hypercall is advertised +then it is mandatory to call it before freeing memory via, for +example, virtio balloon. If the caller is a protected VM, it is +guaranteed that the memory region will be completely cleared before +becoming visible to another VM. + ++---------------------+-------------------------------------------------------------+ +| Presence: | Optional. | ++---------------------+-------------------------------------------------------------+ +| Calling convention: | HVC64 | ++---------------------+----------+--------------------------------------------------+ +| Function ID: | (uint32) | 0xC6000009 | ++---------------------+----------+----+---------------------------------------------+ +| Arguments: | (uint64) | R1 | Base IPA of memory region to relinquish | +| +----------+----+---------------------------------------------+ +| | (uint64) | R2 | Reserved / Must be zero | +| +----------+----+---------------------------------------------+ +| | (uint64) | R3 | Reserved / Must be zero | ++---------------------+----------+----+---------------------------------------------+ +| Return Values: | (int64) | R0 | ``SUCCESS (0)`` | +| | | +---------------------------------------------+ +| | | | ``INVALID_PARAMETER (-3)`` | ++---------------------+----------+----+---------------------------------------------+ + +``ARM_SMCCC_KVM_FUNC_MMIO_GUARD_*`` +----------------------------------- + +See mmio-guard.rst