In principle I don't like it very much; it would be nicer to say "youErrm.
enable it for QEMU itself via arch_prctl(ARCH_SET_STATE_ENABLE), and for
the guests via ioctl(KVM_SET_CPUID2)". But I can see why you want to
keep things simple, so it's not a strong objection at all.
qemu()
read_config()
if (dynamic_features_passthrough())
request_permission(feature) <- prctl(ARCH_SET_STATE_ENABLE)
create_vcpu_threads()
....
vcpu_thread()
kvm_ioctl(ENABLE_DYN_FEATURE, feature) <- KVM ioctl
That's what I lined out, right?