On 13.06.2018 10:18, Christian Borntraeger wrote: > introduce the new z14 Model ZR1 cpu model. Mostly identical to z14, only > the cpu type differs (3906 vs. 3907) > > Signed-off-by: Christian Borntraeger <borntrae...@de.ibm.com> > --- > target/s390x/cpu_models.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c > index e10035aaa8..cfdbccf46d 100644 > --- a/target/s390x/cpu_models.c > +++ b/target/s390x/cpu_models.c > @@ -79,6 +79,7 @@ static S390CPUDef s390_cpu_defs[] = { > CPUDEF_INIT(0x2964, 13, 2, 47, 0x08000000U, "z13.2", "IBM z13 GA2"), > CPUDEF_INIT(0x2965, 13, 2, 47, 0x08000000U, "z13s", "IBM z13s GA1"), > CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"), > + CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 > GA1"), > }; > > #define QEMU_MAX_CPU_TYPE 0x2827 >
This is the first time that we have two different EC variants (different CPU type) with the same HW gen and GA level . Are they really completely equal (esp. the IBC value? that is used for model detection) apart from the CPU type? check_unavailable_features()/arch_query_cpu_model_comparison() will treat both models as equal (meaning one can run on the other). arch_query_cpu_model_baseline() might produce a z14ZR1-base when baselining e.g. a z14 and a z14ZR1 (don't think this is a problem), as s390_find_cpu_def() will always try to walk as far as possible in the cpu model definition table. -- Thanks, David / dhildenb