Hexagon: add individual register access for switch_stack
authorRichard Kuo <rkuo@codeaurora.org>
Thu, 10 May 2012 22:40:14 +0000 (17:40 -0500)
committerRichard Kuo <rkuo@codeaurora.org>
Wed, 1 May 2013 00:40:23 +0000 (19:40 -0500)
Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
arch/hexagon/include/asm/processor.h

index 6dd5d37068698bd4bcb161f50dac5dcf9de93658..758bcd1f290c2e737c027f39e1e3ff10b27b8c72 100644 (file)
@@ -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;
 };