diff options
author | Bharat Bhushan <r65777@freescale.com> | 2013-06-26 01:42:22 -0400 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2013-10-17 08:49:38 -0400 |
commit | 95791988fec645d196e746fcc0e329e19f7b1347 (patch) | |
tree | 23c712c6c1ca4bf6aed52a26ebc85a016d9f9297 /arch/powerpc/include/asm/processor.h | |
parent | 6b3e3b310a884958df030760e725d32a79c0c8b4 (diff) |
powerpc: move debug registers in a structure
This way we can use same data type struct with KVM and
also help in using other debug related function.
Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/powerpc/include/asm/processor.h')
-rw-r--r-- | arch/powerpc/include/asm/processor.h | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/arch/powerpc/include/asm/processor.h b/arch/powerpc/include/asm/processor.h index e378cccfca55..b43844442a6c 100644 --- a/arch/powerpc/include/asm/processor.h +++ b/arch/powerpc/include/asm/processor.h | |||
@@ -147,22 +147,7 @@ typedef struct { | |||
147 | #define TS_FPR(i) fpr[i][TS_FPROFFSET] | 147 | #define TS_FPR(i) fpr[i][TS_FPROFFSET] |
148 | #define TS_TRANS_FPR(i) transact_fpr[i][TS_FPROFFSET] | 148 | #define TS_TRANS_FPR(i) transact_fpr[i][TS_FPROFFSET] |
149 | 149 | ||
150 | struct thread_struct { | 150 | struct debug_reg { |
151 | unsigned long ksp; /* Kernel stack pointer */ | ||
152 | unsigned long ksp_limit; /* if ksp <= ksp_limit stack overflow */ | ||
153 | |||
154 | #ifdef CONFIG_PPC64 | ||
155 | unsigned long ksp_vsid; | ||
156 | #endif | ||
157 | struct pt_regs *regs; /* Pointer to saved register state */ | ||
158 | mm_segment_t fs; /* for get_fs() validation */ | ||
159 | #ifdef CONFIG_BOOKE | ||
160 | /* BookE base exception scratch space; align on cacheline */ | ||
161 | unsigned long normsave[8] ____cacheline_aligned; | ||
162 | #endif | ||
163 | #ifdef CONFIG_PPC32 | ||
164 | void *pgdir; /* root of page-table tree */ | ||
165 | #endif | ||
166 | #ifdef CONFIG_PPC_ADV_DEBUG_REGS | 151 | #ifdef CONFIG_PPC_ADV_DEBUG_REGS |
167 | /* | 152 | /* |
168 | * The following help to manage the use of Debug Control Registers | 153 | * The following help to manage the use of Debug Control Registers |
@@ -199,6 +184,27 @@ struct thread_struct { | |||
199 | unsigned long dvc2; | 184 | unsigned long dvc2; |
200 | #endif | 185 | #endif |
201 | #endif | 186 | #endif |
187 | }; | ||
188 | |||
189 | struct thread_struct { | ||
190 | unsigned long ksp; /* Kernel stack pointer */ | ||
191 | unsigned long ksp_limit; /* if ksp <= ksp_limit stack overflow */ | ||
192 | |||
193 | #ifdef CONFIG_PPC64 | ||
194 | unsigned long ksp_vsid; | ||
195 | #endif | ||
196 | struct pt_regs *regs; /* Pointer to saved register state */ | ||
197 | mm_segment_t fs; /* for get_fs() validation */ | ||
198 | #ifdef CONFIG_BOOKE | ||
199 | /* BookE base exception scratch space; align on cacheline */ | ||
200 | unsigned long normsave[8] ____cacheline_aligned; | ||
201 | #endif | ||
202 | #ifdef CONFIG_PPC32 | ||
203 | void *pgdir; /* root of page-table tree */ | ||
204 | #endif | ||
205 | /* Debug Registers */ | ||
206 | struct debug_reg debug; | ||
207 | |||
202 | /* FP and VSX 0-31 register set */ | 208 | /* FP and VSX 0-31 register set */ |
203 | double fpr[32][TS_FPRWIDTH] __attribute__((aligned(16))); | 209 | double fpr[32][TS_FPRWIDTH] __attribute__((aligned(16))); |
204 | struct { | 210 | struct { |