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>
This commit is contained in:
parent
1a219e08ec
commit
5b32a53d6d
@ -3115,6 +3115,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.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user