qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 4/4] linux-user: MIPS set cpu to r6 CPU if bi


From: Philippe Mathieu-Daudé
Subject: Re: [Qemu-devel] [PATCH v2 4/4] linux-user: MIPS set cpu to r6 CPU if binary is R6
Date: Tue, 16 Jan 2018 17:29:23 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2

On 01/16/2018 02:25 PM, Laurent Vivier wrote:
> From: YunQiang Su <address@hidden>
> 
> So here we need to detect the version of binaries and set
> cpu_model for it.
> 
> [lv: original patch modified to move code into cpu_get_model()]
> Signed-off-by: Laurent Vivier <address@hidden>
> ---
> 
> Notes:
>     YunQiang Su, please add your Signed-off-by that was
>     missing in your original patch.
>     
>     v2: call cpu_get_model() with the result of get_elf_eflags()
> 
>  include/elf.h                  | 4 ++++
>  linux-user/mips/target_elf.h   | 3 +++
>  linux-user/mips64/target_elf.h | 3 +++
>  3 files changed, 10 insertions(+)
> 
> diff --git a/include/elf.h b/include/elf.h
> index e8a515ce3d..f2104809b1 100644
> --- a/include/elf.h
> +++ b/include/elf.h
> @@ -40,6 +40,10 @@ typedef int64_t  Elf64_Sxword;
>  #define EF_MIPS_ARCH_5               0x40000000      /* -mips5 code.  */
>  #define EF_MIPS_ARCH_32              0x50000000      /* MIPS32 code.  */
>  #define EF_MIPS_ARCH_64              0x60000000      /* MIPS64 code.  */
> +#define EF_MIPS_ARCH_32R2       0x70000000      /* MIPS32r2 code.  */
> +#define EF_MIPS_ARCH_64R2       0x80000000      /* MIPS64r2 code.  */
> +#define EF_MIPS_ARCH_32R6       0x90000000      /* MIPS32r6 code.  */
> +#define EF_MIPS_ARCH_64R6       0xa0000000      /* MIPS64r6 code.  */
>  
>  /* The ABI of a file. */
>  #define EF_MIPS_ABI_O32              0x00001000      /* O32 ABI.  */
> diff --git a/linux-user/mips/target_elf.h b/linux-user/mips/target_elf.h
> index bed0b43259..ac14f99ac5 100644
> --- a/linux-user/mips/target_elf.h
> +++ b/linux-user/mips/target_elf.h
> @@ -9,6 +9,9 @@
>  #define MIPS_TARGET_ELF_H
>  static inline const char *cpu_get_model(uint32_t eflags)
>  {
> +     if ((eflags & EF_MIPS_ARCH_32R6) != 0) {

        if (eflags & EF_MIPS_ARCH_32R6) {

> +         return "mips32r6-generic";

What is the gain of the "-generic" suffix?

Using "mips32r6":
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>

> +     }
>      return "24Kf";
>  }
>  #endif
> diff --git a/linux-user/mips64/target_elf.h b/linux-user/mips64/target_elf.h
> index 5b6f4692e0..6cda7ae435 100644
> --- a/linux-user/mips64/target_elf.h
> +++ b/linux-user/mips64/target_elf.h
> @@ -9,6 +9,9 @@
>  #define MIPS64_TARGET_ELF_H
>  static inline const char *cpu_get_model(uint32_t eflags)
>  {
> +     if ((eflags & EF_MIPS_ARCH_64R6) != 0) {
> +         return "I6400";
> +     }
>      return "5KEf";
>  }
>  #endif
> 



reply via email to

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