aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMikulas Patocka <mpatocka@redhat.com>2010-08-19 14:15:32 -0700
committerDavid S. Miller <davem@davemloft.net>2010-08-19 14:15:32 -0700
commit019408f9b89c68cd7b8ddb904960dc17ccf7e531 (patch)
treec5a7c4ba3531652da7299dede4eb331c5517769e
parent0f58189d4a3ca96d7959501ecb203177efdbc5bd (diff)
downloadkernel_samsung_smdk4412-019408f9b89c68cd7b8ddb904960dc17ccf7e531.zip
kernel_samsung_smdk4412-019408f9b89c68cd7b8ddb904960dc17ccf7e531.tar.gz
kernel_samsung_smdk4412-019408f9b89c68cd7b8ddb904960dc17ccf7e531.tar.bz2
sparc64: Fill a missing delay slot.
If the code were already aligned to 64 bytes, wr instruction would be executed twice --- once in delay slot and once in the jump target. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--arch/sparc/include/asm/system_64.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/sparc/include/asm/system_64.h b/arch/sparc/include/asm/system_64.h
index d24cfe1..e3b65d8 100644
--- a/arch/sparc/include/asm/system_64.h
+++ b/arch/sparc/include/asm/system_64.h
@@ -106,6 +106,7 @@ do { __asm__ __volatile__("ba,pt %%xcc, 1f\n\t" \
*/
#define write_pic(__p) \
__asm__ __volatile__("ba,pt %%xcc, 99f\n\t" \
+ " nop\n\t" \
".align 64\n" \
"99:wr %0, 0x0, %%pic\n\t" \
"rd %%pic, %%g0" : : "r" (__p))