Browse Source

s390/cio: Fix incorrect xsch opcode specification

The numeric representation of the xsch instruction was incorrectly
specified, resulting in reserved fields of the instruction opcode
potentially being set to a non-zero value. While this doesn't currently
cause any problem, a future architecture might make use of these fields
so that the current specification could result in an exception or
unwanted side-effects.

Fix this by using the xsch instruction code for which support in
binutils was added in 2003.

Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Peter Oberparleiter 10 years ago
parent
commit
ac357c4105
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/s390/cio/io_sch.h

+ 1 - 1
drivers/s390/cio/io_sch.h

@@ -205,7 +205,7 @@ static inline int xsch(struct subchannel_id schid)
 	int ccode;
 
 	asm volatile(
-		"	.insn	rre,0xb2760000,%1,0\n"
+		"	xsch\n"
 		"	ipm	%0\n"
 		"	srl	%0,28"
 		: "=d" (ccode)