diff options
author | Richard Kuo <rkuo@codeaurora.org> | 2012-05-10 17:40:14 -0500 |
---|---|---|
committer | Richard Kuo <rkuo@codeaurora.org> | 2013-04-30 19:40:23 -0500 |
commit | 444dd742d3b0353c55c92f77e6732d932120c829 (patch) | |
tree | e63ce019a3dc00cc12b03234afc8b792d00b6e63 | |
parent | e470d932ce7f998aeab788fdc7b49ef26e76b4eb (diff) | |
download | op-kernel-dev-444dd742d3b0353c55c92f77e6732d932120c829.zip op-kernel-dev-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.h | 49 |
1 files changed, 43 insertions, 6 deletions
diff --git a/arch/hexagon/include/asm/processor.h b/arch/hexagon/include/asm/processor.h index 6dd5d37..758bcd1 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; }; |