qemu-s390x
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [qemu-s390x] [PATCH] s390x/cpumodels: add z14 Model ZR1


From: Christian Borntraeger
Subject: Re: [qemu-s390x] [PATCH] s390x/cpumodels: add z14 Model ZR1
Date: Wed, 13 Jun 2018 11:42:05 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0


On 06/13/2018 11:00 AM, David Hildenbrand wrote:
> 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 <address@hidden>
>> ---
>>  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.
> 
Yes, we can run z14ZR1 on Z14 and vice versa.


s390_find_cpu_def has this

        /* stop the search if we found the exact model */
        if (def->type == type && def->ec_ga == ec_ga) {
            return def;
        }

So we should always get the best fit, no?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]