doc: Editorial changes to hypercall hld

Signed-off-by: Reyes, Amy <amy.reyes@intel.com>
This commit is contained in:
Reyes, Amy 2022-09-21 08:31:53 -07:00 committed by Amy Reyes
parent 245951f8ea
commit dc6fccfa0d
1 changed files with 9 additions and 7 deletions

View File

@ -13,26 +13,26 @@ The application binary interface (ABI) of ACRN hypercalls is defined as follows.
- A guest VM executes the ``vmcall`` instruction to trigger a hypercall.
- Input parameters of a hypercall includes:
- Input parameters of a hypercall include:
- An hypercall ID in register ``R8``, which specifies the kind of service
- A hypercall ID in register ``R8``, which specifies the kind of service
requested by the guest VM.
- The first parameter in register ``RDI`` and the second in register
``RSI``. The semantics of those two parameters vary among different kinds of
hypercalls and are defined in the hypercall APIs reference. For hypercalls
hypercalls and are defined in the :ref:`hv-hypercall-ref`. For hypercalls
requesting operations on a specific VM, the first parameter is typically the
ID of that VM.
- The register ``RAX`` contains the return value of the hypercall after a guest
VM executes the ``vmcall`` instruction, unless the ``vmcall`` instruction
triggers an exception. Other general purpose registers are not modified by a
triggers an exception. Other general-purpose registers are not modified by a
hypercall.
- In case a hypercall parameter is defined as a pointer to a data structure,
fields in that structure can be either input, output or inout.
- If a hypercall parameter is defined as a pointer to a data structure,
fields in that structure can be either input, output, or inout.
There are some restrictions for hypercall and upcall:
There are some restrictions for hypercalls and upcalls:
#. Only specific VMs (the Service VM and the VM with Trusty enabled)
can invoke hypercalls. A VM that cannot invoke hypercalls gets ``#UD``
@ -58,6 +58,8 @@ Service VM registers the IRQ handler for vector (0xF3) and notifies the I/O
emulation module in the Service VM once the IRQ is triggered. View the detailed
upcall process at :ref:`ipi-management`.
.. _hv-hypercall-ref:
Hypercall APIs Reference
************************