diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-29 11:19:14 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-29 11:19:14 -0400 |
| commit | 867a89e0b73af48838c7987e80899a1ff26dd6ff (patch) | |
| tree | b4a8830b3e880b9a5133ad1ec3106665819cc8d4 /include/asm-powerpc/processor.h | |
| parent | 44473d991332053eb3fea1e08f8a6ee2c6fb409c (diff) | |
| parent | 6c39103ce5192bdb2195f3daab7323dfa44fb52e (diff) | |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
[RAPIDIO] Change RapidIO doorbell source and target ID field to 16-bit
[RAPIDIO] Add RapidIO connection info print out and re-training for broken connections
[RAPIDIO] Add serial RapidIO controller support, which includes MPC8548, MPC8641
[RAPIDIO] Add RapidIO node probing into MPC86xx_HPCN board id table
[RAPIDIO] Add RapidIO node into MPC8641HPCN dts file
[RAPIDIO] Auto-probe the RapidIO system size
[RAPIDIO] Add OF-tree support to RapidIO controller driver
[RAPIDIO] Add RapidIO multi mport support
[RAPIDIO] Move include/asm-ppc/rio.h to asm-powerpc
[RAPIDIO] Add RapidIO option to kernel configuration
[RAPIDIO] Change RIO function mpc85xx_ to fsl_
[POWERPC] Provide walk_memory_resource() for powerpc
[POWERPC] Update lmb data structures for hotplug memory add/remove
[POWERPC] Hotplug memory remove notifications for powerpc
[POWERPC] windfarm: Add PowerMac 12,1 support
[POWERPC] Fix building of pmac32 when CONFIG_NVRAM=m
[POWERPC] Add IRQSTACKS support on ppc32
[POWERPC] Use __always_inline for xchg* and cmpxchg*
[POWERPC] Add fast little-endian switch system call
Diffstat (limited to 'include/asm-powerpc/processor.h')
| -rw-r--r-- | include/asm-powerpc/processor.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/asm-powerpc/processor.h b/include/asm-powerpc/processor.h index fd98ca998b4f..cf83f2d7e2a5 100644 --- a/include/asm-powerpc/processor.h +++ b/include/asm-powerpc/processor.h | |||
| @@ -138,6 +138,8 @@ typedef struct { | |||
| 138 | 138 | ||
| 139 | struct thread_struct { | 139 | struct thread_struct { |
| 140 | unsigned long ksp; /* Kernel stack pointer */ | 140 | unsigned long ksp; /* Kernel stack pointer */ |
| 141 | unsigned long ksp_limit; /* if ksp <= ksp_limit stack overflow */ | ||
| 142 | |||
| 141 | #ifdef CONFIG_PPC64 | 143 | #ifdef CONFIG_PPC64 |
| 142 | unsigned long ksp_vsid; | 144 | unsigned long ksp_vsid; |
| 143 | #endif | 145 | #endif |
| @@ -182,11 +184,14 @@ struct thread_struct { | |||
| 182 | #define ARCH_MIN_TASKALIGN 16 | 184 | #define ARCH_MIN_TASKALIGN 16 |
| 183 | 185 | ||
| 184 | #define INIT_SP (sizeof(init_stack) + (unsigned long) &init_stack) | 186 | #define INIT_SP (sizeof(init_stack) + (unsigned long) &init_stack) |
| 187 | #define INIT_SP_LIMIT \ | ||
| 188 | (_ALIGN_UP(sizeof(init_thread_info), 16) + (unsigned long) &init_stack) | ||
| 185 | 189 | ||
| 186 | 190 | ||
| 187 | #ifdef CONFIG_PPC32 | 191 | #ifdef CONFIG_PPC32 |
| 188 | #define INIT_THREAD { \ | 192 | #define INIT_THREAD { \ |
| 189 | .ksp = INIT_SP, \ | 193 | .ksp = INIT_SP, \ |
| 194 | .ksp_limit = INIT_SP_LIMIT, \ | ||
| 190 | .fs = KERNEL_DS, \ | 195 | .fs = KERNEL_DS, \ |
| 191 | .pgdir = swapper_pg_dir, \ | 196 | .pgdir = swapper_pg_dir, \ |
| 192 | .fpexc_mode = MSR_FE0 | MSR_FE1, \ | 197 | .fpexc_mode = MSR_FE0 | MSR_FE1, \ |
| @@ -194,6 +199,7 @@ struct thread_struct { | |||
| 194 | #else | 199 | #else |
| 195 | #define INIT_THREAD { \ | 200 | #define INIT_THREAD { \ |
| 196 | .ksp = INIT_SP, \ | 201 | .ksp = INIT_SP, \ |
| 202 | .ksp_limit = INIT_SP_LIMIT, \ | ||
| 197 | .regs = (struct pt_regs *)INIT_SP - 1, /* XXX bogus, I think */ \ | 203 | .regs = (struct pt_regs *)INIT_SP - 1, /* XXX bogus, I think */ \ |
| 198 | .fs = KERNEL_DS, \ | 204 | .fs = KERNEL_DS, \ |
| 199 | .fpr = {0}, \ | 205 | .fpr = {0}, \ |
