projects
/
linux-2.6-block.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[SPARC64]: Remove most limitations to kernel image size.
[linux-2.6-block.git]
/
include
/
asm-sparc64
/
irq.h
diff --git
a/include/asm-sparc64/irq.h
b/include/asm-sparc64/irq.h
index e6c436ef9356c3b0c3a7e7e1dec455e4d06c798d..30cb76b47be1a76f86385967e522df3662ae4ec4 100644
(file)
--- a/
include/asm-sparc64/irq.h
+++ b/
include/asm-sparc64/irq.h
@@
-1,7
+1,6
@@
-/* $Id: irq.h,v 1.21 2002/01/23 11:27:36 davem Exp $
- * irq.h: IRQ registers on the 64-bit Sparc.
+/* irq.h: IRQ registers on the 64-bit Sparc.
*
*
- * Copyright (C) 1996 David S. Miller (davem@
caip.rutgers.edu
)
+ * Copyright (C) 1996 David S. Miller (davem@
davemloft.net
)
* Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz)
*/
* Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz)
*/
@@
-16,21
+15,21
@@
#include <asm/ptrace.h>
/* IMAP/ICLR register defines */
#include <asm/ptrace.h>
/* IMAP/ICLR register defines */
-#define IMAP_VALID 0x80000000
/* IRQ Enabled */
-#define IMAP_TID_UPA 0x7c000000
/* UPA TargetID */
-#define IMAP_TID_JBUS 0x7c000000
/* JBUS TargetID */
+#define IMAP_VALID 0x80000000
UL
/* IRQ Enabled */
+#define IMAP_TID_UPA 0x7c000000
UL
/* UPA TargetID */
+#define IMAP_TID_JBUS 0x7c000000
UL
/* JBUS TargetID */
#define IMAP_TID_SHIFT 26
#define IMAP_TID_SHIFT 26
-#define IMAP_AID_SAFARI 0x7c000000
/* Safari AgentID */
+#define IMAP_AID_SAFARI 0x7c000000
UL
/* Safari AgentID */
#define IMAP_AID_SHIFT 26
#define IMAP_AID_SHIFT 26
-#define IMAP_NID_SAFARI 0x03e00000
/* Safari NodeID */
+#define IMAP_NID_SAFARI 0x03e00000
UL
/* Safari NodeID */
#define IMAP_NID_SHIFT 21
#define IMAP_NID_SHIFT 21
-#define IMAP_IGN 0x000007c0
/* IRQ Group Number */
-#define IMAP_INO 0x0000003f
/* IRQ Number */
-#define IMAP_INR 0x000007ff
/* Full interrupt number*/
+#define IMAP_IGN 0x000007c0
UL
/* IRQ Group Number */
+#define IMAP_INO 0x0000003f
UL
/* IRQ Number */
+#define IMAP_INR 0x000007ff
UL
/* Full interrupt number*/
-#define ICLR_IDLE 0x00000000
/* Idle state */
-#define ICLR_TRANSMIT 0x00000001
/* Transmit state */
-#define ICLR_PENDING 0x00000003
/* Pending state */
+#define ICLR_IDLE 0x00000000
UL
/* Idle state */
+#define ICLR_TRANSMIT 0x00000001
UL
/* Transmit state */
+#define ICLR_PENDING 0x00000003
UL
/* Pending state */
/* The largest number of unique interrupt sources we support.
* If this needs to ever be larger than 255, you need to change
/* The largest number of unique interrupt sources we support.
* If this needs to ever be larger than 255, you need to change
@@
-51,25
+50,37
@@
extern unsigned int sun4v_build_msi(u32 devhandle, unsigned int *virt_irq_p,
unsigned int msi_devino_start,
unsigned int msi_devino_end);
extern void sun4v_destroy_msi(unsigned int virt_irq);
unsigned int msi_devino_start,
unsigned int msi_devino_end);
extern void sun4v_destroy_msi(unsigned int virt_irq);
+extern unsigned int sun4u_build_msi(u32 portid, unsigned int *virt_irq_p,
+ unsigned int msi_devino_start,
+ unsigned int msi_devino_end,
+ unsigned long imap_base,
+ unsigned long iclr_base);
+extern void sun4u_destroy_msi(unsigned int virt_irq);
extern unsigned int sbus_build_irq(void *sbus, unsigned int ino);
extern unsigned int sbus_build_irq(void *sbus, unsigned int ino);
+extern unsigned char virt_irq_alloc(unsigned int dev_handle,
+ unsigned int dev_ino);
+#ifdef CONFIG_PCI_MSI
+extern void virt_irq_free(unsigned int virt_irq);
+#endif
+
extern void fixup_irqs(void);
extern void fixup_irqs(void);
-static
__inline__
void set_softint(unsigned long bits)
+static
inline
void set_softint(unsigned long bits)
{
__asm__ __volatile__("wr %0, 0x0, %%set_softint"
: /* No outputs */
: "r" (bits));
}
{
__asm__ __volatile__("wr %0, 0x0, %%set_softint"
: /* No outputs */
: "r" (bits));
}
-static
__inline__
void clear_softint(unsigned long bits)
+static
inline
void clear_softint(unsigned long bits)
{
__asm__ __volatile__("wr %0, 0x0, %%clear_softint"
: /* No outputs */
: "r" (bits));
}
{
__asm__ __volatile__("wr %0, 0x0, %%clear_softint"
: /* No outputs */
: "r" (bits));
}
-static
__inline__
unsigned long get_softint(void)
+static
inline
unsigned long get_softint(void)
{
unsigned long retval;
{
unsigned long retval;