diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-24 03:26:34 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-24 03:26:34 -0400 |
| commit | bd45fe539f0e26ff8d76b4cb954195ab8a6467af (patch) | |
| tree | 515fb9c7280c7ec98a3e0c58f3af93548e88ee4f /arch/powerpc/kernel/process.c | |
| parent | e1f1f07334e73fbe53fd8432f57846d5a1b90b5a (diff) | |
| parent | 314b389b1795286400f109a25e9c2f02ab3b9b15 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
* git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (25 commits)
powerpc: Fix config dependency problem with MPIC_U3_HT_IRQS
via-pmu: Add compat_pmu_ioctl
powerpc: Wire up fanotify_init, fanotify_mark, prlimit64 syscalls
powerpc/pci: Fix checking for child bridges in PCI code.
powerpc: Fix typo in uImage target
powerpc: Initialise paca->kstack before early_setup_secondary
powerpc: Fix bogus it_blocksize in VIO iommu code
powerpc: Inline ppc64_runlatch_off
powerpc: Correct smt_enabled=X boot option for > 2 threads per core
powerpc: Silence xics_migrate_irqs_away() during cpu offline
powerpc: Silence __cpu_up() under normal operation
powerpc: Re-enable preemption before cpu_die()
powerpc/pci: Drop unnecessary null test
powerpc/powermac: Drop unnecessary null test
powerpc/powermac: Drop unnecessary of_node_put
powerpc/kdump: Stop all other CPUs before running crash handlers
powerpc/mm: Fix vsid_scrample typo
powerpc: Use is_32bit_task() helper to test 32 bit binary
powerpc: Export memstart_addr and kernstart_addr on ppc64
powerpc: Make rwsem use "long" type
...
Diffstat (limited to 'arch/powerpc/kernel/process.c')
| -rw-r--r-- | arch/powerpc/kernel/process.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c index 91356ffda2ca..b1c648a36b03 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c | |||
| @@ -728,7 +728,7 @@ int copy_thread(unsigned long clone_flags, unsigned long usp, | |||
| 728 | p->thread.regs = childregs; | 728 | p->thread.regs = childregs; |
| 729 | if (clone_flags & CLONE_SETTLS) { | 729 | if (clone_flags & CLONE_SETTLS) { |
| 730 | #ifdef CONFIG_PPC64 | 730 | #ifdef CONFIG_PPC64 |
| 731 | if (!test_thread_flag(TIF_32BIT)) | 731 | if (!is_32bit_task()) |
| 732 | childregs->gpr[13] = childregs->gpr[6]; | 732 | childregs->gpr[13] = childregs->gpr[6]; |
| 733 | else | 733 | else |
| 734 | #endif | 734 | #endif |
| @@ -823,7 +823,7 @@ void start_thread(struct pt_regs *regs, unsigned long start, unsigned long sp) | |||
| 823 | regs->nip = start; | 823 | regs->nip = start; |
| 824 | regs->msr = MSR_USER; | 824 | regs->msr = MSR_USER; |
| 825 | #else | 825 | #else |
| 826 | if (!test_thread_flag(TIF_32BIT)) { | 826 | if (!is_32bit_task()) { |
| 827 | unsigned long entry, toc; | 827 | unsigned long entry, toc; |
| 828 | 828 | ||
| 829 | /* start is a relocated pointer to the function descriptor for | 829 | /* start is a relocated pointer to the function descriptor for |
| @@ -995,7 +995,7 @@ int sys_clone(unsigned long clone_flags, unsigned long usp, | |||
| 995 | if (usp == 0) | 995 | if (usp == 0) |
| 996 | usp = regs->gpr[1]; /* stack pointer for child */ | 996 | usp = regs->gpr[1]; /* stack pointer for child */ |
| 997 | #ifdef CONFIG_PPC64 | 997 | #ifdef CONFIG_PPC64 |
| 998 | if (test_thread_flag(TIF_32BIT)) { | 998 | if (is_32bit_task()) { |
| 999 | parent_tidp = TRUNC_PTR(parent_tidp); | 999 | parent_tidp = TRUNC_PTR(parent_tidp); |
| 1000 | child_tidp = TRUNC_PTR(child_tidp); | 1000 | child_tidp = TRUNC_PTR(child_tidp); |
| 1001 | } | 1001 | } |
| @@ -1199,19 +1199,17 @@ void ppc64_runlatch_on(void) | |||
| 1199 | } | 1199 | } |
| 1200 | } | 1200 | } |
| 1201 | 1201 | ||
| 1202 | void ppc64_runlatch_off(void) | 1202 | void __ppc64_runlatch_off(void) |
| 1203 | { | 1203 | { |
| 1204 | unsigned long ctrl; | 1204 | unsigned long ctrl; |
| 1205 | 1205 | ||
| 1206 | if (cpu_has_feature(CPU_FTR_CTRL) && test_thread_flag(TIF_RUNLATCH)) { | 1206 | HMT_medium(); |
| 1207 | HMT_medium(); | ||
| 1208 | 1207 | ||
| 1209 | clear_thread_flag(TIF_RUNLATCH); | 1208 | clear_thread_flag(TIF_RUNLATCH); |
| 1210 | 1209 | ||
| 1211 | ctrl = mfspr(SPRN_CTRLF); | 1210 | ctrl = mfspr(SPRN_CTRLF); |
| 1212 | ctrl &= ~CTRL_RUNLATCH; | 1211 | ctrl &= ~CTRL_RUNLATCH; |
| 1213 | mtspr(SPRN_CTRLT, ctrl); | 1212 | mtspr(SPRN_CTRLT, ctrl); |
| 1214 | } | ||
| 1215 | } | 1213 | } |
| 1216 | #endif | 1214 | #endif |
| 1217 | 1215 | ||
