aboutsummaryrefslogtreecommitdiffstats
path: root/arch/hexagon
diff options
context:
space:
mode:
authorRichard Kuo <rkuo@codeaurora.org>2012-05-10 18:40:14 -0400
committerRichard Kuo <rkuo@codeaurora.org>2013-04-30 20:40:23 -0400
commit444dd742d3b0353c55c92f77e6732d932120c829 (patch)
treee63ce019a3dc00cc12b03234afc8b792d00b6e63 /arch/hexagon
parente470d932ce7f998aeab788fdc7b49ef26e76b4eb (diff)
Hexagon: add individual register access for switch_stack
Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Diffstat (limited to 'arch/hexagon')
-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);
100 */ 100 */
101 101
102struct hexagon_switch_stack { 102struct hexagon_switch_stack {
103 unsigned long long r1716; 103 union {
104 unsigned long long r1918; 104 struct {
105 unsigned long long r2120; 105 unsigned long r16;
106 unsigned long long r2322; 106 unsigned long r17;
107 unsigned long long r2524; 107 };
108 unsigned long long r2726; 108 unsigned long long r1716;
109 };
110 union {
111 struct {
112 unsigned long r18;
113 unsigned long r19;
114 };
115 unsigned long long r1918;
116 };
117 union {
118 struct {
119 unsigned long r20;
120 unsigned long r21;
121 };
122 unsigned long long r2120;
123 };
124 union {
125 struct {
126 unsigned long r22;
127 unsigned long r23;
128 };
129 unsigned long long r2322;
130 };
131 union {
132 struct {
133 unsigned long r24;
134 unsigned long r25;
135 };
136 unsigned long long r2524;
137 };
138 union {
139 struct {
140 unsigned long r26;
141 unsigned long r27;
142 };
143 unsigned long long r2726;
144 };
145
109 unsigned long fp; 146 unsigned long fp;
110 unsigned long lr; 147 unsigned long lr;
111}; 148};