On Wed, Feb 20, 2019 at 02:33:44PM +0000, Julien Thierry wrote: > > > On 18/02/2019 19:52, Dave Martin wrote: > > 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. > > > > For example, ZCR_EL1 and ID_AA64ZFR0_EL1 need to be hidden if SVE > > is not enabled for the guest, even though these registers may be > > present in the hardware and visible to the host at EL2. > > > > Adding special-case checks all over the place for individual > > registers is going to get messy as the number of conditionally- > > visible registers grows. > > > > In order to help solve this problem, this patch adds a new sysreg > > method restrictions() that can be used to hook in any needed > > runtime visibility checks. This method can currently return > > REG_NO_USER to inhibit enumeration and ioctl access to the register > > for userspace, and REG_NO_GUEST to inhibit runtime access by the > > guest using MSR/MRS. > > > > This allows a conditionally modified view of individual system > > registers such as the CPU ID registers, in addition to completely > > hiding register where appropriate. > > > > Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> > > Reviewed-by: Julien Thierry <julien.thierry@xxxxxxx> Thanks ---Dave _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm