In i915_start_vgt, the method of filling out the callback struct is to query two hardcoded options - xengt and kvm. This is not conducive to allowing another hypervisor to work with iGVT - though this seems to be the only spot where the split isn't a modular abstraction. Can this be made generic? Perhaps query a generic vgt_kdm symbol, or have an interface for a hypervisor to initiate registration?