[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [Qemu-devel] [PATCH 20/24] Add alpha_cpu_list.
From: |
Krumme, Chris |
Subject: |
RE: [Qemu-devel] [PATCH 20/24] Add alpha_cpu_list. |
Date: |
Thu, 19 Mar 2009 09:20:41 -0700 |
Hello Tristan,
> -----Original Message-----
> From:
> address@hidden
> [mailto:address@hidden
> rg] On Behalf Of Tristan Gingold
> Sent: Thursday, March 19, 2009 9:36 AM
> To: address@hidden
> Cc: Tristan Gingold
> Subject: [Qemu-devel] [PATCH 20/24] Add alpha_cpu_list.
>
> Add alpha_cpu_list and use cpu_model to select the model in
> cpu_alpha_init.
> Set implver and amask from the model.
>
> Signed-off-by: Tristan Gingold <address@hidden>
> ---
> target-alpha/cpu.h | 1 +
> target-alpha/translate.c | 40
> ++++++++++++++++++++++++++++++++++++++--
> 2 files changed, 39 insertions(+), 2 deletions(-)
>
> diff --git a/target-alpha/cpu.h b/target-alpha/cpu.h
> index 629d72b..ae9de3c 100644
> --- a/target-alpha/cpu.h
> +++ b/target-alpha/cpu.h
> @@ -436,6 +436,7 @@ enum {
>
> CPUAlphaState * cpu_alpha_init (const char *cpu_model);
> int cpu_alpha_exec(CPUAlphaState *s);
> +void alpha_cpu_list(FILE *f, int (*cpu_fprintf)(FILE *f,
> const char *fmt, ...));
> /* you can call this signal handler from your SIGBUS and SIGSEGV
> signal handlers to inform the virtual CPU of exceptions. non zero
> is returned if the signal was handled by the virtual CPU. */
> diff --git a/target-alpha/translate.c b/target-alpha/translate.c
> index 46ec733..bcd156f 100644
> --- a/target-alpha/translate.c
> +++ b/target-alpha/translate.c
> @@ -2460,17 +2460,53 @@ void gen_intermediate_code_pc
> (CPUState *env, struct TranslationBlock *tb)
> gen_intermediate_code_internal(env, tb, 1);
> }
>
> +struct alpha_def {
> + const char *name;
> + uint32_t implver;
> + uint32_t amask;
> +};
> +
> +static const struct alpha_def alpha_defs[] = {
> +#if 0
> + { "21064", IMPLVER_2106x, 0 },
> + { "21164", IMPLVER_21164, 0 },
> +#endif
> + { "21264", IMPLVER_21264, (AMASK_PREFETCH | AMASK_TRAP |
> AMASK_BWX
> + | AMASK_FIX) },
> +};
Again thanks for expanding the Alpha support.
Unless Alpha was completely broken before, I don't think we should drop
support for EV4 while adding EV6.
Thanks
Chris
> +
> +void alpha_cpu_list(FILE *f, int (*cpu_fprintf)(FILE *f,
> const char *fmt, ...))
> +{
> + int i;
> +
> + for (i = 0; i < ARRAY_SIZE(alpha_defs); i++)
> + (*cpu_fprintf)(f, "%s\n", alpha_defs[i].name);
> +}
> +
> CPUAlphaState * cpu_alpha_init (const char *cpu_model)
> {
> CPUAlphaState *env;
> uint64_t hwpcb;
> + const struct alpha_def *cpu = alpha_defs;
> +
> + if (cpu_model != NULL) {
> + int i;
>
> + for (i = 0; i < ARRAY_SIZE(alpha_defs); i++)
> + if (strcmp (alpha_defs[i].name, cpu_model) == 0) {
> + cpu = &alpha_defs[i];
> + break;
> + }
> + if (cpu == NULL)
> + return NULL;
> + }
> env = qemu_mallocz(sizeof(CPUAlphaState));
> cpu_exec_init(env);
> alpha_translate_init();
> tlb_flush(env, 1);
> - /* XXX: should not be hardcoded */
> - env->implver = IMPLVER_2106x;
> +
> + env->implver = cpu->implver;
> + env->amask = cpu->amask;
> env->ps = 0x1F00;
> #if defined (CONFIG_USER_ONLY)
> env->ps |= 1 << 3;
> --
> 1.6.2
>
>
>
>
- [Qemu-devel] [PATCH 15/24] Document which IPR are used by 21264., (continued)
- [Qemu-devel] [PATCH 15/24] Document which IPR are used by 21264., Tristan Gingold, 2009/03/19
- [Qemu-devel] [PATCH 16/24] tb_flush helper should flush the tb (and not the tlb)., Tristan Gingold, 2009/03/19
- [Qemu-devel] [PATCH 17/24] Add instruction name in comments for hw_ld opcode., Tristan Gingold, 2009/03/19
- [Qemu-devel] [PATCH 18/24] Remove PALCODE_ declarations (unused)., Tristan Gingold, 2009/03/19
- [Qemu-devel] [PATCH 19/24] alpha ld helpers now directly return the value., Tristan Gingold, 2009/03/19
- [Qemu-devel] [PATCH 20/24] Add alpha_cpu_list., Tristan Gingold, 2009/03/19
- [Qemu-devel] [PATCH 21/24] Alpha: lower parent irq when irq is lowered., Tristan Gingold, 2009/03/19
- [Qemu-devel] [PATCH 22/24] Move linux-user pal emulation to linux-user/, Tristan Gingold, 2009/03/19
- [Qemu-devel] [PATCH 23/24] Correctly decode hw_ld/hw_st opcodes for all alpha implementations., Tristan Gingold, 2009/03/19
- [Qemu-devel] [PATCH 24/24] Add full emulation for 21264., Tristan Gingold, 2009/03/19
- RE: [Qemu-devel] [PATCH 20/24] Add alpha_cpu_list.,
Krumme, Chris <=
- Re: [Qemu-devel] [PATCH 20/24] Add alpha_cpu_list., Tristan Gingold, 2009/03/20
- RE: [Qemu-devel] [PATCH 13/24] Add target-alpha/machine.c and hw/es40.cfor es40 machine emulation., Krumme, Chris, 2009/03/19
- Re: [Qemu-devel] [PATCH 13/24] Add target-alpha/machine.c and hw/es40.cfor es40 machine emulation., Tristan Gingold, 2009/03/20
- RE: [Qemu-devel] [PATCH 11/24] Add ali1543 super IO pci device., Krumme, Chris, 2009/03/19
- Re: [Qemu-devel] [PATCH 11/24] Add ali1543 super IO pci device., Tristan Gingold, 2009/03/20
- RE: [Qemu-devel] [PATCH 02/24] Fix cpu_physical_memory_rw whenoperating on IO blocks., Krumme, Chris, 2009/03/19
- Re: [Qemu-devel] [PATCH 02/24] Fix cpu_physical_memory_rw whenoperating on IO blocks., Tristan Gingold, 2009/03/20