Hi; I've just noticed a bug in QEMU where we weren't migrating Secure-bank register state for AArch32 emulated guest correctly, which turns out to be intertwined with how KVM defines its index values for cp15 registers in the KVM_REG_ARM_* encoding. The problem is that QEMU defines the on-the-wire migration format for system registers using the KVM encoding. This is fine when we're using KVM (because all guest visible registers for KVM are non-secure), but if we're using emulation, we might have to migrate both secure and non-secure register state, so we need to be able to define ID values that distinguish them. I could just borrow a currently-spare bit in the encoding to indicate S/NS, but this seems liable to future breakage if the bit gets defined to have some meaning for the kernel, so it would be nice if we could define a bit officially, something like: #define KVM_REG_ARM_SECURE_MASK 0x0000000010000000 in arch/arm/include/uapi/asm/kvm.h Does this seem like a good idea? (We could alternatively steal a bit from the top of the rather-over-specified 12 bit field for copro number, but AFAIK bit 28 isn't used currently so is free.) thanks -- PMM _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm