a1adfb0 qemu: Add support for unavailable-features

Authored and Committed by Jiri Denemark 7 years ago
    qemu: Add support for unavailable-features
    
    QEMU 2.8.0 adds support for unavailable-features in
    query-cpu-definitions reply. The unavailable-features array lists CPU
    features which prevent a corresponding CPU model from being usable on
    current host. It can only be used when all the unavailable features are
    disabled. Empty array means the CPU model can be used without
    modifications.
    
    We can use unavailable-features for providing CPU model usability info
    in domain capabilities XML:
    
        <domainCapabilities>
          ...
          <cpu>
            <mode name='host-passthrough' supported='yes'/>
            <mode name='host-model' supported='yes'>
              <model fallback='allow'>Skylake-Client</model>
              ...
            </mode>
            <mode name='custom' supported='yes'>
              <model usable='yes'>qemu64</model>
              <model usable='yes'>qemu32</model>
              <model usable='no'>phenom</model>
              <model usable='yes'>pentium3</model>
              <model usable='yes'>pentium2</model>
              <model usable='yes'>pentium</model>
              <model usable='yes'>n270</model>
              <model usable='yes'>kvm64</model>
              <model usable='yes'>kvm32</model>
              <model usable='yes'>coreduo</model>
              <model usable='yes'>core2duo</model>
              <model usable='no'>athlon</model>
              <model usable='yes'>Westmere</model>
              <model usable='yes'>Skylake-Client</model>
              ...
            </mode>
          </cpu>
          ...
        </domainCapabilities>
    
    Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
    
        
file modified
+30 -9
file modified
+2 -1
file modified
+1 -0
file modified
+18 -0
file modified
+22 -5
file modified
+16 -8