diff options
author | Richard Kuo <rkuo@codeaurora.org> | 2012-03-27 18:38:09 -0400 |
---|---|---|
committer | Richard Kuo <rkuo@codeaurora.org> | 2013-04-30 20:40:23 -0400 |
commit | 60c4ba99e015afe879c2682967c8ca8d233f6d3c (patch) | |
tree | ddf41e569dd852c627ad8008b756d224694861c5 /arch/hexagon/include | |
parent | 444dd742d3b0353c55c92f77e6732d932120c829 (diff) |
Hexagon: add support for new v4+ registers
Add support for a couple new v4+ registers, along with
newer save/restore pt_regs.
Signed-off-by: Richard Kuo <rkuo@codeaurora.org>
Diffstat (limited to 'arch/hexagon/include')
-rw-r--r-- | arch/hexagon/include/uapi/asm/registers.h | 11 | ||||
-rw-r--r-- | arch/hexagon/include/uapi/asm/user.h | 6 |
2 files changed, 15 insertions, 2 deletions
diff --git a/arch/hexagon/include/uapi/asm/registers.h b/arch/hexagon/include/uapi/asm/registers.h index c20406f63b5c..80504155ca3a 100644 --- a/arch/hexagon/include/uapi/asm/registers.h +++ b/arch/hexagon/include/uapi/asm/registers.h | |||
@@ -57,10 +57,17 @@ struct pt_regs { | |||
57 | }; | 57 | }; |
58 | union { | 58 | union { |
59 | struct { | 59 | struct { |
60 | unsigned long gp; | ||
61 | unsigned long ugp; | 60 | unsigned long ugp; |
61 | unsigned long gp; | ||
62 | }; | ||
63 | long long int gpugp; | ||
64 | }; | ||
65 | union { | ||
66 | struct { | ||
67 | unsigned long cs0; | ||
68 | unsigned long cs1; | ||
62 | }; | 69 | }; |
63 | long long int ugpgp; | 70 | long long int cs1cs0; |
64 | }; | 71 | }; |
65 | /* | 72 | /* |
66 | * Be extremely careful with rearranging these, if at all. Some code | 73 | * Be extremely careful with rearranging these, if at all. Some code |
diff --git a/arch/hexagon/include/uapi/asm/user.h b/arch/hexagon/include/uapi/asm/user.h index cef13ee1413f..3dae94d9ced7 100644 --- a/arch/hexagon/include/uapi/asm/user.h +++ b/arch/hexagon/include/uapi/asm/user.h | |||
@@ -55,9 +55,15 @@ struct user_regs_struct { | |||
55 | unsigned long pc; | 55 | unsigned long pc; |
56 | unsigned long cause; | 56 | unsigned long cause; |
57 | unsigned long badva; | 57 | unsigned long badva; |
58 | #if CONFIG_HEXAGON_ARCH_VERSION < 4 | ||
58 | unsigned long pad1; /* pad out to 48 words total */ | 59 | unsigned long pad1; /* pad out to 48 words total */ |
59 | unsigned long pad2; /* pad out to 48 words total */ | 60 | unsigned long pad2; /* pad out to 48 words total */ |
60 | unsigned long pad3; /* pad out to 48 words total */ | 61 | unsigned long pad3; /* pad out to 48 words total */ |
62 | #else | ||
63 | unsigned long cs0; | ||
64 | unsigned long cs1; | ||
65 | unsigned long pad1; /* pad out to 48 words total */ | ||
66 | #endif | ||
61 | }; | 67 | }; |
62 | 68 | ||
63 | #endif | 69 | #endif |