kernel-ark/arch
David S. Miller 8047e247c8 [SPARC64]: Virtualize IRQ numbers.
Inspired by PowerPC XICS interrupt support code.

All IRQs are virtualized in order to keep NR_IRQS from needing
to be too large.  Interrupts on sparc64 are arbitrary 11-bit
values, but we don't need to define NR_IRQS to 2048 if we
virtualize the IRQs.

As PCI and SBUS controller drivers build device IRQs, we divy
out virtual IRQ numbers incrementally starting at 1.  Zero is
a special virtual IRQ used for the timer interrupt.

So device drivers all see virtual IRQs, and all the normal
interfaces such as request_irq(), enable_irq(), etc. translate
that into a real IRQ number in order to configure the IRQ.

At this point knowledge of the struct ino_bucket is almost
entirely contained within arch/sparc64/kernel/irq.c  There are
a few small bits in the PCI controller drivers that need to
be swept away before we can remove ino_bucket's definition
out of asm-sparc64/irq.h and privately into kernel/irq.c

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-06-20 01:22:35 -07:00
..
alpha [PATCH] alpha: generic hweight build fix 2006-06-12 15:17:53 -07:00
arm Merge master.kernel.org:/home/rmk/linux-2.6-arm 2006-06-12 13:45:41 -07:00
arm26 [PATCH] No arch-specific strpbrk implementations 2006-04-11 06:18:40 -07:00
cris [PATCH] No arch-specific strpbrk implementations 2006-04-11 06:18:40 -07:00
frv [PATCH] No arch-specific strpbrk implementations 2006-04-11 06:18:40 -07:00
h8300 [PATCH] No arch-specific strpbrk implementations 2006-04-11 06:18:40 -07:00
i386 Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq 2006-06-19 18:51:21 -07:00
ia64 [IA64] one-line cleanup on set_irq_affinity_info 2006-05-17 06:20:59 -07:00
m32r [PATCH] m32r: update switch_to macro for tuning 2006-04-19 09:13:51 -07:00
m68k [PATCH] No arch-specific strpbrk implementations 2006-04-11 06:18:40 -07:00
m68knommu [PATCH] No arch-specific strpbrk implementations 2006-04-11 06:18:40 -07:00
mips [MIPS] Make timer interrupt frequency configurable from kconfig. 2006-06-19 17:39:27 +01:00
parisc [PARISC] Add new entries to the syscall table 2006-04-21 22:20:35 +00:00
powerpc [PATCH] powerpc: Fix 64k pages on non-partitioned machines 2006-06-17 10:56:24 -07:00
ppc ppc: Fix typo in TI_LOCAL_FLAGS definition 2006-05-29 08:42:34 +10:00
s390 [PATCH] s390: fix typo in stop_hz_timer. 2006-05-25 12:09:55 -07:00
sh [PATCH] No arch-specific strpbrk implementations 2006-04-11 06:18:40 -07:00
sh64 [PATCH] No arch-specific strpbrk implementations 2006-04-11 06:18:40 -07:00
sparc [SPARC]: Kill __irq_itoa(). 2006-06-20 01:21:29 -07:00
sparc64 [SPARC64]: Virtualize IRQ numbers. 2006-06-20 01:22:35 -07:00
um [PATCH] uml: add -ffreestanding to CFLAGS 2006-06-05 12:29:17 -07:00
v850 [PATCH] No arch-specific strpbrk implementations 2006-04-11 06:18:40 -07:00
x86_64 [PATCH] Fix HPET operation on 64-bit NVIDIA platforms 2006-06-08 15:12:21 -07:00
xtensa [PATCH] No arch-specific strpbrk implementations 2006-04-11 06:18:40 -07:00