git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
arch
/
s390
/
mm
/
init.c
diff --git
a/arch/s390/mm/init.c
b/arch/s390/mm/init.c
index
1541b86
..
7240782
100644
(file)
--- a/
arch/s390/mm/init.c
+++ b/
arch/s390/mm/init.c
@@
-45,11
+45,24
@@
void diag10(unsigned long addr)
if (addr >= 0x7ff00000)
return;
#ifdef __s390x__
if (addr >= 0x7ff00000)
return;
#ifdef __s390x__
- asm volatile ("sam31\n\t"
- "diag %0,%0,0x10\n\t"
- "sam64" : : "a" (addr) );
+ asm volatile (
+ " sam31\n"
+ " diag %0,%0,0x10\n"
+ "0: sam64\n"
+ ".section __ex_table,\"a\"\n"
+ " .align 8\n"
+ " .quad 0b, 0b\n"
+ ".previous\n"
+ : : "a" (addr));
#else
#else
- asm volatile ("diag %0,%0,0x10" : : "a" (addr) );
+ asm volatile (
+ " diag %0,%0,0x10\n"
+ "0:\n"
+ ".section __ex_table,\"a\"\n"
+ " .align 4\n"
+ " .long 0b, 0b\n"
+ ".previous\n"
+ : : "a" (addr));
#endif
}
#endif
}