diff options
author | James Morris <james.morris@microsoft.com> | 2018-05-01 21:02:34 +0300 |
---|---|---|
committer | James Morris <james.morris@microsoft.com> | 2018-05-01 21:02:34 +0300 |
commit | b3859ee18ed287170b66b19a78191f7312ec3470 (patch) | |
tree | c52550132fdf6802b159531498bde8dcfbd26180 /Documentation/virtual/kvm/arm/psci.txt | |
parent | b393a707c84bb56a7800c93849fd8b492f76ba42 (diff) | |
parent | 6da6c0db5316275015e8cc2959f12a17584aeb64 (diff) | |
download | linux-b3859ee18ed287170b66b19a78191f7312ec3470.tar.xz |
Merge tag 'v4.17-rc3' into next-general
Merge to Linux v4.17-rc3 which has stability bugfix.
Diffstat (limited to 'Documentation/virtual/kvm/arm/psci.txt')
-rw-r--r-- | Documentation/virtual/kvm/arm/psci.txt | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Documentation/virtual/kvm/arm/psci.txt b/Documentation/virtual/kvm/arm/psci.txt new file mode 100644 index 000000000000..aafdab887b04 --- /dev/null +++ b/Documentation/virtual/kvm/arm/psci.txt @@ -0,0 +1,30 @@ +KVM implements the PSCI (Power State Coordination Interface) +specification in order to provide services such as CPU on/off, reset +and power-off to the guest. + +The PSCI specification is regularly updated to provide new features, +and KVM implements these updates if they make sense from a virtualization +point of view. + +This means that a guest booted on two different versions of KVM can +observe two different "firmware" revisions. This could cause issues if +a given guest is tied to a particular PSCI revision (unlikely), or if +a migration causes a different PSCI version to be exposed out of the +blue to an unsuspecting guest. + +In order to remedy this situation, KVM exposes a set of "firmware +pseudo-registers" that can be manipulated using the GET/SET_ONE_REG +interface. These registers can be saved/restored by userspace, and set +to a convenient value if required. + +The following register is defined: + +* KVM_REG_ARM_PSCI_VERSION: + + - Only valid if the vcpu has the KVM_ARM_VCPU_PSCI_0_2 feature set + (and thus has already been initialized) + - Returns the current PSCI version on GET_ONE_REG (defaulting to the + highest PSCI version implemented by KVM and compatible with v0.2) + - Allows any PSCI version implemented by KVM and compatible with + v0.2 to be set with SET_ONE_REG + - Affects the whole VM (even if the register view is per-vcpu) |