[PATCH v9 2/3] KVM: selftests: Refactor UAPI tests into dedicated function

Andrew Jones andrew.jones at oss.qualcomm.com
Mon Mar 2 13:57:36 PST 2026


On Sat, Feb 28, 2026 at 12:53:54AM +0000, Jiakai Xu wrote:
> Move steal time UAPI tests from steal_time_init() into a separate
> check_steal_time_uapi() function for better code organization and
> maintainability.
> 
> Previously, x86 and ARM64 architectures performed UAPI validation
> tests within steal_time_init(), mixing initialization logic with
> uapi tests.
> 
> Changes by architecture:
> x86_64:
>   - Extract MSR reserved bits test from steal_time_init()
>   - Move to check_steal_time_uapi() which tests that setting
>     MSR_KVM_STEAL_TIME with KVM_STEAL_RESERVED_MASK fails
> ARM64:
>   - Extract three UAPI tests from steal_time_init():
>      Device attribute support check
>      Misaligned IPA rejection (EINVAL)
>      Duplicate IPA setting rejection (EEXIST)
>   - Move all tests to check_steal_time_uapi()
> RISC-V:
>   - Add empty check_steal_time_uapi() stub for future use
>   - No changes to steal_time_init() (had no tests to extract)
> 
> The new check_steal_time_uapi() function:
>   - Is called once before the per-VCPU test loop
> 
> No functional change intended.
> 
> Suggested-by: Andrew Jones <andrew.jones at oss.qualcomm.com>
> Signed-off-by: Jiakai Xu <xujiakai2025 at iscas.ac.cn>
> Signed-off-by: Jiakai Xu <jiakaiPeanut at gmail.com>
> ---
> V8 -> V9: Created a temporary VM with one vCPU in
>            check_steal_time_uapi() instead of adding extra vCPUs to the
>            main VM.
>           Made check_steal_time_uapi() parameterless for all architectures.
> V7 -> V8: Used ST_GPA_BASE directly instead of
>            st_gva[]/sync_global_to_guest() in x86_64 and ARM64
>            check_steal_time_uapi().
>           Created a temporary vcpu in ARM64 check_steal_time_uapi() to
>            avoid EEXIST when steal_time_init() later sets IPA for vcpu[0].
>           Removed unnecessary comment in RISC-V check_steal_time_uapi().
> ---
>  tools/testing/selftests/kvm/steal_time.c | 67 ++++++++++++++++++------
>  1 file changed, 51 insertions(+), 16 deletions(-)

Reviewed-by: Andrew Jones <andrew.jones at oss.qualcomm.com>



More information about the linux-riscv mailing list