mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 03:40:35 +09:00
UPSTREAM: KVM: arm64: Clarify vcpu reset behaviour
Although the KVM_ARM_VCPU_INIT documentation mention that the
registers are reset to their "initial values", it doesn't
describe what these values are.
Describe this state explicitly.
Reviewed-by: Alexandru Elisei <alexandru.elisei@arm.com>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
(cherry picked from commit 5b32a53d6d)
Signed-off-by: Will Deacon <willdeacon@google.com>
Bug: 190594147
Change-Id: Ied07536f5d130a9caf5d1cc249c10d9885a2116f
This commit is contained in:
committed by
Will Deacon
parent
c843a3d86c
commit
811c4d0cc7
@@ -3094,6 +3094,18 @@ optional features it should have. This will cause a reset of the cpu
|
||||
registers to their initial values. If this is not called, KVM_RUN will
|
||||
return ENOEXEC for that vcpu.
|
||||
|
||||
The initial values are defined as:
|
||||
- Processor state:
|
||||
* AArch64: EL1h, D, A, I and F bits set. All other bits
|
||||
are cleared.
|
||||
* AArch32: SVC, A, I and F bits set. All other bits are
|
||||
cleared.
|
||||
- General Purpose registers, including PC and SP: set to 0
|
||||
- FPSIMD/NEON registers: set to 0
|
||||
- SVE registers: set to 0
|
||||
- System registers: Reset to their architecturally defined
|
||||
values as for a warm reset to EL1 (resp. SVC)
|
||||
|
||||
Note that because some registers reflect machine topology, all vcpus
|
||||
should be created before this ioctl is invoked.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user