[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] ARM: BKPT instructions should raise prefetch aborts wit
From: |
Alex Zuepke |
Subject: |
Re: [Qemu-devel] ARM: BKPT instructions should raise prefetch aborts with IFSR type 00010 |
Date: |
Wed, 18 May 2011 12:00:46 +0200 |
User-agent: |
Thunderbird 2.0.0.24 (X11/20101027) |
Hi,
Peter Maydell schrieb:
> On 25 March 2011 10:54, Alex Zuepke <address@hidden> wrote:
>> while digging through some problems with BKPT exceptions on ARM, I
>> discovered that QEMU does not update IFSR on prefetch aborts. This
>> should be done since ARMv6 according to ARM docs. Please include.
>
> This patch is the wrong approach to fixing this bug -- the
> updating of the IFSR needs to be done when the exception
> is taken, not when we translate the breakpoint instruction.
>
> I'll put this on my todo list. If you happen to have a convenient
> test case demonstrating the problem, that would make a fix happen
> faster ;-)
>
> -- PMM
I tried to fix it, new patch attached.
But I'm not sure if it is required for semihosting as well.
On ARMv7-M bkpt works differently, and debug registers aren't
implemented yet, so I didn't touch it.
Best Regards,
Alex
--
Alexander Zuepke address@hidden
SYSGO AG ~ Am Pfaffenstein 14 ~ 55270 Klein-Winternheim ~ Germany
target-arm: BKPT instructions should raise prefetch aborts with IFSR type 00010
diff against qemu 0.14.1
Signed-off-by: Alex Zuepke <address@hidden>
diff --git a/target-arm/helper.c b/target-arm/helper.c
--- a/target-arm/helper.c
+++ b/target-arm/helper.c
@@ -847,6 +849,7 @@ void do_interrupt(CPUARMState *env)
return;
}
}
+ env->cp15.c5_insn = 2;
/* Fall through to prefetch abort. */
case EXCP_PREFETCH_ABORT:
new_mode = ARM_CPU_MODE_ABT;
- Re: [Qemu-devel] ARM: BKPT instructions should raise prefetch aborts with IFSR type 00010,
Alex Zuepke <=