sparc64: Add a new hypercall CPU_POKE
This adds a new hypercall CPU_POKE for quickly waking up an idle CPU. CPU_POKE should only be sent to valid non-local CPUs. Signed-off-by: Rob Gardner <rob.gardner@oracle.com> Signed-off-by: Vijay Kumar <vijay.ac.kumar@oracle.com> Reviewed-by: Anthony Yznaga <anthony.yznaga@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
99274b818a
commit
28d43de741
|
@ -298,6 +298,24 @@ unsigned long sun4v_cpu_stop(unsigned long cpuid);
|
||||||
unsigned long sun4v_cpu_yield(void);
|
unsigned long sun4v_cpu_yield(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* cpu_poke()
|
||||||
|
* TRAP: HV_FAST_TRAP
|
||||||
|
* FUNCTION: HV_FAST_CPU_POKE
|
||||||
|
* RET0: status
|
||||||
|
* ERRORS: ENOCPU cpuid refers to a CPU that does not exist
|
||||||
|
* EINVAL cpuid is current CPU
|
||||||
|
*
|
||||||
|
* Poke CPU cpuid. If the target CPU is currently suspended having
|
||||||
|
* invoked the cpu-yield service, that vCPU will be resumed.
|
||||||
|
* Poke interrupts may only be sent to valid, non-local CPUs.
|
||||||
|
* It is not legal to poke the current vCPU.
|
||||||
|
*/
|
||||||
|
#define HV_FAST_CPU_POKE 0x13
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
|
unsigned long sun4v_cpu_poke(unsigned long cpuid);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* cpu_qconf()
|
/* cpu_qconf()
|
||||||
* TRAP: HV_FAST_TRAP
|
* TRAP: HV_FAST_TRAP
|
||||||
* FUNCTION: HV_FAST_CPU_QCONF
|
* FUNCTION: HV_FAST_CPU_QCONF
|
||||||
|
|
|
@ -106,6 +106,17 @@ ENTRY(sun4v_cpu_yield)
|
||||||
nop
|
nop
|
||||||
ENDPROC(sun4v_cpu_yield)
|
ENDPROC(sun4v_cpu_yield)
|
||||||
|
|
||||||
|
/* %o0: cpuid
|
||||||
|
*
|
||||||
|
* returns %o0: status
|
||||||
|
*/
|
||||||
|
ENTRY(sun4v_cpu_poke)
|
||||||
|
mov HV_FAST_CPU_POKE, %o5
|
||||||
|
ta HV_FAST_TRAP
|
||||||
|
retl
|
||||||
|
nop
|
||||||
|
ENDPROC(sun4v_cpu_poke)
|
||||||
|
|
||||||
/* %o0: type
|
/* %o0: type
|
||||||
* %o1: queue paddr
|
* %o1: queue paddr
|
||||||
* %o2: num queue entries
|
* %o2: num queue entries
|
||||||
|
|
Loading…
Reference in New Issue