docs: kvm: convert arm/hyp-abi.txt to ReST

- Add proper markups for titles;
- Adjust whitespaces and blank lines to match ReST
  needs;
- Mark literal blocks as such.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Mauro Carvalho Chehab 2020-02-10 07:02:56 +01:00 committed by Paolo Bonzini
parent 106ee47dc6
commit 69bf758bc8
2 changed files with 20 additions and 9 deletions

View file

@ -1,4 +1,8 @@
* Internal ABI between the kernel and HYP .. SPDX-License-Identifier: GPL-2.0
=======================================
Internal ABI between the kernel and HYP
=======================================
This file documents the interaction between the Linux kernel and the This file documents the interaction between the Linux kernel and the
hypervisor layer when running Linux as a hypervisor (for example hypervisor layer when running Linux as a hypervisor (for example
@ -19,25 +23,31 @@ and only act on individual CPUs.
Unless specified otherwise, any built-in hypervisor must implement Unless specified otherwise, any built-in hypervisor must implement
these functions (see arch/arm{,64}/include/asm/virt.h): these functions (see arch/arm{,64}/include/asm/virt.h):
* r0/x0 = HVC_SET_VECTORS * ::
r1/x1 = vectors
r0/x0 = HVC_SET_VECTORS
r1/x1 = vectors
Set HVBAR/VBAR_EL2 to 'vectors' to enable a hypervisor. 'vectors' Set HVBAR/VBAR_EL2 to 'vectors' to enable a hypervisor. 'vectors'
must be a physical address, and respect the alignment requirements must be a physical address, and respect the alignment requirements
of the architecture. Only implemented by the initial stubs, not by of the architecture. Only implemented by the initial stubs, not by
Linux hypervisors. Linux hypervisors.
* r0/x0 = HVC_RESET_VECTORS * ::
r0/x0 = HVC_RESET_VECTORS
Turn HYP/EL2 MMU off, and reset HVBAR/VBAR_EL2 to the initials Turn HYP/EL2 MMU off, and reset HVBAR/VBAR_EL2 to the initials
stubs' exception vector value. This effectively disables an existing stubs' exception vector value. This effectively disables an existing
hypervisor. hypervisor.
* r0/x0 = HVC_SOFT_RESTART * ::
r1/x1 = restart address
x2 = x0's value when entering the next payload (arm64) r0/x0 = HVC_SOFT_RESTART
x3 = x1's value when entering the next payload (arm64) r1/x1 = restart address
x4 = x2's value when entering the next payload (arm64) x2 = x0's value when entering the next payload (arm64)
x3 = x1's value when entering the next payload (arm64)
x4 = x2's value when entering the next payload (arm64)
Mask all exceptions, disable the MMU, move the arguments into place Mask all exceptions, disable the MMU, move the arguments into place
(arm64 only), and jump to the restart address while at HYP/EL2. This (arm64 only), and jump to the restart address while at HYP/EL2. This

View file

@ -7,4 +7,5 @@ ARM
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
hyp-abi
pvtime pvtime