aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2006-02-21 15:42:09 -0800
committerDavid S. Miller <davem@sunset.davemloft.net>2006-03-20 01:13:52 -0800
commit6f5374c91f0dd1d92408ed44c066c32bcce5ce69 (patch)
treee5d2ade79d39f043af66030c42d2410d1cd6f483
parent1bd0cd74d102a527b2a72907698d73fad4b82cbd (diff)
[SPARC64]: Add sun4v_cpu_yield().
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--arch/sparc64/kernel/entry.S9
-rw-r--r--include/asm-sparc64/hypervisor.h3
2 files changed, 12 insertions, 0 deletions
diff --git a/arch/sparc64/kernel/entry.S b/arch/sparc64/kernel/entry.S
index bd332e41532..9f3048e64e8 100644
--- a/arch/sparc64/kernel/entry.S
+++ b/arch/sparc64/kernel/entry.S
@@ -1786,3 +1786,12 @@ sun4v_cpu_qconf:
ta HV_FAST_TRAP
retl
nop
+
+ /* returns %o0: status
+ */
+ .globl sun4v_cpu_yield
+sun4v_cpu_yield:
+ mov HV_FAST_CPU_YIELD, %o5
+ ta HV_FAST_TRAP
+ retl
+ nop
diff --git a/include/asm-sparc64/hypervisor.h b/include/asm-sparc64/hypervisor.h
index cd5fbcd9556..726e2ea03ce 100644
--- a/include/asm-sparc64/hypervisor.h
+++ b/include/asm-sparc64/hypervisor.h
@@ -258,6 +258,9 @@
*/
#define HV_FAST_CPU_YIELD 0x12
+#ifndef __ASSEMBLY__
+extern unsigned long sun4v_cpu_yield(void);
+#endif
/* cpu_qconf()
* TRAP: HV_FAST_TRAP