X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fpowerpc%2Fkernel%2Fprocess.c;h=5e8b8aeed04504d227b667f099d51f02e263880b;hb=9464c7cf61b9433057924c36e6e02f303a00e768;hp=f5e91f0ec87a68060c5e0c7b825ebcab26c23654;hpb=41689045f6a3cbe0550e1d34e9cc20d2e8c432ba;p=linux-2.6.git diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c index f5e91f0ec..5e8b8aeed 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c @@ -14,6 +14,7 @@ * 2 of the License, or (at your option) any later version. */ +#include #include #include #include @@ -708,61 +709,6 @@ int get_fpexc_mode(struct task_struct *tsk, unsigned long adr) return put_user(val, (unsigned int __user *) adr); } -int set_endian(struct task_struct *tsk, unsigned int val) -{ - struct pt_regs *regs = tsk->thread.regs; - - if ((val == PR_ENDIAN_LITTLE && !cpu_has_feature(CPU_FTR_REAL_LE)) || - (val == PR_ENDIAN_PPC_LITTLE && !cpu_has_feature(CPU_FTR_PPC_LE))) - return -EINVAL; - - if (regs == NULL) - return -EINVAL; - - if (val == PR_ENDIAN_BIG) - regs->msr &= ~MSR_LE; - else if (val == PR_ENDIAN_LITTLE || val == PR_ENDIAN_PPC_LITTLE) - regs->msr |= MSR_LE; - else - return -EINVAL; - - return 0; -} - -int get_endian(struct task_struct *tsk, unsigned long adr) -{ - struct pt_regs *regs = tsk->thread.regs; - unsigned int val; - - if (!cpu_has_feature(CPU_FTR_PPC_LE) && - !cpu_has_feature(CPU_FTR_REAL_LE)) - return -EINVAL; - - if (regs == NULL) - return -EINVAL; - - if (regs->msr & MSR_LE) { - if (cpu_has_feature(CPU_FTR_REAL_LE)) - val = PR_ENDIAN_LITTLE; - else - val = PR_ENDIAN_PPC_LITTLE; - } else - val = PR_ENDIAN_BIG; - - return put_user(val, (unsigned int __user *)adr); -} - -int set_unalign_ctl(struct task_struct *tsk, unsigned int val) -{ - tsk->thread.align_ctl = val; - return 0; -} - -int get_unalign_ctl(struct task_struct *tsk, unsigned long adr) -{ - return put_user(tsk->thread.align_ctl, (unsigned int __user *)adr); -} - #define TRUNC_PTR(x) ((typeof(x))(((unsigned long)(x)) & 0xffffffff)) int sys_clone(unsigned long clone_flags, unsigned long usp,