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 <borntraeger@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
--
2.17.0
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 <borntraeger@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
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 <borntraeger@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. > 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?
On 13.06.2018 11:42, Christian Borntraeger wrote: > > > 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 <borntraeger@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. >> > 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? Yes, but one could "think" that baselining a z14 against a z14RC1 would result in the "older" (z14) machine, while we will return the z14RC1. As said, I don't think this is a problem, just wanted to point it out! -- Thanks, David / dhildenb
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 <borntraeger@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? Yes, the IBC is the same.
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 <borntraeger@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 > Reviewed-by: David Hildenbrand <david@redhat.com> -- Thanks, David / dhildenb
On Wed, 13 Jun 2018 10:18:19 +0200 Christian Borntraeger <borntraeger@de.ibm.com> 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 <borntraeger@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 Thanks, applied.
© 2016 - 2024 Red Hat, Inc.