Similarly to the previous commit, now replace the
XTENSA_DEFAULT_CPU_NOMMU_MODEL definition by the
xtensa_default_cpu_model_nommu() helper which
evaluates endianness at runtime. Update xtfpga.c
machines.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
target/xtensa/cpu-qom.h | 1 +
target/xtensa/cpu.h | 8 --------
hw/xtensa/xtfpga.c | 20 ++++++++++++--------
target/xtensa/cpu.c | 5 +++++
4 files changed, 18 insertions(+), 16 deletions(-)
diff --git a/target/xtensa/cpu-qom.h b/target/xtensa/cpu-qom.h
index 66992d08c2e..75b97632453 100644
--- a/target/xtensa/cpu-qom.h
+++ b/target/xtensa/cpu-qom.h
@@ -39,5 +39,6 @@ OBJECT_DECLARE_CPU_TYPE(XtensaCPU, XtensaCPUClass, XTENSA_CPU)
#define XTENSA_CPU_TYPE_NAME(model) model XTENSA_CPU_TYPE_SUFFIX
const char *xtensa_default_cpu_model(void);
+const char *xtensa_default_cpu_model_nommu(void);
#endif
diff --git a/target/xtensa/cpu.h b/target/xtensa/cpu.h
index fe2f25e527c..85399390044 100644
--- a/target/xtensa/cpu.h
+++ b/target/xtensa/cpu.h
@@ -605,14 +605,6 @@ G_NORETURN void xtensa_cpu_do_unaligned_access(CPUState *cpu, vaddr addr,
#define CPU_RESOLVING_TYPE TYPE_XTENSA_CPU
-#if TARGET_BIG_ENDIAN
-#define XTENSA_DEFAULT_CPU_NOMMU_MODEL "fsf"
-#else
-#define XTENSA_DEFAULT_CPU_NOMMU_MODEL "de212"
-#endif
-#define XTENSA_DEFAULT_CPU_NOMMU_TYPE \
- XTENSA_CPU_TYPE_NAME(XTENSA_DEFAULT_CPU_NOMMU_MODEL)
-
void xtensa_collect_sr_names(const XtensaConfig *config);
void xtensa_translate_init(void);
void xtensa_translate_code(CPUState *cs, TranslationBlock *tb,
diff --git a/hw/xtensa/xtfpga.c b/hw/xtensa/xtfpga.c
index 5fd4d655557..3d7afcad4cc 100644
--- a/hw/xtensa/xtfpga.c
+++ b/hw/xtensa/xtfpga.c
@@ -609,10 +609,11 @@ static void xtfpga_lx60_nommu_class_init(ObjectClass *oc, const void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
- mc->desc = "lx60 noMMU EVB (" XTENSA_DEFAULT_CPU_NOMMU_MODEL ")";
+ mc->desc = g_strdup_printf("lx60 noMMU EVB (%s)",
+ xtensa_default_cpu_model_nommu());
mc->init = xtfpga_lx60_nommu_init;
mc->max_cpus = 32;
- mc->default_cpu_type = XTENSA_DEFAULT_CPU_NOMMU_TYPE;
+ mc->default_cpu_type = xtensa_default_cpu_model_nommu();
mc->default_ram_size = 64 * MiB;
}
@@ -643,10 +644,11 @@ static void xtfpga_lx200_nommu_class_init(ObjectClass *oc, const void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
- mc->desc = "lx200 noMMU EVB (" XTENSA_DEFAULT_CPU_NOMMU_MODEL ")";
+ mc->desc = g_strdup_printf("lx200 noMMU EVB (%s)",
+ xtensa_default_cpu_model_nommu());
mc->init = xtfpga_lx200_nommu_init;
mc->max_cpus = 32;
- mc->default_cpu_type = XTENSA_DEFAULT_CPU_NOMMU_TYPE;
+ mc->default_cpu_type = xtensa_default_cpu_model_nommu();
mc->default_ram_size = 96 * MiB;
}
@@ -677,10 +679,11 @@ static void xtfpga_ml605_nommu_class_init(ObjectClass *oc, const void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
- mc->desc = "ml605 noMMU EVB (" XTENSA_DEFAULT_CPU_NOMMU_MODEL ")";
+ mc->desc = g_strdup_printf("ml605 noMMU EVB (%s)",
+ xtensa_default_cpu_model_nommu());
mc->init = xtfpga_ml605_nommu_init;
mc->max_cpus = 32;
- mc->default_cpu_type = XTENSA_DEFAULT_CPU_NOMMU_TYPE;
+ mc->default_cpu_type = xtensa_default_cpu_model_nommu();
mc->default_ram_size = 256 * MiB;
}
@@ -711,10 +714,11 @@ static void xtfpga_kc705_nommu_class_init(ObjectClass *oc, const void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
- mc->desc = "kc705 noMMU EVB (" XTENSA_DEFAULT_CPU_NOMMU_MODEL ")";
+ mc->desc = g_strdup_printf("kc705 noMMU EVB (%s)",
+ xtensa_default_cpu_model_nommu());
mc->init = xtfpga_kc705_nommu_init;
mc->max_cpus = 32;
- mc->default_cpu_type = XTENSA_DEFAULT_CPU_NOMMU_TYPE;
+ mc->default_cpu_type = xtensa_default_cpu_model_nommu();
mc->default_ram_size = 256 * MiB;
}
diff --git a/target/xtensa/cpu.c b/target/xtensa/cpu.c
index 6220edda976..f09b93622c9 100644
--- a/target/xtensa/cpu.c
+++ b/target/xtensa/cpu.c
@@ -46,6 +46,11 @@ const char *xtensa_default_cpu_model(void)
return target_big_endian() ? "fsf" : "dc232b";
}
+const char *xtensa_default_cpu_model_nommu(void)
+{
+ return target_big_endian() ? "fsf" : "de212";
+}
+
static void xtensa_cpu_set_pc(CPUState *cs, vaddr value)
{
XtensaCPU *cpu = XTENSA_CPU(cs);
--
2.52.0