Dave Martin <[email protected]> writes:

> Some optional features of the Arm architecture add new system
> registers that are not present in the base architecture.
>
> Where these features are optional for the guest, the visibility of
> these registers may need to depend on some runtime configuration,
> such as a flag passed to KVM_ARM_VCPU_INIT.

This combined with...
> --- a/arch/arm64/kvm/sys_regs.h
> +++ b/arch/arm64/kvm/sys_regs.h
> @@ -64,8 +64,15 @@ struct sys_reg_desc {
>                       const struct kvm_one_reg *reg, void __user *uaddr);
>       int (*set_user)(struct kvm_vcpu *vcpu, const struct sys_reg_desc *rd,
>                       const struct kvm_one_reg *reg, void __user *uaddr);
> +
> +     /* Return mask of REG_* runtime visibility overrides */
> +     unsigned int (*visibility)(const struct kvm_vcpu *vcpu,
> +                                const struct sys_reg_desc *rd);
>  };

this makes me wonder what sort of machines will see different register
visibility depending on which vcpu you are running on?

Otherwise is looks good to me:

Reviewed-by: Alex Bennée <[email protected]>

--
Alex Bennée
_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Reply via email to