diff options
author | Gleb Natapov <gleb@redhat.com> | 2013-11-04 03:20:57 -0500 |
---|---|---|
committer | Gleb Natapov <gleb@redhat.com> | 2013-11-04 03:20:57 -0500 |
commit | 95f328d3ad1a8e4e3175a18546fb35c495e31130 (patch) | |
tree | 2f6496ef8354e9a0a315f23faef744f93fee8265 /arch/powerpc/include/asm/processor.h | |
parent | daf727225b8abfdfe424716abac3d15a3ac5626a (diff) | |
parent | a78b55d1c0218b6d91d504941d20e36435c276f5 (diff) |
Merge branch 'kvm-ppc-queue' of git://github.com/agraf/linux-2.6 into queue
Conflicts:
arch/powerpc/include/asm/processor.h
Diffstat (limited to 'arch/powerpc/include/asm/processor.h')
-rw-r--r-- | arch/powerpc/include/asm/processor.h | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/arch/powerpc/include/asm/processor.h b/arch/powerpc/include/asm/processor.h index ce4de5aed7b5..75a9e5a34ef9 100644 --- a/arch/powerpc/include/asm/processor.h +++ b/arch/powerpc/include/asm/processor.h | |||
@@ -147,21 +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 | #ifdef CONFIG_PPC64 | ||
153 | unsigned long ksp_vsid; | ||
154 | #endif | ||
155 | struct pt_regs *regs; /* Pointer to saved register state */ | ||
156 | mm_segment_t fs; /* for get_fs() validation */ | ||
157 | #ifdef CONFIG_BOOKE | ||
158 | /* BookE base exception scratch space; align on cacheline */ | ||
159 | unsigned long normsave[8] ____cacheline_aligned; | ||
160 | #endif | ||
161 | #ifdef CONFIG_PPC32 | ||
162 | void *pgdir; /* root of page-table tree */ | ||
163 | unsigned long ksp_limit; /* if ksp <= ksp_limit stack overflow */ | ||
164 | #endif | ||
165 | #ifdef CONFIG_PPC_ADV_DEBUG_REGS | 151 | #ifdef CONFIG_PPC_ADV_DEBUG_REGS |
166 | /* | 152 | /* |
167 | * The following help to manage the use of Debug Control Registers | 153 | * The following help to manage the use of Debug Control Registers |
@@ -198,6 +184,27 @@ struct thread_struct { | |||
198 | unsigned long dvc2; | 184 | unsigned long dvc2; |
199 | #endif | 185 | #endif |
200 | #endif | 186 | #endif |
187 | }; | ||
188 | |||
189 | struct thread_struct { | ||
190 | unsigned long ksp; /* Kernel stack pointer */ | ||
191 | |||
192 | #ifdef CONFIG_PPC64 | ||
193 | unsigned long ksp_vsid; | ||
194 | #endif | ||
195 | struct pt_regs *regs; /* Pointer to saved register state */ | ||
196 | mm_segment_t fs; /* for get_fs() validation */ | ||
197 | #ifdef CONFIG_BOOKE | ||
198 | /* BookE base exception scratch space; align on cacheline */ | ||
199 | unsigned long normsave[8] ____cacheline_aligned; | ||
200 | #endif | ||
201 | #ifdef CONFIG_PPC32 | ||
202 | void *pgdir; /* root of page-table tree */ | ||
203 | unsigned long ksp_limit; /* if ksp <= ksp_limit stack overflow */ | ||
204 | #endif | ||
205 | /* Debug Registers */ | ||
206 | struct debug_reg debug; | ||
207 | |||
201 | /* FP and VSX 0-31 register set */ | 208 | /* FP and VSX 0-31 register set */ |
202 | double fpr[32][TS_FPRWIDTH] __attribute__((aligned(16))); | 209 | double fpr[32][TS_FPRWIDTH] __attribute__((aligned(16))); |
203 | struct { | 210 | struct { |