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>
This commit is contained in:
Peter Oberparleiter 2015-12-18 12:59:28 +01:00 committed by Martin Schwidefsky
parent 62e65da994
commit ac357c4105

View File

@ -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)