linux/arch/powerpc
Breno Leitao 16d7c69c89 powerpc: Redefine TIF_32BITS thread flag
Moving TIF_32BIT to use bit 20 instead of 4 in the task flag field.

This change is making room for an upcoming new task macro
(_TIF_SYSCALL_EMU) which is preferred to set a bit in the lower 16-bits
part of the word.

This upcoming flag macro will take part in a composed macro
(_TIF_SYSCALL_DOTRACE) which will contain other flags as well, and it is
preferred that the whole _TIF_SYSCALL_DOTRACE macro only sets the lower 16
bits of a word, so, it could be handled using immediate operations (as load
immediate, add immediate, ...) where the immediate operand (SI) is limited
to 16-bits.

Another possible solution would be using the LOAD_REG_IMMEDIATE() macro
to load a full 64-bits word immediate, but it takes 5 operations instead of
one.

Having TIF_32BITS being redefined to use an upper bit is not a problem
since there is only one place in the assembly code where TIF_32BIT is being
used, and it could be replaced with an operation with right shift (addis),
since it is used alone, i.e. not being part of a composed macro, which has
different bits set, and would require LOAD_REG_IMMEDIATE().

Tested on a 64 bits Big Endian machine running a 32 bits task.

Signed-off-by: Breno Leitao <leitao@debian.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2018-10-03 15:40:04 +10:00
..
boot powerpc/boot: Ensure _zimage_start is a weak symbol 2018-09-19 22:08:12 +10:00
configs powerpc/configs: Update skiroot defconfig 2018-09-19 22:08:12 +10:00
crypto powerpc updates for 4.19 2018-08-17 11:32:50 -07:00
include powerpc: Redefine TIF_32BITS thread flag 2018-10-03 15:40:04 +10:00
kernel powerpc: Redefine TIF_32BITS thread flag 2018-10-03 15:40:04 +10:00
kvm PPC KVM fixes for 4.19 2018-09-04 21:12:46 +02:00
lib powerpc/64: Remove static branch hints from memset() 2018-09-17 21:17:25 +10:00
math-emu License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mm arch/powerpc/mm/hash: validate the pte entries before handling the hash fault 2018-10-03 15:39:59 +10:00
net powerpc updates for 4.19 2018-08-17 11:32:50 -07:00
oprofile treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
perf powerpc/perf: Add missing break in power7_marked_instr_event() 2018-10-03 15:39:45 +10:00
platforms powerpc/32: add stack protector support 2018-10-03 15:40:03 +10:00
purgatory powerpc updates for 4.19 2018-08-17 11:32:50 -07:00
sysdev powerpc/xive: Move a dereference below a NULL test 2018-10-03 15:40:02 +10:00
tools powerpc: Add a checkpatch wrapper with our preferred settings 2018-08-07 21:49:25 +10:00
xmon Revert "convert SLB miss handlers to C" and subsequent commits 2018-10-03 15:32:49 +10:00
Kconfig powerpc/64: add stack protector support 2018-10-03 15:40:03 +10:00
Kconfig.debug Kconfig: consolidate the "Kernel hacking" menu 2018-08-02 08:06:48 +09:00
Makefile powerpc/64: add stack protector support 2018-10-03 15:40:03 +10:00
Makefile.postlink License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00