linux/arch/sparc64/kernel
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
..
asm-offsets.c kbuild: frv,m32r,sparc64 introduce fake asm-offsets.h file 2005-09-09 22:47:53 +02:00
auxio.c [SPARC64]: Get rid of fast IRQ feature. 2005-06-27 17:04:45 -07:00
binfmt_aout32.c [SPARC64]: Top-down address space allocation for 32-bit tasks. 2006-03-20 01:16:35 -08:00
binfmt_elf32.c [SPARC64]: Increase top of 32-bit process stack. 2006-03-20 01:16:36 -08:00
central.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
chmc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpu.c [SPARC64]: kernel/cpu.c needs asm/spitfire.h 2006-03-20 01:12:05 -08:00
devices.c [SPARC64]: Kill ino_bucket->pil 2006-06-20 01:21:57 -07:00
dtlb_miss.S [SPARC64]: More TLB/TSB handling fixes. 2006-03-20 01:13:34 -08:00
dtlb_prot.S [SPARC64]: Fix boot failures on SunBlade-150 2005-10-12 12:22:46 -07:00
ebus.c [SPARC64]: kzalloc() conversion 2006-03-20 01:14:19 -08:00
entry.S [SPARC64]: Send all device interrupts via one PIL. 2006-06-20 01:20:00 -07:00
etrap.S [SPARC64]: Fix tl1 trap state capture/dump on SUN4V. 2006-03-20 01:13:12 -08:00
head.S [SPARC64]: Make smp_processor_id() functional before start_kernel() 2006-05-31 01:24:02 -07:00
idprom.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
init_task.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iommu_common.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iommu_common.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq.c [SPARC64]: Virtualize IRQ numbers. 2006-06-20 01:22:35 -07:00
isa.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
itlb_miss.S [SPARC64]: Fix _PAGE_EXEC handling. 2006-03-20 01:14:13 -08:00
kprobes.c [PATCH] Switch Kprobes inline functions to __kprobes for sparc64 2006-04-19 09:13:53 -07:00
ktlb.S [SPARC64]: Fix indexing into kpte_linear_bitmap. 2006-03-20 01:14:07 -08:00
Makefile [SPARC64]: First cut at VIS simulator for Niagara. 2006-03-20 01:14:26 -08:00
module.c [SPARC]: Handle UNWIND_INFO properly. 2006-05-12 12:45:50 -07:00
pci_common.c [SPARC64]: kzalloc() conversion 2006-03-20 01:14:19 -08:00
pci_impl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_iommu.c [SPARC64]: Respect gfp_t argument to dma_alloc_coherent(). 2006-05-23 02:07:22 -07:00
pci_psycho.c [SPARC64]: Virtualize IRQ numbers. 2006-06-20 01:22:35 -07:00
pci_sabre.c [SPARC64]: Virtualize IRQ numbers. 2006-06-20 01:22:35 -07:00
pci_schizo.c [SPARC64]: Virtualize IRQ numbers. 2006-06-20 01:22:35 -07:00
pci_sun4v_asm.S [SPARC64]: Remove PGLIST_NENTS PCI IOMMU mapping limitation on SUN4V. 2006-03-20 01:13:41 -08:00
pci_sun4v.c [SPARC64]: Kill ino_bucket->pil 2006-06-20 01:21:57 -07:00
pci_sun4v.h [SPARC64]: Remove PGLIST_NENTS PCI IOMMU mapping limitation on SUN4V. 2006-03-20 01:13:41 -08:00
pci.c [SPARC64]: Export pcibios_resource_to_bus(). 2006-04-17 13:34:44 -07:00
power.c [SPARC64]: Add needed pm_power_off symbol. 2006-01-09 14:12:50 -08:00
process.c [SPARC64]: Use sun4v_cpu_idle() in cpu_idle() on SUN4V. 2006-03-20 01:13:54 -08:00
ptrace.c [PATCH] drop task argument of audit_syscall_{entry,exit} 2006-05-01 06:06:18 -04:00
rtrap.S [SPARC64]: Drop %gl to 0 before re-enabling PSTATE_IE in rtrap 2006-03-20 01:13:57 -08:00
sbus.c [SPARC64]: Virtualize IRQ numbers. 2006-06-20 01:22:35 -07:00
semaphore.c [SPARC64]: Avoid membar instructions in delay slots. 2005-06-27 15:42:04 -07:00
setup.c [SPARC64]: Make smp_processor_id() functional before start_kernel() 2006-05-31 01:24:02 -07:00
signal32.c [SPARC]: Add support for *at(), ppoll, and pselect syscalls. 2006-01-19 02:42:49 -08:00
signal.c [SPARC]: Add support for *at(), ppoll, and pselect syscalls. 2006-01-19 02:42:49 -08:00
smp.c [SPARC64]: Set appropriate max_cache_size. 2006-06-10 22:02:17 -07:00
sparc64_ksyms.c [SPARC64]: Do not double-export sys_close() when CONFIG_SOLARIS_EMUL_MODULE 2006-06-11 21:05:25 -07:00
starfire.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sun4v_ivec.S [SPARC64]: Send all device interrupts via one PIL. 2006-06-20 01:20:00 -07:00
sun4v_tlb_miss.S [SPARC64]: Add a secondary TSB for hugepage mappings. 2006-03-22 01:15:14 -08:00
sunos_ioctl32.c [SPARC]: Kill remaining kbio.h references. 2005-11-07 14:12:21 -08:00
sys32.S [SPARC]: Hook up vmsplice into syscall tables. 2006-05-03 13:55:46 -07:00
sys_sparc32.c [SPARC]: Wire up sys_sync_file_range() into syscall tables. 2006-03-31 23:49:34 -08:00
sys_sparc.c [SPARC64]: Randomize mm->mmap_base when PF_RANDOMIZE is set. 2006-03-20 01:16:37 -08:00
sys_sunos32.c [PATCH] capable/capability.h (arch/) 2006-01-11 18:42:14 -08:00
systbls.S [SPARC]: Add robust futex syscall entries. 2006-05-21 21:22:53 -07:00
time.c [SPARC64]: Send all device interrupts via one PIL. 2006-06-20 01:20:00 -07:00
trampoline.S [SPARC64]: Get SUN4V SMP working. 2006-03-20 01:13:22 -08:00
traps.c [SPARC64]: Send all device interrupts via one PIL. 2006-06-20 01:20:00 -07:00
tsb.S [SPARC64]: Add a secondary TSB for hugepage mappings. 2006-03-22 01:15:14 -08:00
ttable.S [SPARC64]: Send all device interrupts via one PIL. 2006-06-20 01:20:00 -07:00
una_asm.S [SPARC64]: Mark __ex_table section correctly. 2006-03-04 23:23:56 -08:00
unaligned.c [SPARC64]: SUN4V memory exception trap handlers. 2006-03-20 01:12:07 -08:00
us2e_cpufreq.c [SPARC64]: kzalloc() conversion 2006-03-20 01:14:19 -08:00
us3_cpufreq.c [SPARC64]: kzalloc() conversion 2006-03-20 01:14:19 -08:00
visemul.c [SPARC64]: First cut at VIS simulator for Niagara. 2006-03-20 01:14:26 -08:00
vmlinux.lds.S [SPARC64]: Rename gl_{1,2}insn_patch --> sun4v_{1,2}insn_patch 2006-03-20 01:11:53 -08:00
winfixup.S [SPARC64]: Fix unaligned access winfxup handling on SUN4V. 2006-03-20 01:13:39 -08:00