aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2006-02-13 03:23:32 -0500
committerDavid S. Miller <davem@sunset.davemloft.net>2006-03-20 04:12:37 -0500
commit6c0f402f6cc62314ef83b975f3430350dcb6055f (patch)
tree394a2e981ee8fff3e6eda7aec2d20be8542ecae1 /arch/sparc64/kernel
parent85dfa19ba92f88fa1c1482f655c7247119dfdcd5 (diff)
[SPARC64]: Implement rest of generic interrupt hypervisor calls.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel')
-rw-r--r--arch/sparc64/kernel/entry.S66
1 files changed, 65 insertions, 1 deletions
diff --git a/arch/sparc64/kernel/entry.S b/arch/sparc64/kernel/entry.S
index fa185f227055..a2842a72f8e6 100644
--- a/arch/sparc64/kernel/entry.S
+++ b/arch/sparc64/kernel/entry.S
@@ -1701,9 +1701,73 @@ hard_smp_processor_id:
1701 * 1701 *
1702 * returns %o0: sysino 1702 * returns %o0: sysino
1703 */ 1703 */
1704 .globl pci_sun4v_devino_to_sysino 1704 .globl sun4v_devino_to_sysino
1705sun4v_devino_to_sysino: 1705sun4v_devino_to_sysino:
1706 mov HV_FAST_INTR_DEVINO2SYSINO, %o5 1706 mov HV_FAST_INTR_DEVINO2SYSINO, %o5
1707 ta HV_FAST_TRAP 1707 ta HV_FAST_TRAP
1708 retl 1708 retl
1709 mov %o1, %o0 1709 mov %o1, %o0
1710
1711 /* %o0: sysino
1712 *
1713 * returns %o0: intr_enabled (HV_INTR_{DISABLED,ENABLED})
1714 */
1715 .globl sun4v_intr_getenabled
1716sun4v_intr_getenabled:
1717 mov HV_FAST_INTR_GETENABLED, %o5
1718 ta HV_FAST_TRAP
1719 retl
1720 mov %o1, %o0
1721
1722 /* %o0: sysino
1723 * %o1: intr_enabled (HV_INTR_{DISABLED,ENABLED})
1724 */
1725 .globl sun4v_intr_setenabled
1726sun4v_intr_setenabled:
1727 mov HV_FAST_INTR_SETENABLED, %o5
1728 ta HV_FAST_TRAP
1729 retl
1730 nop
1731
1732 /* %o0: sysino
1733 *
1734 * returns %o0: intr_state (HV_INTR_STATE_*)
1735 */
1736 .globl sun4v_intr_getstate
1737sun4v_intr_getstate:
1738 mov HV_FAST_INTR_GETSTATE, %o5
1739 ta HV_FAST_TRAP
1740 retl
1741 mov %o1, %o0
1742
1743 /* %o0: sysino
1744 * %o1: intr_state (HV_INTR_STATE_*)
1745 */
1746 .globl sun4v_intr_setstate
1747sun4v_intr_setstate:
1748 mov HV_FAST_INTR_SETSTATE, %o5
1749 ta HV_FAST_TRAP
1750 retl
1751 nop
1752
1753 /* %o0: sysino
1754 *
1755 * returns %o0: cpuid
1756 */
1757 .globl sun4v_intr_gettarget
1758sun4v_intr_gettarget:
1759 mov HV_FAST_INTR_GETTARGET, %o5
1760 ta HV_FAST_TRAP
1761 retl
1762 mov %o1, %o0
1763
1764 /* %o0: sysino
1765 * %o1: cpuid
1766 */
1767 .globl sun4v_intr_settarget
1768sun4v_intr_settarget:
1769 mov HV_FAST_INTR_SETTARGET, %o5
1770 ta HV_FAST_TRAP
1771 retl
1772 nop
1773