Linux PARISC architecture development
 help / color / mirror / Atom feed
* [PATCH] parisc: Correct completer in lws start
@ 2021-12-21 18:21 John David Anglin
  2021-12-21 18:29 ` Rolf Eike Beer
  0 siblings, 1 reply; 3+ messages in thread
From: John David Anglin @ 2021-12-21 18:21 UTC (permalink / raw)
  To: linux-parisc; +Cc: Helge Deller, Deller, James Bottomley

Correct completer in lws start.

The completer in the "or,ev   %r1,%r30,%r30" instruction is reversed, so we are
not clipping the LWS number when we are called from a 32-bit process (W=0). We
need to nulify the depdi instruction when the least-significant bit of %r30 is 1.

Signed-off-by: John David Anglin <dave.anglin@bell.net>
---

diff --git a/arch/parisc/kernel/syscall.S b/arch/parisc/kernel/syscall.S
index d2497b339d13..65c88ca7a7ac 100644
--- a/arch/parisc/kernel/syscall.S
+++ b/arch/parisc/kernel/syscall.S
@@ -472,7 +472,7 @@ lws_start:
  	extrd,u	%r1,PSW_W_BIT,1,%r1
  	/* sp must be aligned on 4, so deposit the W bit setting into
  	 * the bottom of sp temporarily */
-	or,ev	%r1,%r30,%r30
+	or,od	%r1,%r30,%r30

  	/* Clip LWS number to a 32-bit value for 32-bit processes */
  	depdi	0, 31, 32, %r20

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-12-21 19:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-21 18:21 [PATCH] parisc: Correct completer in lws start John David Anglin
2021-12-21 18:29 ` Rolf Eike Beer
2021-12-21 19:16   ` John David Anglin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox