Patchwork target-xtensa: make default CPU depend on target endianness

login
register
mail settings
Submitter Max Filippov
Date Aug. 8, 2012, 10:07 a.m.
Message ID <1344420434-18294-1-git-send-email-jcmvbkbc@gmail.com>
Download mbox | patch
Permalink /patch/175888/
State New
Headers show

Comments

Max Filippov - Aug. 8, 2012, 10:07 a.m.
This makes usable default for -cpu option both for qemu-system-xtensa
and qemu-system-xtensaeb fixing the following error:

    $ qemu-system-xtensaeb -M sim
    Unable to find CPU definition

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
 hw/xtensa_lx60.c    |    6 +++---
 hw/xtensa_sim.c     |    4 ++--
 target-xtensa/cpu.h |    6 ++++++
 3 files changed, 11 insertions(+), 5 deletions(-)
Markus Armbruster - Aug. 8, 2012, 12:10 p.m.
Max Filippov <jcmvbkbc@gmail.com> writes:

> This makes usable default for -cpu option both for qemu-system-xtensa
> and qemu-system-xtensaeb fixing the following error:
>
>     $ qemu-system-xtensaeb -M sim
>     Unable to find CPU definition
>
> Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>

Tested-by: Markus Armbruster <armbru@redhat.com>
Blue Swirl - Aug. 9, 2012, 7:57 p.m.
Thanks, applied.

