qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] linux-user: Exclude more cpu model code when bu


From: David Hildenbrand
Subject: Re: [Qemu-devel] [PATCH] linux-user: Exclude more cpu model code when building s390x linux-user
Date: Thu, 2 Mar 2017 20:50:46 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0

Am 02.03.2017 um 20:33 schrieb Bruce Rogers:
> Currently qemu-s390x segfaults. Avoid cpu model code which doesn't
> apply in linux user case.

That was also my impression, but it does apply. However, for now it
doesn't matter, as also tcg isn't properly wired up.

In general, linux-user can support _at least_ the same features as tcg,
in theory even more (all that only apply to kernel space).

We had a proper fix on this list by Richard Henderson, wonder what
happened to that?

This file should contain no CONFIG_USER_ONLY apart from the QMP
interface stuff.

> ---
>  target/s390x/cpu_models.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
> index 2a894eec65..97e4e75f68 100644
> --- a/target/s390x/cpu_models.c
> +++ b/target/s390x/cpu_models.c
> @@ -590,7 +590,6 @@ CpuModelBaselineInfo 
> *arch_query_cpu_model_baseline(CpuModelInfo *infoa,
>      cpu_info_from_model(baseline_info->model, &model, true);
>      return baseline_info;
>  }
> -#endif
>  
>  static void check_consistency(const S390CPUModel *model)
>  {
> @@ -660,7 +659,6 @@ static void check_compatibility(const S390CPUModel 
> *max_model,
>  
>  static S390CPUModel *get_max_cpu_model(Error **errp)
>  {
> -#ifndef CONFIG_USER_ONLY
>      static S390CPUModel max_model;
>      static bool cached;
>  
> @@ -680,9 +678,9 @@ static S390CPUModel *get_max_cpu_model(Error **errp)
>          cached = true;
>          return &max_model;
>      }
> -#endif
>      return NULL;
>  }
> +#endif
>  
>  static inline void apply_cpu_model(const S390CPUModel *model, Error **errp)
>  {
> @@ -718,6 +716,7 @@ static inline void apply_cpu_model(const S390CPUModel 
> *model, Error **errp)
>  
>  void s390_realize_cpu_model(CPUState *cs, Error **errp)
>  {
> +#ifndef CONFIG_USER_ONLY
>      S390CPUClass *xcc = S390_CPU_GET_CLASS(cs);
>      S390CPU *cpu = S390_CPU(cs);
>      const S390CPUModel *max_model;
> @@ -751,6 +750,7 @@ void s390_realize_cpu_model(CPUState *cs, Error **errp)
>      }
>  
>      apply_cpu_model(cpu->model, errp);
> +#endif
>  }
>  
>  static void get_feature(Object *obj, Visitor *v, const char *name,
> 


-- 
Thanks,

David



reply via email to

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