doc: Editorial changes to hypercall hld
Signed-off-by: Reyes, Amy <amy.reyes@intel.com>
This commit is contained in:
parent
245951f8ea
commit
dc6fccfa0d
|
@ -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
|
||||
************************
|
||||
|
||||
|
|
Loading…
Reference in New Issue