OpenCloudOS-Kernel/arch/sparc/include/asm
Daniel Hellstrom 5d07b7869a sparc32,leon: add GRPCI2 PCI Host driver
The DMA region must be accessible in order for PCI peripheral
drivers to work, the sparc32 has DMA in the normal memory
zone which requires the GRPCI2 to PCI target BARs so that all
kernel low mem (192MB) can be mapped 1:1 to PCI address
space. The GRPCI2 has resizeable target BARs, by default the
first is made 256MB and all other BARs are disabled.

I/O space are always located on 0x1000-0x10000, but accessed
through the GRPCI2 PCI I/O Window memory mapped to virtual
address space.

Configuration space is accessed through the 64KB GRPCI2 PCI
CFG Window using LDA bypassing the MMU.

The GRPCI2 has a single PCI Window for prefetchable and non-
prefetchable address space, it is up to the AHB master
requesting PCI data to determine access type. Memory space
is mapped 1:1.

The GRPCI2 core can be configured in 4 different IRQ modes,
where PCI Interrupt, Error Interrupt and DMA Interrupt are
shared on a single IRQ line or at most 5 IRQs are used. The
GRPCI2 can mask/unmask PCI interrupts, Err and DMA in the control
and check status bits which tells us which IRQ really happended.
The GENIRQ layer is used to unmask/mask each individual IRQ
source by creating virtual IRQs and implementing a IRQ chip.

