cortex_a: add 'dacrfixup' to cortex-a command group
work around issues with software breakpoints when the text segment is mapped read-only by the OS. Set DACR to "all-manager" to bypass TLB permission checks on memory access. Change-Id: I79fd9b32b04a4d538d489896470ee30b26b72b30 Signed-off-by: Matthias Welwarsky <matthias@welwarsky.de> Reviewed-on: http://openocd.zylin.com/3107 Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com>
This commit is contained in:
committed by
Andreas Fritiofson
parent
082417fc71
commit
5bee7f5b2c
@@ -60,6 +60,11 @@ enum cortex_a_isrmasking_mode {
|
||||
CORTEX_A_ISRMASK_ON,
|
||||
};
|
||||
|
||||
enum cortex_a_dacrfixup_mode {
|
||||
CORTEX_A_DACRFIXUP_OFF,
|
||||
CORTEX_A_DACRFIXUP_ON
|
||||
};
|
||||
|
||||
struct cortex_a_brp {
|
||||
int used;
|
||||
int type;
|
||||
@@ -78,9 +83,12 @@ struct cortex_a_common {
|
||||
uint32_t cp15_control_reg;
|
||||
/* latest cp15 register value written and cpsr processor mode */
|
||||
uint32_t cp15_control_reg_curr;
|
||||
/* auxiliary control reg */
|
||||
uint32_t cp15_aux_control_reg;
|
||||
/* DACR */
|
||||
uint32_t cp15_dacr_reg;
|
||||
enum arm_mode curr_mode;
|
||||
|
||||
|
||||
/* Breakpoint register pairs */
|
||||
int brp_num_context;
|
||||
int brp_num;
|
||||
@@ -96,6 +104,7 @@ struct cortex_a_common {
|
||||
uint32_t didr;
|
||||
|
||||
enum cortex_a_isrmasking_mode isrmasking_mode;
|
||||
enum cortex_a_dacrfixup_mode dacrfixup_mode;
|
||||
|
||||
struct armv7a_common armv7a_common;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user