qemu-devel
[Top][All Lists]
Advanced

[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: Fri, 25 Mar 2011 15:01:13 +0100
User-agent: Thunderbird 2.0.0.24 (X11/20101027)

Hi Peter,

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.

--- qemu-0.14.0.orig/target-arm/helper.c        2011-02-16 15:44:05.000000000 
+0100
+++ qemu-0.14.0/target-arm/helper.c     2011-03-25 14:00:31.000000000 +0100
@@ -808,6 +808,8 @@ void do_interrupt(CPUARMState *env)
                 return;
             }
         }
+        /* indicate debug exception in IFSR */
+        env->cp15.c5_insn = 2;
         /* Fall through to prefetch abort.  */
     case EXCP_PREFETCH_ABORT:
         new_mode = ARM_CPU_MODE_ABT;


Something like this? This neither looks good ...

> 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 ;-)

Testcase is attached.

$ gunzip tc.elf.gz
$ qemu-system-arm.orig -nographic --cpu cortex-a8 -kernel tc.elf
testcase: IFSR undefined on QEMU
got prefetch abort, IFSR is 12345678
test: failed
HALT
Killed
$ qemu-system-arm.fixed -nographic --cpu cortex-a8 -kernel tc.elf
testcase: IFSR undefined on QEMU
got prefetch abort, IFSR is 00000002
test: OK
HALT
Killed

Best Regards,
Alex

-- 
Alexander Zuepke                                address@hidden
SYSGO AG ~ Am Pfaffenstein 14 ~ 55270 Klein-Winternheim ~ Germany

Attachment: tc.elf.gz
Description: application/gzip


reply via email to

[Prev in Thread] Current Thread [Next in Thread]