diff options
author | Marc Zyngier <maz@kernel.org> | 2023-09-27 10:09:11 +0100 |
---|---|---|
committer | Oliver Upton <oliver.upton@linux.dev> | 2023-09-30 18:15:44 +0000 |
commit | f9940416f193d148dd7ad7498ce4f40c83d12e7a (patch) | |
tree | 5afc552517fcfec5f4fd03a68cc2f16ab6dd6d1d | |
parent | b5daffb120bb60f974ae1a5589160b05c98e00e5 (diff) | |
download | lwn-f9940416f193d148dd7ad7498ce4f40c83d12e7a.tar.gz lwn-f9940416f193d148dd7ad7498ce4f40c83d12e7a.zip |
KVM: arm64: Clarify the ordering requirements for vcpu/RD creation
It goes without saying, but it is probably better to spell it out:
If userspace tries to restore and VM, but creates vcpus and/or RDs
in a different order, the vcpu/RD mapping will be different. Yes,
our API is an ugly piece of crap and I can't believe that we missed
this.
If we want to relax the above, we'll need to define a new userspace
API that allows the mapping to be specified, rather than relying
on the kernel to perform the mapping on its own.
Reviewed-by: Zenghui Yu <yuzenghui@huawei.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20230927090911.3355209-12-maz@kernel.org
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
-rw-r--r-- | Documentation/virt/kvm/devices/arm-vgic-v3.rst | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Documentation/virt/kvm/devices/arm-vgic-v3.rst b/Documentation/virt/kvm/devices/arm-vgic-v3.rst index 51e5e5762571..5817edb4e046 100644 --- a/Documentation/virt/kvm/devices/arm-vgic-v3.rst +++ b/Documentation/virt/kvm/devices/arm-vgic-v3.rst @@ -59,6 +59,13 @@ Groups: It is invalid to mix calls with KVM_VGIC_V3_ADDR_TYPE_REDIST and KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION attributes. + Note that to obtain reproducible results (the same VCPU being associated + with the same redistributor across a save/restore operation), VCPU creation + order, redistributor region creation order as well as the respective + interleaves of VCPU and region creation MUST be preserved. Any change in + either ordering may result in a different vcpu_id/redistributor association, + resulting in a VM that will fail to run at restore time. + Errors: ======= ============================================================= |