diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2006-09-28 10:56:43 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2006-09-28 10:56:43 -0400 |
commit | 94c12cc7d196bab34aaa98d38521549fa1e5ef76 (patch) | |
tree | 8e0cec0ed44445d74a2cb5160303d6b4dfb1bc31 /arch/s390/mm/extmem.c | |
parent | 25d83cbfaa44e1b9170c0941c3ef52ca39f54ccc (diff) |
[S390] Inline assembly cleanup.
Major cleanup of all s390 inline assemblies. They now have a common
coding style. Quite a few have been shortened, mainly by using register
asm variables. Use of the EX_TABLE macro helps as well. The atomic ops,
bit ops and locking inlines new use the Q-constraint if a newer gcc
is used. That results in slightly better code.
Thanks to Christian Borntraeger for proof reading the changes.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/mm/extmem.c')
-rw-r--r-- | arch/s390/mm/extmem.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/arch/s390/mm/extmem.c b/arch/s390/mm/extmem.c index 9b11e3e20903..226275d5c4f6 100644 --- a/arch/s390/mm/extmem.c +++ b/arch/s390/mm/extmem.c | |||
@@ -142,17 +142,17 @@ dcss_diag (__u8 func, void *parameter, | |||
142 | 142 | ||
143 | rx = (unsigned long) parameter; | 143 | rx = (unsigned long) parameter; |
144 | ry = (unsigned long) func; | 144 | ry = (unsigned long) func; |
145 | __asm__ __volatile__( | 145 | asm volatile( |
146 | #ifdef CONFIG_64BIT | 146 | #ifdef CONFIG_64BIT |
147 | " sam31\n" // switch to 31 bit | 147 | " sam31\n" |
148 | " diag %0,%1,0x64\n" | 148 | " diag %0,%1,0x64\n" |
149 | " sam64\n" // switch back to 64 bit | 149 | " sam64\n" |
150 | #else | 150 | #else |
151 | " diag %0,%1,0x64\n" | 151 | " diag %0,%1,0x64\n" |
152 | #endif | 152 | #endif |
153 | " ipm %2\n" | 153 | " ipm %2\n" |
154 | " srl %2,28\n" | 154 | " srl %2,28\n" |
155 | : "+d" (rx), "+d" (ry), "=d" (rc) : : "cc" ); | 155 | : "+d" (rx), "+d" (ry), "=d" (rc) : : "cc"); |
156 | *ret1 = rx; | 156 | *ret1 = rx; |
157 | *ret2 = ry; | 157 | *ret2 = ry; |
158 | return rc; | 158 | return rc; |