Commit 25130c1a authored by Heiko Carstens's avatar Heiko Carstens Committed by Vasily Gorbik
Browse files

s390/sigp: use register pair instead of register asm

parent 6a7b4e4e
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -41,15 +41,17 @@
static inline int ____pcpu_sigp(u16 addr, u8 order, unsigned long parm,
				u32 *status)
{
	register unsigned long reg1 asm ("1") = parm;
	union register_pair r1 = { .odd = parm, };
	int cc;

	asm volatile(
		"	sigp	%1,%2,0(%3)\n"
		"	ipm	%0\n"
		"	srl	%0,28\n"
		: "=d" (cc), "+d" (reg1) : "d" (addr), "a" (order) : "cc");
	*status = reg1;
		"	sigp	%[r1],%[addr],0(%[order])\n"
		"	ipm	%[cc]\n"
		"	srl	%[cc],28\n"
		: [cc] "=&d" (cc), [r1] "+&d" (r1.pair)
		: [addr] "d" (addr), [order] "a" (order)
		: "cc");
	*status = r1.even;
	return cc;
}