• Marc Zyngier's avatar
    arm/arm64: KVM: Add PSCI version selection API · 85bd0ba1
    Marc Zyngier authored
    Although we've implemented PSCI 0.1, 0.2 and 1.0, we expose either 0.1
    or 1.0 to a guest, defaulting to the latest version of the PSCI
    implementation that is compatible with the requested version. This is
    no different from doing a firmware upgrade on KVM.
    
    But in order to give a chance to hypothetical badly implemented guests
    that would have a fit by discovering something other than PSCI 0.2,
    let's provide a new API that allows userspace to pick one particular
    version of the API.
    
    This is implemented as a new class of "firmware" registers, where
    we expose the PSCI version. This allows the PSCI version to be
    save/restored as part of a guest migration, and also set to
    any supported version if the guest requires it.
    
    Cc: stable@vger.kernel.org #4.16
    Reviewed-by: default avatarChristoffer Dall <cdall@kernel.org>
    Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    85bd0ba1
guest.c 10.8 KB