The optional DMA functionality of the GRPCI2 is not supported
by this patch.

Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-06-02 14:32:38 -07:00
..
Kbuild sparc: stop exporting openprom.h header 2010-10-08 13:04:00 -06:00
agp.h
apb.h
apc.h
asi.h
asm-offsets.h
asm.h
asmmacro.h
atomic.h
atomic_32.h
atomic_64.h
auxio.h
auxio_32.h
auxio_64.h
auxvec.h
backoff.h
bbc.h
bitext.h
bitops.h
bitops_32.h bitops: remove minix bitops from asm/bitops.h 2011-03-23 19:46:22 -07:00
bitops_64.h bitops: remove minix bitops from asm/bitops.h 2011-03-23 19:46:22 -07:00
bitsperlong.h
btext.h
btfixup.h
bug.h
bugs.h
byteorder.h
cache.h
cacheflush.h
cacheflush_32.h
cacheflush_64.h
chafsr.h
checksum.h
checksum_32.h
checksum_64.h
chmctrl.h
clock.h
cmt.h
compat.h
compat_signal.h
contregs.h
cpudata.h
cpudata_32.h sparc32: implement SMP IPIs using the generic functions 2011-05-16 13:07:43 -07:00
cpudata_64.h
cputime.h
current.h
cypress.h
dcr.h
dcu.h
delay.h
delay_32.h
delay_64.h
device.h
display7seg.h
div64.h
dma-mapping.h
dma.h
ebus_dma.h
ecc.h
eeprom.h
elf.h
elf_32.h
elf_64.h
emergency-restart.h
envctrl.h
errno.h mm: make __get_user_pages return -EHWPOISON for HWPOISON page optionally 2011-03-17 13:08:27 -03:00
estate.h
fb.h
fbio.h
fcntl.h vfs: add nonconflicting values for O_PATH 2011-03-16 09:54:02 -04:00
fhc.h
fixmap.h
floppy.h
floppy_32.h sparc32: genirq support 2011-04-19 22:11:40 -07:00
floppy_64.h
fpumacro.h
ftrace.h
futex.h
futex_32.h
futex_64.h futex: Sanitize futex ops argument types 2011-03-11 12:23:31 +01:00
gpio.h
hardirq.h
hardirq_32.h
hardirq_64.h
head.h
head_32.h
head_64.h
highmem.h mm: stack based kmap_atomic() 2010-10-26 16:52:08 -07:00
hugetlb.h
hvtramp.h
hw_irq.h
hypervisor.h Fix common misspellings 2011-03-31 11:26:23 -03:00
ide.h
idprom.h
intr_queue.h
io-unit.h
io.h sparc: add {read,write}*_be routines 2011-05-12 13:44:29 -07:00
io_32.h fbmem: fix fb_read, fb_write unaligned accesses 2010-10-27 18:03:08 -07:00
io_64.h fbmem: fix fb_read, fb_write unaligned accesses 2010-10-27 18:03:08 -07:00
ioctl.h
ioctls.h tty: add TIOCVHANGUP to allow clean tty shutdown of all ttys 2011-02-17 14:16:30 -08:00
iommu.h
iommu_32.h
iommu_64.h
ipcbuf.h
irq.h
irq_32.h sparc32: genirq support 2011-04-19 22:11:40 -07:00
irq_64.h sparc: Provide NO_IRQ definition. 2011-03-18 15:03:16 -07:00
irq_regs.h
irqflags.h
irqflags_32.h Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
irqflags_64.h Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
jsflash.h
jump_label.h jump label: Introduce static_branch() interface 2011-04-04 12:48:08 -04:00
kdebug.h
kdebug_32.h
kdebug_64.h
kgdb.h
kmap_types.h
kprobes.h
ldc.h
leon.h sparc32,leon: add GRPCI2 PCI Host driver 2011-06-02 14:32:38 -07:00
leon_amba.h SPARC/LEON: power down instruction different of different LEONs 2011-03-16 18:19:04 -07:00
leon_pci.h sparc32,leon: added LEON-common low-level PCI routines 2011-06-02 14:32:37 -07:00
linkage.h
local.h
local64.h
lsu.h
machines.h
mbus.h
mc146818rtc.h
mc146818rtc_32.h
mc146818rtc_64.h
mdesc.h
memblock.h
memctrl.h
memreg.h
mman.h
mmu.h
mmu_32.h sparc32: add irq + smp declarations to headers 2011-03-16 18:19:08 -07:00
mmu_64.h
mmu_context.h
mmu_context_32.h
mmu_context_64.h
mmzone.h
module.h
mpmbox.h
msgbuf.h
msi.h
mutex.h
mxcc.h
nmi.h
ns87303.h Fix common misspellings 2011-03-31 11:26:23 -03:00
obio.h
openprom.h sparc: Pass buffer pointer all the way down to prom_{get,put}char(). 2010-11-30 14:33:29 -08:00
openpromio.h
oplib.h
oplib_32.h sparc: fix sparse warnings in arch/sparc/prom for 32 bit build 2011-01-03 12:15:12 -08:00
oplib_64.h sparc: Eliminate prom_stdin. 2010-12-12 14:57:53 -08:00
page.h
page_32.h
page_64.h
param.h
parport.h dt/sparc: Eliminate users of of_platform_{,un}register_driver 2011-02-28 01:36:39 -07:00
pbm.h
pci.h
pci_32.h sparc32,leon: added LEON-common low-level PCI routines 2011-06-02 14:32:37 -07:00
pci_64.h sparc: remove dma64_addr_t usage 2010-10-27 18:03:17 -07:00
pcic.h sparc32: added CONFIG_PCIC_PCI Kconfig setting 2011-06-02 14:32:37 -07:00
pcr.h Fix common misspellings 2011-03-31 11:26:23 -03:00
percpu.h
percpu_32.h
percpu_64.h
perf_event.h perf, arch: Cleanup perf-pmu init vs lockup-detector 2010-11-26 15:14:56 +01:00
perfctr.h
pgalloc.h
pgalloc_32.h
pgalloc_64.h sparc: mmu_gather rework 2011-05-25 08:39:13 -07:00
pgtable.h
pgtable_32.h sparc32: avoid build warning at mm/percpu.c:1647 2011-04-21 15:48:39 -07:00
pgtable_64.h sparc: mmu_gather rework 2011-05-25 08:39:13 -07:00
pgtsrmmu.h
pgtsun4.h
pgtsun4c.h
pil.h
poll.h
posix_types.h
processor.h
processor_32.h
processor_64.h
prom.h of/promtree: make drivers/of/pdt.c no longer sparc-only 2010-10-10 21:53:30 -06:00
psr.h
psrcompat.h
pstate.h
ptrace.h Fix common misspellings 2011-03-31 11:26:23 -03:00
resource.h
ross.h
rwsem.h rwsem: Move duplicate function prototypes to linux/rwsem.h 2011-01-27 12:30:39 +01:00
sbi.h
scatterlist.h
scratchpad.h
seccomp.h
sections.h
sembuf.h
serial.h
setup.h sparc32: always define boot_cpu_id 2011-04-21 16:44:44 -07:00
sfafsr.h
sfp-machine.h
sfp-machine_32.h
sfp-machine_64.h
shmbuf.h
shmparam.h
shmparam_32.h
shmparam_64.h
sigcontext.h
siginfo.h
signal.h
smp.h
smp_32.h sparc: convert old cpumask API into new one 2011-05-16 13:38:07 -07:00
smp_64.h sparc: consolidate show_cpuinfo in cpu.c 2011-04-21 15:45:45 -07:00
smpprim.h
socket.h
sockios.h
sparsemem.h
spinlock.h
spinlock_32.h sparc32: fix build, fix missing cpu_relax declaration 2011-05-22 21:41:35 -07:00
spinlock_64.h
spinlock_types.h
spitfire.h
stacktrace.h
starfire.h
stat.h
statfs.h
string.h
string_32.h
string_64.h
sunbpp.h
swab.h
swift.h
syscall.h
syscalls.h
sysen.h
system.h
system_32.h sparc32: genirq support 2011-04-19 22:11:40 -07:00
system_64.h sparc: consolidate show_cpuinfo in cpu.c 2011-04-21 15:45:45 -07:00
termbits.h
termios.h
thread_info.h
thread_info_32.h mm: NUMA aware alloc_thread_info_node() 2011-03-22 17:44:01 -07:00
thread_info_64.h mm: NUMA aware alloc_thread_info_node() 2011-03-22 17:44:01 -07:00
timer.h
timer_32.h
timer_64.h
timex.h
timex_32.h
timex_64.h
tlb.h
tlb_32.h
tlb_64.h sparc: mmu_gather rework 2011-05-25 08:39:13 -07:00
tlbflush.h
tlbflush_32.h
tlbflush_64.h sparc: mmu_gather rework 2011-05-25 08:39:13 -07:00
topology.h
topology_32.h
topology_64.h sched, sparc64: Turn cpu_coregroup_mask() into a real function 2011-04-12 08:46:41 +02:00
trap_block.h
traps.h
tsb.h
tsunami.h
ttable.h
turbosparc.h
types.h remove dma64_addr_t 2011-03-23 19:47:18 -07:00
uaccess.h
uaccess_32.h
uaccess_64.h
uctx.h
unaligned.h
unistd.h ns: Wire up the setns system call 2011-05-28 10:48:39 -07:00
upa.h
user.h
utrap.h
vac-ops.h
vaddrs.h
vga.h
viking.h
vio.h
visasm.h
watchdog.h
winmacro.h sparc32,leon: added some SMP comments 2011-05-16 13:03:28 -07:00
xor.h
xor_32.h
xor_64.h