[SPARC64]: Implement rest of generic interrupt hypervisor calls.
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
85dfa19ba9
commit
6c0f402f6c
|
@ -1701,9 +1701,73 @@ hard_smp_processor_id:
|
||||||
*
|
*
|
||||||
* returns %o0: sysino
|
* returns %o0: sysino
|
||||||
*/
|
*/
|
||||||
.globl pci_sun4v_devino_to_sysino
|
.globl sun4v_devino_to_sysino
|
||||||
sun4v_devino_to_sysino:
|
sun4v_devino_to_sysino:
|
||||||
mov HV_FAST_INTR_DEVINO2SYSINO, %o5
|
mov HV_FAST_INTR_DEVINO2SYSINO, %o5
|
||||||
ta HV_FAST_TRAP
|
ta HV_FAST_TRAP
|
||||||
retl
|
retl
|
||||||
mov %o1, %o0
|
mov %o1, %o0
|
||||||
|
|
||||||
|
/* %o0: sysino
|
||||||
|
*
|
||||||
|
* returns %o0: intr_enabled (HV_INTR_{DISABLED,ENABLED})
|
||||||
|
*/
|
||||||
|
.globl sun4v_intr_getenabled
|
||||||
|
sun4v_intr_getenabled:
|
||||||
|
mov HV_FAST_INTR_GETENABLED, %o5
|
||||||
|
ta HV_FAST_TRAP
|
||||||
|
retl
|
||||||
|
mov %o1, %o0
|
||||||
|
|
||||||
|
/* %o0: sysino
|
||||||
|
* %o1: intr_enabled (HV_INTR_{DISABLED,ENABLED})
|
||||||
|
*/
|
||||||
|
.globl sun4v_intr_setenabled
|
||||||
|
sun4v_intr_setenabled:
|
||||||
|
mov HV_FAST_INTR_SETENABLED, %o5
|
||||||
|
ta HV_FAST_TRAP
|
||||||
|
retl
|
||||||
|
nop
|
||||||
|
|
||||||
|
/* %o0: sysino
|
||||||
|
*
|
||||||
|
* returns %o0: intr_state (HV_INTR_STATE_*)
|
||||||
|
*/
|
||||||
|
.globl sun4v_intr_getstate
|
||||||
|
sun4v_intr_getstate:
|
||||||
|
mov HV_FAST_INTR_GETSTATE, %o5
|
||||||
|
ta HV_FAST_TRAP
|
||||||
|
retl
|
||||||
|
mov %o1, %o0
|
||||||
|
|
||||||
|
/* %o0: sysino
|
||||||
|
* %o1: intr_state (HV_INTR_STATE_*)
|
||||||
|
*/
|
||||||
|
.globl sun4v_intr_setstate
|
||||||
|
sun4v_intr_setstate:
|
||||||
|
mov HV_FAST_INTR_SETSTATE, %o5
|
||||||
|
ta HV_FAST_TRAP
|
||||||
|
retl
|
||||||
|
nop
|
||||||
|
|
||||||
|
/* %o0: sysino
|
||||||
|
*
|
||||||
|
* returns %o0: cpuid
|
||||||
|
*/
|
||||||
|
.globl sun4v_intr_gettarget
|
||||||
|
sun4v_intr_gettarget:
|
||||||
|
mov HV_FAST_INTR_GETTARGET, %o5
|
||||||
|
ta HV_FAST_TRAP
|
||||||
|
retl
|
||||||
|
mov %o1, %o0
|
||||||
|
|
||||||
|
/* %o0: sysino
|
||||||
|
* %o1: cpuid
|
||||||
|
*/
|
||||||
|
.globl sun4v_intr_settarget
|
||||||
|
sun4v_intr_settarget:
|
||||||
|
mov HV_FAST_INTR_SETTARGET, %o5
|
||||||
|
ta HV_FAST_TRAP
|
||||||
|
retl
|
||||||
|
nop
|
||||||
|
|
||||||
|
|
|
@ -1221,6 +1221,10 @@ extern unsigned long sun4v_devino_to_sysino(unsigned long devhandle,
|
||||||
*/
|
*/
|
||||||
#define HV_FAST_INTR_GETENABLED 0xa1
|
#define HV_FAST_INTR_GETENABLED 0xa1
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
|
extern unsigned long sun4v_intr_getenabled(unsigned long sysino);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* intr_setenabled()
|
/* intr_setenabled()
|
||||||
* TRAP: HV_FAST_TRAP
|
* TRAP: HV_FAST_TRAP
|
||||||
* FUNCTION: HV_FAST_INTR_SETENABLED
|
* FUNCTION: HV_FAST_INTR_SETENABLED
|
||||||
|
@ -1233,6 +1237,10 @@ extern unsigned long sun4v_devino_to_sysino(unsigned long devhandle,
|
||||||
*/
|
*/
|
||||||
#define HV_FAST_INTR_SETENABLED 0xa2
|
#define HV_FAST_INTR_SETENABLED 0xa2
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
|
extern void sun4v_intr_setenabled(unsigned long sysino, unsigned long intr_enabled);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* intr_getstate()
|
/* intr_getstate()
|
||||||
* TRAP: HV_FAST_TRAP
|
* TRAP: HV_FAST_TRAP
|
||||||
* FUNCTION: HV_FAST_INTR_GETSTATE
|
* FUNCTION: HV_FAST_INTR_GETSTATE
|
||||||
|
@ -1245,6 +1253,10 @@ extern unsigned long sun4v_devino_to_sysino(unsigned long devhandle,
|
||||||
*/
|
*/
|
||||||
#define HV_FAST_INTR_GETSTATE 0xa3
|
#define HV_FAST_INTR_GETSTATE 0xa3
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
|
extern unsigned long sun4v_intr_getstate(unsigned long sysino);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* intr_setstate()
|
/* intr_setstate()
|
||||||
* TRAP: HV_FAST_TRAP
|
* TRAP: HV_FAST_TRAP
|
||||||
* FUNCTION: HV_FAST_INTR_SETSTATE
|
* FUNCTION: HV_FAST_INTR_SETSTATE
|
||||||
|
@ -1261,6 +1273,10 @@ extern unsigned long sun4v_devino_to_sysino(unsigned long devhandle,
|
||||||
*/
|
*/
|
||||||
#define HV_FAST_INTR_SETSTATE 0xa4
|
#define HV_FAST_INTR_SETSTATE 0xa4
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
|
extern void sun4v_intr_setstate(unsigned long sysino, unsigned long intr_state);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* intr_gettarget()
|
/* intr_gettarget()
|
||||||
* TRAP: HV_FAST_TRAP
|
* TRAP: HV_FAST_TRAP
|
||||||
* FUNCTION: HV_FAST_INTR_GETTARGET
|
* FUNCTION: HV_FAST_INTR_GETTARGET
|
||||||
|
@ -1275,6 +1291,10 @@ extern unsigned long sun4v_devino_to_sysino(unsigned long devhandle,
|
||||||
*/
|
*/
|
||||||
#define HV_FAST_INTR_GETTARGET 0xa5
|
#define HV_FAST_INTR_GETTARGET 0xa5
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
|
extern unsigned long sun4v_intr_gettarget(unsigned long sysino);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* intr_settarget()
|
/* intr_settarget()
|
||||||
* TRAP: HV_FAST_TRAP
|
* TRAP: HV_FAST_TRAP
|
||||||
* FUNCTION: HV_FAST_INTR_SETTARGET
|
* FUNCTION: HV_FAST_INTR_SETTARGET
|
||||||
|
@ -1288,6 +1308,10 @@ extern unsigned long sun4v_devino_to_sysino(unsigned long devhandle,
|
||||||
*/
|
*/
|
||||||
#define HV_FAST_INTR_SETTARGET 0xa6
|
#define HV_FAST_INTR_SETTARGET 0xa6
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
|
extern void sun4v_intr_settarget(unsigned long sysino, unsigned long cpuid);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* PCI IO services.
|
/* PCI IO services.
|
||||||
*
|
*
|
||||||
* See the terminology descriptions in the device interrupt services
|
* See the terminology descriptions in the device interrupt services
|
||||||
|
|
Loading…
Reference in New Issue