qemu-e2k/target/s390x
Viktor Mihajlovski 38cba1f4d8 s390x: return unavailable features via query-cpu-definitions
The response for query-cpu-definitions didn't include the
unavailable-features field, which is used by libvirt to figure
out whether a certain cpu model is usable on the host.

The unavailable features are now computed by obtaining the host CPU
model and comparing it against the known CPU models. The comparison
takes into account the generation, the GA level and the feature
bitmaps. In the case of a CPU generation/GA level mismatch
a feature called "type" is reported to be missing.

As a result, the output of virsh domcapabilities would change
from something like
 ...
     <mode name='custom' supported='yes'>
      <model usable='unknown'>z10EC-base</model>
      <model usable='unknown'>z9EC-base</model>
      <model usable='unknown'>z196.2-base</model>
      <model usable='unknown'>z900-base</model>
      <model usable='unknown'>z990</model>
 ...
to
 ...
     <mode name='custom' supported='yes'>
      <model usable='yes'>z10EC-base</model>
      <model usable='yes'>z9EC-base</model>
      <model usable='no'>z196.2-base</model>
      <model usable='yes'>z900-base</model>
      <model usable='yes'>z990</model>
 ...

Signed-off-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
Message-Id: <1499082529-16970-1-git-send-email-mihajlov@linux.vnet.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2017-07-05 19:44:24 +02:00
..
Makefile.objs makefile: merge GENERATED_HEADERS & GENERATED_SOURCES variables 2017-03-16 11:51:15 +08:00
arch_dump.c s390x/arch_dump: pass cpuid into notes sections 2017-02-24 10:15:18 +01:00
cc_helper.c Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
cpu-qom.h Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
cpu.c migration: Remove unneeded includes of migration/vmstate.h 2017-06-01 18:49:22 +02:00
cpu.h target/s390x: Clean up TB flag bits 2017-06-23 09:17:45 -07:00
cpu_features.c Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
cpu_features.h Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
cpu_features_def.h Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
cpu_models.c s390x: return unavailable features via query-cpu-definitions 2017-07-05 19:44:24 +02:00
cpu_models.h s390x/cpumodel: take care of the cpuid format bit for KVM 2017-06-06 10:50:40 +02:00
fpu_helper.c target/s390x: implement COMPARE AND SIGNAL 2017-06-06 15:20:38 -07:00
gdbstub.c * QOM interface fix (Eduardo) 2017-01-20 16:42:07 +00:00
gen-features.c Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
helper.c target/s390x: rework PGM interrupt psw.addr handling 2017-06-13 11:09:39 -07:00
helper.h target/s390x: Implement idte instruction 2017-06-23 09:17:45 -07:00
insn-data.def target/s390x: Implement idte instruction 2017-06-23 09:17:45 -07:00
insn-format.def target/s390x: Implement load-on-condition-2 insns 2017-06-23 09:17:44 -07:00
int_helper.c target-s390x: Avoid a loop for popcnt 2017-01-10 08:48:57 -08:00
interrupt.c Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
ioinst.c s390x/css: fence off MIDA 2017-06-06 10:17:11 +02:00
kvm.c s390x/cpumodel: take care of the cpuid format bit for KVM 2017-06-06 10:50:40 +02:00
machine.c target/s390x: Implement EXECUTE via new TranslationBlock 2017-06-06 14:34:32 -07:00
mem_helper.c target/s390x: Implement idte instruction 2017-06-23 09:17:45 -07:00
misc_helper.c s390x/cpumodel: wire up cpu type + id for TCG 2017-06-13 11:09:39 -07:00
mmu_helper.c target/s390x: rework PGM interrupt psw.addr handling 2017-06-13 11:09:39 -07:00
trace-events Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
translate.c target/s390x: Implement idte instruction 2017-06-23 09:17:45 -07:00