|
From: | 黄敦荣 |
Subject: | Re: [Qemu-devel] [PATCH] target-moxie: set do_interrupt to a target-specific helper function |
Date: | Sun, 31 Mar 2013 21:43:32 +0800 |
Hi Dunrong,
I can't reproduce the segfault, but your patch still looks right to
me. Thanks!
Signed-of-by: Anthony Green <address@hidden>
AG
On Sat, Mar 30, 2013 at 9:35 PM, Dunrong Huang <address@hidden> wrote:
> The value of "do_interrupt" member of CPUClass shoule be set to a
> target-specific function, or it will lead to a segfault like below:
>
> $ moxie-softmmu/qemu-system-moxie -M moxiesim
> Segmentation fault
>
> Cc: Anthony Green <address@hidden>
> Cc: Blue Swirl <address@hidden>
> Cc: Andreas Färber <address@hidden>
> Signed-off-by: Dunrong Huang <address@hidden>
> ---
> target-moxie/cpu.c | 1 +
> target-moxie/cpu.h | 2 +-
> target-moxie/helper.c | 7 +++++--
> 3 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/target-moxie/cpu.c b/target-moxie/cpu.c
> index c17d3f0..c0855f0 100644
> --- a/target-moxie/cpu.c
> +++ b/target-moxie/cpu.c
> @@ -98,6 +98,7 @@ static void moxie_cpu_class_init(ObjectClass *oc, void *data)
> cc->class_by_name = moxie_cpu_class_by_name;
>
> dc->vmsd = &vmstate_moxie_cpu;
> + cc->do_interrupt = moxie_cpu_do_interrupt;
> }
>
> static void moxielite_initfn(Object *obj)
> diff --git a/target-moxie/cpu.h b/target-moxie/cpu.h
> index b96236f..988729a 100644
> --- a/target-moxie/cpu.h
> +++ b/target-moxie/cpu.h
> @@ -117,7 +117,7 @@ static inline MoxieCPU *moxie_env_get_cpu(CPUMoxieState *env)
>
> MoxieCPU *cpu_moxie_init(const char *cpu_model);
> int cpu_moxie_exec(CPUMoxieState *s);
> -void do_interrupt(CPUMoxieState *env);
> +void moxie_cpu_do_interrupt(CPUState *cs);
> void moxie_translate_init(void);
> int cpu_moxie_signal_handler(int host_signum, void *pinfo,
> void *puc);
> diff --git a/target-moxie/helper.c b/target-moxie/helper.c
> index 8604ce8..6e0ac2a 100644
> --- a/target-moxie/helper.c
> +++ b/target-moxie/helper.c
> @@ -102,7 +102,7 @@ void helper_debug(CPUMoxieState *env)
>
> #if defined(CONFIG_USER_ONLY)
>
> -void do_interrupt(CPUState *env)
> +void moxie_cpu_do_interrupt(CPUState *env)
> {
> env->exception_index = -1;
> }
> @@ -147,8 +147,11 @@ int cpu_moxie_handle_mmu_fault(CPUMoxieState *env, target_ulong address,
> }
>
>
> -void do_interrupt(CPUMoxieState *env)
> +void moxie_cpu_do_interrupt(CPUState *cs)
> {
> + MoxieCPU *cpu = MOXIE_CPU(cs);
> + CPUMoxieState *env = &cpu->env;
> +
> switch (env->exception_index) {
> case MOXIE_EX_BREAK:
> break;
> --
> 1.8.1.5
>
北京云端时代科技有限公司邮件法律声明:
本邮件所有信息及附件内容版权、知识产权归我公司所有,未经事先书面许可,禁止复制、转载、传播、储存。
CLOUD TIMES EMAIL NOTICE:
The information and any attachments contained in this email is all copyright and intellectual property of our company reserved. Without prior written permission of any copy, reproduce, propagation or storage will be prohibited.
[Prev in Thread] | Current Thread | [Next in Thread] |