aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kuo <rkuo@codeaurora.org>2012-05-10 17:40:14 -0500
committerRichard Kuo <rkuo@codeaurora.org>2013-04-30 19:40:23 -0500
commit444dd742d3b0353c55c92f77e6732d932120c829 (patch)
treee63ce019a3dc00cc12b03234afc8b792d00b6e63
parente470d932ce7f998aeab788fdc7b49ef26e76b4eb (diff)
downloadlinux-linaro-stable-444dd742d3b0353c55c92f77e6732d932120c829.tar.gz
Hexagon: add individual register access for switch_stack
Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
-rw-r--r--arch/hexagon/include/asm/processor.h49
1 files changed, 43 insertions, 6 deletions
diff --git a/arch/hexagon/include/asm/processor.h b/arch/hexagon/include/asm/processor.h
index 6dd5d3706869..758bcd1f290c 100644
--- a/arch/hexagon/include/asm/processor.h
+++ b/arch/hexagon/include/asm/processor.h
@@ -100,12 +100,49 @@ extern unsigned long get_wchan(struct task_struct *p);
*/
struct hexagon_switch_stack {
- unsigned long long r1716;
- unsigned long long r1918;
- unsigned long long r2120;
- unsigned long long r2322;
- unsigned long long r2524;
- unsigned long long r2726;
+ union {
+ struct {
+ unsigned long r16;
+ unsigned long r17;
+ };
+ unsigned long long r1716;
+ };
+ union {
+ struct {
+ unsigned long r18;
+ unsigned long r19;
+ };
+ unsigned long long r1918;
+ };
+ union {
+ struct {
+ unsigned long r20;
+ unsigned long r21;
+ };
+ unsigned long long r2120;
+ };
+ union {
+ struct {
+ unsigned long r22;
+ unsigned long r23;
+ };
+ unsigned long long r2322;
+ };
+ union {
+ struct {
+ unsigned long r24;
+ unsigned long r25;
+ };
+ unsigned long long r2524;
+ };
+ union {
+ struct {
+ unsigned long r26;
+ unsigned long r27;
+ };
+ unsigned long long r2726;
+ };
+
unsigned long fp;
unsigned long lr;
};