diff options
author | Thomas Huth <thuth@redhat.com> | 2016-08-09 18:59:58 +0200 |
---|---|---|
committer | David Gibson <david@gibson.dropbear.id.au> | 2016-08-10 13:12:20 +1000 |
commit | caf6316de90301e07444de95bd540c93ce9d333a (patch) | |
tree | 7f3dadf56263c655bbd59b8256d3d83fdd8fb03e | |
parent | caebf37859b991c27ada22d5d7bfd929844bd20f (diff) |
ppc: Introduce a function to look up CPU alias strings
We will need this function to look up the aliases in the
spapr-cpu-core code, too.
Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r-- | target-ppc/cpu.h | 1 | ||||
-rw-r--r-- | target-ppc/translate_init.c | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/target-ppc/cpu.h b/target-ppc/cpu.h index 5fce1ffa25..786ab5cdfa 100644 --- a/target-ppc/cpu.h +++ b/target-ppc/cpu.h @@ -1201,6 +1201,7 @@ extern const struct VMStateDescription vmstate_ppc_cpu; /*****************************************************************************/ PowerPCCPU *cpu_ppc_init(const char *cpu_model); void ppc_translate_init(void); +const char *ppc_cpu_lookup_alias(const char *alias); void gen_update_current_nip(void *opaque); /* you can call this signal handler from your SIGBUS and SIGSEGV signal handlers to inform the virtual CPU of exceptions. non zero diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c index 5f28a36998..7a9b15e7e1 100644 --- a/target-ppc/translate_init.c +++ b/target-ppc/translate_init.c @@ -10012,6 +10012,19 @@ static ObjectClass *ppc_cpu_class_by_name(const char *name) return NULL; } +const char *ppc_cpu_lookup_alias(const char *alias) +{ + int ai; + + for (ai = 0; ppc_cpu_aliases[ai].alias != NULL; ai++) { + if (strcmp(ppc_cpu_aliases[ai].alias, alias) == 0) { + return ppc_cpu_aliases[ai].model; + } + } + + return NULL; +} + PowerPCCPU *cpu_ppc_init(const char *cpu_model) { return POWERPC_CPU(cpu_generic_init(TYPE_POWERPC_CPU, cpu_model)); |