On Wed, Sep 20 2023, Oliver Upton <oliver.upton@xxxxxxxxx> wrote: > From: Jing Zhang <jingzhangos@xxxxxxxxxx> > > While the Feature ID range is well defined and pretty large, it isn't > inconceivable that the architecture will eventually grow some other > ranges that will need to similarly be described to userspace. > > Add a VM ioctl to allow userspace to get writable masks for feature ID > registers in below system register space: > op0 = 3, op1 = {0, 1, 3}, CRn = 0, CRm = {0 - 7}, op2 = {0 - 7} > This is used to support mix-and-match userspace and kernels for writable > ID registers, where userspace may want to know upfront whether it can > actually tweak the contents of an idreg or not. > > Add a new capability (KVM_CAP_ARM_SUPPORTED_FEATURE_ID_RANGES) that > returns a bitmap of the valid ranges, which can subsequently be > retrieved, one at a time by setting the index of the set bit as the > range identifier. > > Suggested-by: Marc Zyngier <maz@xxxxxxxxxx> > Suggested-by: Cornelia Huck <cohuck@xxxxxxxxxx> > Signed-off-by: Jing Zhang <jingzhangos@xxxxxxxxxx> <process>I think you need to add your s-o-b here.</process> > --- > arch/arm64/include/asm/kvm_host.h | 2 + > arch/arm64/include/uapi/asm/kvm.h | 32 +++++++++++++++ > arch/arm64/kvm/arm.c | 10 +++++ > arch/arm64/kvm/sys_regs.c | 66 +++++++++++++++++++++++++++++++ > include/uapi/linux/kvm.h | 2 + > 5 files changed, 112 insertions(+) Reviewed-by: Cornelia Huck <cohuck@xxxxxxxxxx>