From: Benjamin Herrenschmidt Date: Tue, 27 Aug 2013 05:03:30 +0000 (+1000) Subject: Merge branch 'merge' into next X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=3f1f4311881b330a7b5429dd101e676df191b159;p=deliverable%2Flinux.git Merge branch 'merge' into next Merge stuff that already went into Linus via "merge" which are pre-reqs for subsequent patches --- 3f1f4311881b330a7b5429dd101e676df191b159 diff --cc arch/powerpc/include/asm/switch_to.h index 2c7edde8f1bb,294c2cedcf7a..2be5618cdec6 --- a/arch/powerpc/include/asm/switch_to.h +++ b/arch/powerpc/include/asm/switch_to.h @@@ -15,9 -15,21 +15,18 @@@ extern struct task_struct *__switch_to( struct thread_struct; extern struct task_struct *_switch(struct thread_struct *prev, struct thread_struct *next); + #ifdef CONFIG_PPC_BOOK3S_64 + static inline void save_tar(struct thread_struct *prev) + { + if (cpu_has_feature(CPU_FTR_ARCH_207S)) + prev->tar = mfspr(SPRN_TAR); + } + #else + static inline void save_tar(struct thread_struct *prev) {} + #endif -extern void giveup_fpu(struct task_struct *); extern void load_up_fpu(void); -extern void disable_kernel_fp(void); extern void enable_kernel_fp(void); -extern void flush_fp_to_thread(struct task_struct *); extern void enable_kernel_altivec(void); extern void load_up_altivec(struct task_struct *); extern int emulate_altivec(struct pt_regs *); diff --cc arch/powerpc/kernel/exceptions-64s.S index 17f761dccb7a,902ca3c6b4b6..3a9ed6ac224b --- a/arch/powerpc/kernel/exceptions-64s.S +++ b/arch/powerpc/kernel/exceptions-64s.S @@@ -851,11 -844,11 +851,11 @@@ facility_unavailable_relon_trampoline EXCEPTION_PROLOG_0(PACA_EXGEN) b facility_unavailable_relon_pSeries -hv_facility_unavailable_relon_trampoline: . = 0x4f80 +hv_facility_unavailable_relon_trampoline: SET_SCRATCH0(r13) EXCEPTION_PROLOG_0(PACA_EXGEN) - b facility_unavailable_relon_hv + b hv_facility_unavailable_relon_hv STD_RELON_EXCEPTION_PSERIES(0x5300, 0x1300, instruction_breakpoint) #ifdef CONFIG_PPC_DENORMALISATION