Dave Martin <Dave.Martin@xxxxxxx> 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 <alex.bennee@xxxxxxxxxx> -- Alex Bennée _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm