Ignore this. Zhe
On 2018年09月26日 14:33, zhe...@windriver.com wrote: > From: Sebastian Andrzej Siewior <bige...@linutronix.de> > > The powerpc port won't compile and abort with "Error: operand out of > range" because the TIF_NEED_RESCHED_LAZY uses bit 20 which is larger > than 15 which is the upper limit. > Swap it with TIF_32BIT and fixup the assembly in one assembly file to > get it to compile again. > > Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de> > > To fix the following build error for powerpc, backport a commit released with > v4.18.5-rt3. > arch/powerpc/kernel/entry_32.S: Assembler messages: > arch/powerpc/kernel/entry_32.S:384: Error: operand out of range > (0x000000000010ffef is not between 0x0000000000000000 and 0x000000000000ffff) > ... > > (LOCAL REV: NOT UPSTREAM -- Backport from > https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git/commit/?h=linux-4.18.y-rt&id=7bcb4eb241e37d111cbca61a86ea0da180a6f2b3 > ) > > Signed-off-by: He Zhe <zhe...@windriver.com> > --- > This is for preempt-rt/base. > > arch/powerpc/include/asm/thread_info.h | 4 ++-- > arch/powerpc/kernel/entry_64.S | 2 +- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/arch/powerpc/include/asm/thread_info.h > b/arch/powerpc/include/asm/thread_info.h > index 4317598..15c2c09 100644 > --- a/arch/powerpc/include/asm/thread_info.h > +++ b/arch/powerpc/include/asm/thread_info.h > @@ -82,7 +82,7 @@ extern int arch_dup_task_struct(struct task_struct *dst, > struct task_struct *src > #define TIF_SIGPENDING 1 /* signal pending */ > #define TIF_NEED_RESCHED 2 /* rescheduling necessary */ > #define TIF_FSCHECK 3 /* Check FS is USER_DS on return */ > -#define TIF_32BIT 4 /* 32 bit binary */ > +#define TIF_NEED_RESCHED_LAZY 4 /* lazy rescheduling necessary > */ > #define TIF_RESTORE_TM 5 /* need to restore TM > FP/VEC/VSX */ > #define TIF_PATCH_PENDING 6 /* pending live patching update */ > #define TIF_SYSCALL_AUDIT 7 /* syscall auditing active */ > @@ -101,7 +101,7 @@ extern int arch_dup_task_struct(struct task_struct *dst, > struct task_struct *src > #define TIF_ELF2ABI 18 /* function descriptors must die! */ > #endif > #define TIF_POLLING_NRFLAG 19 /* true if poll_idle() is polling > TIF_NEED_RESCHED */ > -#define TIF_NEED_RESCHED_LAZY 20 /* lazy rescheduling necessary > */ > +#define TIF_32BIT 20 /* 32 bit binary */ > > /* as above, but as bit values */ > #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) > diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S > index 0c519f5..9a2e564 100644 > --- a/arch/powerpc/kernel/entry_64.S > +++ b/arch/powerpc/kernel/entry_64.S > @@ -168,7 +168,7 @@ system_call: /* label this so stack > traces look sane */ > * based on caller's run-mode / personality. > */ > ld r11,SYS_CALL_TABLE@toc(2) > - andi. r10,r10,_TIF_32BIT > + andis. r10,r10,_TIF_32BIT@h > beq 15f > addi r11,r11,8 /* use 32-bit syscall entries */ > clrldi r3,r3,32 -- _______________________________________________ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto