Re: [Qemu-devel] [PATCH v2 29/29] target/s390x: update maximum TCG model to z800

2017-05-30 Thread Richard Henderson

On 05/29/2017 12:24 PM, Aurelien Jarno wrote:

At the same time fix the TCG version of get_max_cpu_model to return the
maximum model like on KVM. Remove the long-displacement facility from
the additional features as it is included in the z800.

Signed-off-by: Aurelien Jarno
---
  target/s390x/cpu_models.c | 12 ++--
  1 file changed, 6 insertions(+), 6 deletions(-)


Reviewed-by: Richard Henderson 


r~




Re: [Qemu-devel] [PATCH v2 29/29] target/s390x: update maximum TCG model to z800

2017-05-30 Thread Thomas Huth
On 29.05.2017 21:24, Aurelien Jarno wrote:
> At the same time fix the TCG version of get_max_cpu_model to return the
> maximum model like on KVM. Remove the long-displacement facility from
> the additional features as it is included in the z800.
> 
> Signed-off-by: Aurelien Jarno 
> ---
>  target/s390x/cpu_models.c | 12 ++--
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
> index e5e005a430..5f2c195d53 100644
> --- a/target/s390x/cpu_models.c
> +++ b/target/s390x/cpu_models.c
> @@ -668,7 +668,6 @@ static void add_qemu_cpu_model_features(S390FeatBitmap 
> fbm)
>  static const int feats[] = {
>  S390_FEAT_STFLE,
>  S390_FEAT_EXTENDED_IMMEDIATE,
> -S390_FEAT_LONG_DISPLACEMENT,
>  S390_FEAT_LONG_DISPLACEMENT_FAST,
>  S390_FEAT_STORE_CLOCK_FAST,
>  S390_FEAT_GENERAL_INSTRUCTIONS_EXT,
> @@ -694,9 +693,9 @@ static S390CPUModel *get_max_cpu_model(Error **errp)
>  if (kvm_enabled()) {
>  kvm_s390_get_host_cpu_model(&max_model, errp);
>  } else {
> -/* TCG emulates a z900 (with some optional additional features) */
> -max_model.def = &s390_cpu_defs[0];
> -bitmap_copy(max_model.features, max_model.def->default_feat,
> +/* TCG emulates a z800 (with some optional additional features) */
> +max_model.def = s390_find_cpu_def(0x2066, 7, 3, NULL);
> +bitmap_copy(max_model.features, max_model.def->full_feat,
>  S390_FEAT_MAX);
>  add_qemu_cpu_model_features(max_model.features);
>  }
> @@ -954,8 +953,9 @@ static void s390_qemu_cpu_model_initfn(Object *obj)
>  S390CPU *cpu = S390_CPU(obj);
>  
>  cpu->model = g_malloc0(sizeof(*cpu->model));
> -/* TCG emulates a z900 (with some optional additional features) */
> -memcpy(&s390_qemu_cpu_defs, &s390_cpu_defs[0], 
> sizeof(s390_qemu_cpu_defs));
> +/* TCG emulates a z800 (with some optional additional features) */
> +memcpy(&s390_qemu_cpu_defs, s390_find_cpu_def(0x2066, 7, 3, NULL),
> +   sizeof(s390_qemu_cpu_defs));
>  add_qemu_cpu_model_features(s390_qemu_cpu_defs.full_feat);
>  cpu->model->def = &s390_qemu_cpu_defs;
>  bitmap_copy(cpu->model->features, cpu->model->def->default_feat,
> 

Reviewed-by: Thomas Huth 




[Qemu-devel] [PATCH v2 29/29] target/s390x: update maximum TCG model to z800

2017-05-29 Thread Aurelien Jarno
At the same time fix the TCG version of get_max_cpu_model to return the
maximum model like on KVM. Remove the long-displacement facility from
the additional features as it is included in the z800.

Signed-off-by: Aurelien Jarno 
---
 target/s390x/cpu_models.c | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index e5e005a430..5f2c195d53 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -668,7 +668,6 @@ static void add_qemu_cpu_model_features(S390FeatBitmap fbm)
 static const int feats[] = {
 S390_FEAT_STFLE,
 S390_FEAT_EXTENDED_IMMEDIATE,
-S390_FEAT_LONG_DISPLACEMENT,
 S390_FEAT_LONG_DISPLACEMENT_FAST,
 S390_FEAT_STORE_CLOCK_FAST,
 S390_FEAT_GENERAL_INSTRUCTIONS_EXT,
@@ -694,9 +693,9 @@ static S390CPUModel *get_max_cpu_model(Error **errp)
 if (kvm_enabled()) {
 kvm_s390_get_host_cpu_model(&max_model, errp);
 } else {
-/* TCG emulates a z900 (with some optional additional features) */
-max_model.def = &s390_cpu_defs[0];
-bitmap_copy(max_model.features, max_model.def->default_feat,
+/* TCG emulates a z800 (with some optional additional features) */
+max_model.def = s390_find_cpu_def(0x2066, 7, 3, NULL);
+bitmap_copy(max_model.features, max_model.def->full_feat,
 S390_FEAT_MAX);
 add_qemu_cpu_model_features(max_model.features);
 }
@@ -954,8 +953,9 @@ static void s390_qemu_cpu_model_initfn(Object *obj)
 S390CPU *cpu = S390_CPU(obj);
 
 cpu->model = g_malloc0(sizeof(*cpu->model));
-/* TCG emulates a z900 (with some optional additional features) */
-memcpy(&s390_qemu_cpu_defs, &s390_cpu_defs[0], sizeof(s390_qemu_cpu_defs));
+/* TCG emulates a z800 (with some optional additional features) */
+memcpy(&s390_qemu_cpu_defs, s390_find_cpu_def(0x2066, 7, 3, NULL),
+   sizeof(s390_qemu_cpu_defs));
 add_qemu_cpu_model_features(s390_qemu_cpu_defs.full_feat);
 cpu->model->def = &s390_qemu_cpu_defs;
 bitmap_copy(cpu->model->features, cpu->model->def->default_feat,
-- 
2.11.0