On Wed, Aug 8, 2012 at 10:07 AM, Max Filippov <jcmvbkbc@gmail.com> wrote:
> This makes usable default for -cpu option both for qemu-system-xtensa
> and qemu-system-xtensaeb fixing the following error:
>
>     $ qemu-system-xtensaeb -M sim
>     Unable to find CPU definition
>
> Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
> ---
>  hw/xtensa_lx60.c    |    6 +++---
>  hw/xtensa_sim.c     |    4 ++--
>  target-xtensa/cpu.h |    6 ++++++
>  3 files changed, 11 insertions(+), 5 deletions(-)
>
> diff --git a/hw/xtensa_lx60.c b/hw/xtensa_lx60.c
> index 152eed9..26a0c75 100644
> --- a/hw/xtensa_lx60.c
> +++ b/hw/xtensa_lx60.c
> @@ -173,7 +173,7 @@ static void lx_init(const LxBoardDesc *board,
>      int n;
>
>      if (!cpu_model) {
> -        cpu_model = "dc232b";
> +        cpu_model = XTENSA_DEFAULT_CPU_MODEL;
>      }
>
>      for (n = 0; n < smp_cpus; n++) {
> @@ -300,14 +300,14 @@ static void xtensa_lx200_init(ram_addr_t ram_size,
>
>  static QEMUMachine xtensa_lx60_machine = {
>      .name = "lx60",
> -    .desc = "lx60 EVB (dc232b)",
> +    .desc = "lx60 EVB (" XTENSA_DEFAULT_CPU_MODEL ")",
>      .init = xtensa_lx60_init,
>      .max_cpus = 4,
>  };
>
>  static QEMUMachine xtensa_lx200_machine = {
>      .name = "lx200",
> -    .desc = "lx200 EVB (dc232b)",
> +    .desc = "lx200 EVB (" XTENSA_DEFAULT_CPU_MODEL ")",
>      .init = xtensa_lx200_init,
>      .max_cpus = 4,
>  };
> diff --git a/hw/xtensa_sim.c b/hw/xtensa_sim.c
> index 1ce07fb..ed38bd4 100644
> --- a/hw/xtensa_sim.c
> +++ b/hw/xtensa_sim.c
> @@ -102,7 +102,7 @@ static void xtensa_sim_init(ram_addr_t ram_size,
>                       const char *initrd_filename, const char *cpu_model)
>  {
>      if (!cpu_model) {
> -        cpu_model = "dc232b";
> +        cpu_model = XTENSA_DEFAULT_CPU_MODEL;
>      }
>      sim_init(ram_size, boot_device, kernel_filename, kernel_cmdline,
>              initrd_filename, cpu_model);
> @@ -110,7 +110,7 @@ static void xtensa_sim_init(ram_addr_t ram_size,
>
>  static QEMUMachine xtensa_sim_machine = {
>      .name = "sim",
> -    .desc = "sim machine (dc232b)",
> +    .desc = "sim machine (" XTENSA_DEFAULT_CPU_MODEL ")",
>      .init = xtensa_sim_init,
>      .max_cpus = 4,
>  };
> diff --git a/target-xtensa/cpu.h b/target-xtensa/cpu.h
> index f7db116..177094a 100644
> --- a/target-xtensa/cpu.h
> +++ b/target-xtensa/cpu.h
> @@ -351,6 +351,12 @@ typedef struct CPUXtensaState {
>  #define cpu_signal_handler cpu_xtensa_signal_handler
>  #define cpu_list xtensa_cpu_list
>
> +#ifdef TARGET_WORDS_BIGENDIAN
> +#define XTENSA_DEFAULT_CPU_MODEL "fsf"
> +#else
> +#define XTENSA_DEFAULT_CPU_MODEL "dc232b"
> +#endif
> +
>  XtensaCPU *cpu_xtensa_init(const char *cpu_model);
>
>  static inline CPUXtensaState *cpu_init(const char *cpu_model)
> --
> 1.7.7.6
>
>

Patch

diff --git a/hw/xtensa_lx60.c b/hw/xtensa_lx60.c
index 152eed9..26a0c75 100644
--- a/hw/xtensa_lx60.c
+++ b/hw/xtensa_lx60.c
@@ -173,7 +173,7 @@  static void lx_init(const LxBoardDesc *board,
     int n;
 
     if (!cpu_model) {
-        cpu_model = "dc232b";
+        cpu_model = XTENSA_DEFAULT_CPU_MODEL;
     }
 
     for (n = 0; n < smp_cpus; n++) {
@@ -300,14 +300,14 @@  static void xtensa_lx200_init(ram_addr_t ram_size,
 
 static QEMUMachine xtensa_lx60_machine = {
     .name = "lx60",
-    .desc = "lx60 EVB (dc232b)",
+    .desc = "lx60 EVB (" XTENSA_DEFAULT_CPU_MODEL ")",
     .init = xtensa_lx60_init,
     .max_cpus = 4,
 };
 
 static QEMUMachine xtensa_lx200_machine = {
     .name = "lx200",
-    .desc = "lx200 EVB (dc232b)",
+    .desc = "lx200 EVB (" XTENSA_DEFAULT_CPU_MODEL ")",
     .init = xtensa_lx200_init,
     .max_cpus = 4,
 };
diff --git a/hw/xtensa_sim.c b/hw/xtensa_sim.c
index 1ce07fb..ed38bd4 100644
--- a/hw/xtensa_sim.c
+++ b/hw/xtensa_sim.c
@@ -102,7 +102,7 @@  static void xtensa_sim_init(ram_addr_t ram_size,
                      const char *initrd_filename, const char *cpu_model)
 {
     if (!cpu_model) {
-        cpu_model = "dc232b";
+        cpu_model = XTENSA_DEFAULT_CPU_MODEL;
     }
     sim_init(ram_size, boot_device, kernel_filename, kernel_cmdline,
             initrd_filename, cpu_model);
@@ -110,7 +110,7 @@  static void xtensa_sim_init(ram_addr_t ram_size,
 
 static QEMUMachine xtensa_sim_machine = {
     .name = "sim",
-    .desc = "sim machine (dc232b)",
+    .desc = "sim machine (" XTENSA_DEFAULT_CPU_MODEL ")",
     .init = xtensa_sim_init,
     .max_cpus = 4,
 };
diff --git a/target-xtensa/cpu.h b/target-xtensa/cpu.h
index f7db116..177094a 100644
--- a/target-xtensa/cpu.h
+++ b/target-xtensa/cpu.h
@@ -351,6 +351,12 @@  typedef struct CPUXtensaState {
 #define cpu_signal_handler cpu_xtensa_signal_handler
 #define cpu_list xtensa_cpu_list
 
+#ifdef TARGET_WORDS_BIGENDIAN
+#define XTENSA_DEFAULT_CPU_MODEL "fsf"
+#else
+#define XTENSA_DEFAULT_CPU_MODEL "dc232b"
+#endif
+
 XtensaCPU *cpu_xtensa_init(const char *cpu_model);
 
 static inline CPUXtensaState *cpu_init(const char *cpu_model)