diff options
author | Heiko Carstens <hca@linux.ibm.com> | 2022-05-03 14:59:16 +0200 |
---|---|---|
committer | Heiko Carstens <hca@linux.ibm.com> | 2022-05-06 20:45:15 +0200 |
commit | 29b06ad7e8a69ad1cbfe7898aef1d9cb7fbd02a5 (patch) | |
tree | 32a7ae66cb112ecb82d064ce6d65e7db712be3e9 /arch/s390/kernel | |
parent | f84d88ed3beb7fc2b4549e4c213ad428c0be9029 (diff) | |
download | linux-29b06ad7e8a69ad1cbfe7898aef1d9cb7fbd02a5.tar.gz linux-29b06ad7e8a69ad1cbfe7898aef1d9cb7fbd02a5.tar.bz2 linux-29b06ad7e8a69ad1cbfe7898aef1d9cb7fbd02a5.zip |
s390/entry: remove broken and not needed code
LLVM's integrated assembler reports the following error when compiling
entry.S:
<instantiation>:38:5: error: unknown token in expression
tm %r8,0x0001 # coming from user space?
The correct instruction would have been tmhh instead of tm.
The current code is doing nothing, since (with gas) it get's
translated to a tm instruction which reads from real address 8, which
again contains always zero, and therefore the conditional code is
never executed.
Note that due to the missing displacement gas translates "%r8" into
"8(%r0)".
Also code inspection reveals that this conditional code is not needed.
Therefore remove it.
Reviewed-by: Sven Schnelle <svens@linux.ibm.com>
Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch/s390/kernel')
-rw-r--r-- | arch/s390/kernel/entry.S | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S index 59b69c8ab5e1..a6008e58631b 100644 --- a/arch/s390/kernel/entry.S +++ b/arch/s390/kernel/entry.S @@ -473,10 +473,7 @@ ENTRY(\name) mvc __PT_R8(64,%r11),__LC_SAVE_AREA_ASYNC MBEAR %r11 stmg %r8,%r9,__PT_PSW(%r11) - tm %r8,0x0001 # coming from user space? - jno 1f - lctlg %c1,%c1,__LC_KERNEL_ASCE -1: lgr %r2,%r11 # pass pointer to pt_regs + lgr %r2,%r11 # pass pointer to pt_regs brasl %r14,\handler mvc __LC_RETURN_PSW(16),__PT_PSW(%r11) tmhh %r8,0x0001 # returning to user ? |