This is an automated email from Gerrit.

Antonio Borneo ([email protected]) just uploaded a new patch set to 
Gerrit, which you can find at http://openocd.zylin.com/4854

-- gerrit

commit 05914f5f2ba94aa7f1901652ea3ac73b8933e44e
Author: Antonio Borneo <[email protected]>
Date:   Tue Jan 15 15:51:13 2019 +0100

    arm_opcode: fix encoding of ARMv5 breakpoint instruction
    
    The encoding of BKPT instruction is 0xE12###7#, where the four '#'
    characters should be replaced by the 16 bits immediate value.
    The macro uses an incorrect shift amount, thus the immediate value
    is not properly coded and bits 20~23 of the opcode could get
    corrupted.
    
    Fixed by using the proper shift amount.
    
    Change-Id: I32db8224ab57aad6d3b002f92f9f259056593675
    Signed-off-by: Antonio Borneo <[email protected]>

diff --git a/src/target/arm_opcodes.h b/src/target/arm_opcodes.h
index 482abe6..e94e833 100644
--- a/src/target/arm_opcodes.h
+++ b/src/target/arm_opcodes.h
@@ -213,7 +213,7 @@
 /* Breakpoint instruction (ARMv5)
  * Im: 16-bit immediate
  */
-#define ARMV5_BKPT(Im) (0xe1200070 | ((Im & 0xfff0) << 8) | (Im & 0xf))
+#define ARMV5_BKPT(Im) (0xe1200070 | ((Im & 0xfff0) << 4) | (Im & 0xf))
 
 
 /* Thumb mode instructions

-- 


_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to