Loading arch/s390/kernel/diag.c +5 −6 Original line number Diff line number Diff line Loading @@ -141,16 +141,15 @@ EXPORT_SYMBOL(diag14); static inline int __diag204(unsigned long *subcode, unsigned long size, void *addr) { register unsigned long _subcode asm("0") = *subcode; register unsigned long _size asm("1") = size; union register_pair rp = { .even = *subcode, .odd = size }; asm volatile( " diag %2,%0,0x204\n" " diag %[addr],%[rp],0x204\n" "0: nopr %%r7\n" EX_TABLE(0b,0b) : "+d" (_subcode), "+d" (_size) : "d" (addr) : "memory"); *subcode = _subcode; return _size; : [rp] "+&d" (rp.pair) : [addr] "d" (addr) : "memory"); *subcode = rp.even; return rp.odd; } int diag204(unsigned long subcode, unsigned long size, void *addr) Loading Loading
arch/s390/kernel/diag.c +5 −6 Original line number Diff line number Diff line Loading @@ -141,16 +141,15 @@ EXPORT_SYMBOL(diag14); static inline int __diag204(unsigned long *subcode, unsigned long size, void *addr) { register unsigned long _subcode asm("0") = *subcode; register unsigned long _size asm("1") = size; union register_pair rp = { .even = *subcode, .odd = size }; asm volatile( " diag %2,%0,0x204\n" " diag %[addr],%[rp],0x204\n" "0: nopr %%r7\n" EX_TABLE(0b,0b) : "+d" (_subcode), "+d" (_size) : "d" (addr) : "memory"); *subcode = _subcode; return _size; : [rp] "+&d" (rp.pair) : [addr] "d" (addr) : "memory"); *subcode = rp.even; return rp.odd; } int diag204(unsigned long subcode, unsigned long size, void *addr) Loading