From 37299b2b5809fa9a3bd531ca3e2528085e095a0e Mon Sep 17 00:00:00 2001
From: Spencer Oliver <spen@spen-soft.co.uk>
Date: Tue, 23 Apr 2013 12:15:07 +0100
Subject: [PATCH] arm: fix arm reg regression

Seems commit fc2abe63fd3cea7497da7be2955d333bd3f800b9 caused a regression
in that the arm reg cmd no longer worked. The issue was caused because we
changed the value of ARM_MODE_THREAD which was being checked in arm_init_arch_info.

Change-Id: Id571d4ab336d1b0e2b93363147af245d24b65ca5
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/1362
Tested-by: jenkins
Reviewed-by: Luca Bruno <lucab@debian.org>
Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
---
 src/target/arm11.c         | 1 +
 src/target/arm7_9_common.c | 1 +
 src/target/xscale.c        | 1 +
 3 files changed, 3 insertions(+)

diff --git a/src/target/arm11.c b/src/target/arm11.c
index 26e8116f6..2e0fd2381 100644
--- a/src/target/arm11.c
+++ b/src/target/arm11.c
@@ -1094,6 +1094,7 @@ static int arm11_target_create(struct target *target, Jim_Interp *interp)
 	if (!arm11)
 		return ERROR_FAIL;
 
+	arm11->arm.core_type = ARM_MODE_ANY;
 	arm_init_arch_info(target, &arm11->arm);
 
 	arm11->jtag_info.tap = target->tap;
diff --git a/src/target/arm7_9_common.c b/src/target/arm7_9_common.c
index faeed0d24..07beef51d 100644
--- a/src/target/arm7_9_common.c
+++ b/src/target/arm7_9_common.c
@@ -2806,6 +2806,7 @@ int arm7_9_init_arch_info(struct target *target, struct arm7_9_common *arm7_9)
 	arm7_9->dcc_downloads = false;
 
 	arm->arch_info = arm7_9;
+	arm->core_type = ARM_MODE_ANY;
 	arm->read_core_reg = arm7_9_read_core_reg;
 	arm->write_core_reg = arm7_9_write_core_reg;
 	arm->full_context = arm7_9_full_context;
diff --git a/src/target/xscale.c b/src/target/xscale.c
index 5e9c59823..3fe8f013c 100644
--- a/src/target/xscale.c
+++ b/src/target/xscale.c
@@ -2997,6 +2997,7 @@ static int xscale_init_arch_info(struct target *target,
 
 	/* prepare ARMv4/5 specific information */
 	arm->arch_info = xscale;
+	arm->core_type = ARM_MODE_ANY;
 	arm->read_core_reg = xscale_read_core_reg;
 	arm->write_core_reg = xscale_write_core_reg;
 	arm->full_context = xscale_full_context;
-- 
GitLab