process.c (db985cbd67c45f875ef43cb5febfaa8cbd203c27) | process.c (e1802b065d189cdfa25eaf6d019c222a91618b9c) |
---|---|
1/* 2 * Derived from "arch/i386/kernel/process.c" 3 * Copyright (C) 1995 Linus Torvalds 4 * 5 * Updated and modified by Cort Dougan (cort@cs.nmt.edu) and 6 * Paul Mackerras (paulus@cs.anu.edu.au) 7 * 8 * PowerPC version --- 214 unchanged lines hidden (view full) --- 223#endif 224 225void giveup_vsx(struct task_struct *tsk) 226{ 227 giveup_fpu_maybe_transactional(tsk); 228 giveup_altivec_maybe_transactional(tsk); 229 __giveup_vsx(tsk); 230} | 1/* 2 * Derived from "arch/i386/kernel/process.c" 3 * Copyright (C) 1995 Linus Torvalds 4 * 5 * Updated and modified by Cort Dougan (cort@cs.nmt.edu) and 6 * Paul Mackerras (paulus@cs.anu.edu.au) 7 * 8 * PowerPC version --- 214 unchanged lines hidden (view full) --- 223#endif 224 225void giveup_vsx(struct task_struct *tsk) 226{ 227 giveup_fpu_maybe_transactional(tsk); 228 giveup_altivec_maybe_transactional(tsk); 229 __giveup_vsx(tsk); 230} |
231EXPORT_SYMBOL(giveup_vsx); |
|
231 232void flush_vsx_to_thread(struct task_struct *tsk) 233{ 234 if (tsk->thread.regs) { 235 preempt_disable(); 236 if (tsk->thread.regs->msr & MSR_VSX) { 237#ifdef CONFIG_SMP 238 BUG_ON(tsk != current); --- 1072 unchanged lines hidden (view full) --- 1311#ifdef CONFIG_PPC_TRANSACTIONAL_MEM 1312 if (cpu_has_feature(CPU_FTR_TM)) 1313 regs->msr |= MSR_TM; 1314 current->thread.tm_tfhar = 0; 1315 current->thread.tm_texasr = 0; 1316 current->thread.tm_tfiar = 0; 1317#endif /* CONFIG_PPC_TRANSACTIONAL_MEM */ 1318} | 232 233void flush_vsx_to_thread(struct task_struct *tsk) 234{ 235 if (tsk->thread.regs) { 236 preempt_disable(); 237 if (tsk->thread.regs->msr & MSR_VSX) { 238#ifdef CONFIG_SMP 239 BUG_ON(tsk != current); --- 1072 unchanged lines hidden (view full) --- 1312#ifdef CONFIG_PPC_TRANSACTIONAL_MEM 1313 if (cpu_has_feature(CPU_FTR_TM)) 1314 regs->msr |= MSR_TM; 1315 current->thread.tm_tfhar = 0; 1316 current->thread.tm_texasr = 0; 1317 current->thread.tm_tfiar = 0; 1318#endif /* CONFIG_PPC_TRANSACTIONAL_MEM */ 1319} |
1320EXPORT_SYMBOL(start_thread); |
|
1319 1320#define PR_FP_ALL_EXCEPT (PR_FP_EXC_DIV | PR_FP_EXC_OVF | PR_FP_EXC_UND \ 1321 | PR_FP_EXC_RES | PR_FP_EXC_INV) 1322 1323int set_fpexc_mode(struct task_struct *tsk, unsigned int val) 1324{ 1325 struct pt_regs *regs = tsk->thread.regs; 1326 --- 348 unchanged lines hidden --- | 1321 1322#define PR_FP_ALL_EXCEPT (PR_FP_EXC_DIV | PR_FP_EXC_OVF | PR_FP_EXC_UND \ 1323 | PR_FP_EXC_RES | PR_FP_EXC_INV) 1324 1325int set_fpexc_mode(struct task_struct *tsk, unsigned int val) 1326{ 1327 struct pt_regs *regs = tsk->thread.regs; 1328 --- 348 unchanged lines hidden --- |