kernel-ark/arch/ppc64/kernel
Arnd Bergmann ae209cf100 [PATCH] ppc64: Add driver for BPA iommu
Implementation of software load support for the BE iommu. This is very
different from other iommu code on ppc64, since we only do a static mapping.
The mapping is currently hardcoded but should really be read from the
firmware, but they don't set up the device nodes yet. There is a single
512MB DMA window for PCI, USB and ethernet at 0x20000000 for our RAM.

The Cell processor can put the I/O page table either in memory like
the hashed page table (hardware load) or have the operating system
write the entries into memory mapped CPU registers (software load).

I use the software load mechanism because I know that all I/O page
table entries for the amount of installed physical memory fit into
the IO TLB cache. At the point when we get machines with more than
4GB of installed memory, we can either use hardware I/O page table
access like the other platforms do or dynamically update the I/O
TLB entries when a page fault occurs in the I/O subsystem.

The software load can then use the macros that I have implemented
for the static mapping in order to do the TLB cache updates.

Signed-off-by: Arnd Bergmann <arndb@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-06-23 09:43:54 +10:00
..
vdso32 [PATCH] ppc64: add PT_NOTE section to vDSO 2005-05-01 08:58:43 -07:00
vdso64 [PATCH] ppc64: add PT_NOTE section to vDSO 2005-05-01 08:58:43 -07:00
align.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-offsets.c [PATCH] ppc64 iSeries: tidy up some includes and HvCall.h 2005-06-21 18:46:28 -07:00
binfmt_elf32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bitops.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bpa_iic.c [PATCH] ppc64: Add driver for BPA interrupt controllers 2005-06-23 09:43:43 +10:00
bpa_iic.h [PATCH] ppc64: Add driver for BPA interrupt controllers 2005-06-23 09:43:43 +10:00
bpa_iommu.c [PATCH] ppc64: Add driver for BPA iommu 2005-06-23 09:43:54 +10:00
bpa_iommu.h [PATCH] ppc64: Add driver for BPA iommu 2005-06-23 09:43:54 +10:00
bpa_nvram.c [PATCH] ppc64: add a minimal nvram driver 2005-06-23 09:43:31 +10:00
bpa_setup.c [PATCH] ppc64: Add driver for BPA iommu 2005-06-23 09:43:54 +10:00
btext.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpu_setup_power4.S [PATCH] ppc64: add BPA platform type 2005-06-23 09:43:37 +10:00
cputable.c [PATCH] ppc64: add BPA platform type 2005-06-23 09:43:37 +10:00
dma.c [PATCH] ppc64 iSeries: allow build with no PCI 2005-06-21 18:46:31 -07:00
eeh.c [PATCH] ppc64: Abolish ioremap_mm 2005-06-21 18:46:26 -07:00
entry.S [PATCH] ppc64: cleanup iseries runlight support 2005-06-02 15:12:30 -07:00
head.S [PATCH] ppc64: Abolish ioremap_mm 2005-06-21 18:46:26 -07:00
HvCall.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hvCall.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hvconsole.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hvcserver.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
HvLpConfig.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
HvLpEvent.c [PATCH] ppc64 iSeries: remove LparData.h 2005-06-21 18:46:27 -07:00
i8259.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
i8259.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
idle_power4.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
idle.c [PATCH] ppc64 iSeries: cleanup ItLpQueue.h 2005-06-21 18:46:28 -07:00
init_task.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ioctl32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iomap.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iommu.c [PATCH] initialize TCE tables 2005-06-20 21:43:48 +10:00
irq.c [PATCH] ppc64: add BPA platform type 2005-06-23 09:43:37 +10:00
iSeries_htab.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iSeries_iommu.c [PATCH] ppc64 iSeries: allow build with no PCI 2005-06-21 18:46:31 -07:00
iSeries_irq.c [PATCH] ppc64 iSeries: tidy up irq code after merge 2005-06-21 18:46:30 -07:00
iSeries_pci.c [PATCH] ppc64 iSeries: remove some more members of iSeries_Device_Node 2005-06-21 18:46:30 -07:00
iSeries_proc.c [PATCH] ppc64 iSeries: remove LparData.h 2005-06-21 18:46:27 -07:00
iSeries_setup.c [PATCH] ppc64: consolidate calibrate_decr implementations 2005-06-23 09:43:07 +10:00
iSeries_setup.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iSeries_smp.c [PATCH] ppc64 iSeries: eliminate some unused inline functions 2005-06-21 18:46:28 -07:00
iSeries_VpdInfo.c [PATCH] ppc64 iSeries: remove some more members of iSeries_Device_Node 2005-06-21 18:46:30 -07:00
ItLpQueue.c [PATCH] ppc64 iSeries: remove LparData.h 2005-06-21 18:46:27 -07:00
kprobes.c [PATCH] ppc64 kprobes: remove spurious MSR_SE masking 2005-06-08 16:21:13 -07:00
lmb.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
lparcfg.c [PATCH] ppc64 iSeries: remove LparData.h 2005-06-21 18:46:27 -07:00
LparData.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile [PATCH] ppc64: Add driver for BPA iommu 2005-06-23 09:43:54 +10:00
maple_pci.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
maple_setup.c [PATCH] ppc64: consolidate calibrate_decr implementations 2005-06-23 09:43:07 +10:00
maple_time.c [PATCH] ppc64: consolidate calibrate_decr implementations 2005-06-23 09:43:07 +10:00
mf.c [PATCH] ppc64 iSeries: tidy up some includes and HvCall.h 2005-06-21 18:46:28 -07:00
misc.S [PATCH] ppc64: Fix PER_LINUX32 behaviour 2005-06-08 16:24:15 -07:00
module.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mpic.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mpic.h [PATCH] ppc64: Split out generic rtas code from pSeries_pci.c. 2005-06-23 09:43:23 +10:00
nvram.c [PATCH] ppc64: nvram cleanups 2005-05-01 08:58:44 -07:00
of_device.c [PATCH] Driver Core: arch: update device attribute callbacks 2005-06-20 15:15:32 -07:00
pacaData.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_direct_iommu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_dn.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_iommu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci.c [PATCH] Driver Core: arch: update device attribute callbacks 2005-06-20 15:15:32 -07:00
pci.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pmac_feature.c [PATCH] ppc64: very basic desktop g5 sound support 2005-04-16 15:24:32 -07:00
pmac_low_i2c.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pmac_nvram.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pmac_pci.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pmac_setup.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pmac_smp.c [PATCH] ppc64: Fix g5 hw timebase sync 2005-05-23 11:51:24 -07:00
pmac_time.c [PATCH] ppc64: consolidate calibrate_decr implementations 2005-06-23 09:43:07 +10:00
pmac.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pmc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ppc_ksyms.c [PATCH] ppc64: fix export of wrong symbol 2005-04-16 15:24:34 -07:00
proc_ppc64.c [PATCH] ppc64: add BPA platform type 2005-06-23 09:43:37 +10:00
process.c [PATCH] ppc64: Abolish ioremap_mm 2005-06-21 18:46:26 -07:00
prom_init.c [PATCH] ppc64: add BPA platform type 2005-06-23 09:43:37 +10:00
prom.c [PATCH] ppc64: set/clear SMT capable bit at boot 2005-06-21 18:46:31 -07:00
pSeries_hvCall.S [PATCH] ppc64: enforce medium thread priority in hypervisor calls 2005-05-01 08:58:46 -07:00
pSeries_iommu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pSeries_lpar.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pSeries_nvram.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pSeries_pci.c [PATCH] ppc64: Split out generic rtas code from pSeries_pci.c. 2005-06-23 09:43:23 +10:00
pSeries_reconfig.c [PATCH] ppc32/ppc64: cleanup /proc/device-tree 2005-06-01 07:54:14 -07:00
pSeries_setup.c [PATCH] ppc64: pSeries_progress -> rtas_progress 2005-06-23 09:43:28 +10:00
pSeries_smp.c [PATCH] ppc64: Add driver for BPA interrupt controllers 2005-06-23 09:43:43 +10:00
ptrace32.c [PATCH] convert that currently tests _NSIG directly to use valid_signal() 2005-05-01 08:59:14 -07:00
ptrace.c Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 2005-05-03 08:14:09 +01:00
ras.c [PATCH] ppc64 iSeries: remove LparData.h 2005-06-21 18:46:27 -07:00
rtas_flash.c [PATCH] ppc64: trivial user annotations 2005-04-26 11:26:53 -07:00
rtas_pci.c [PATCH] ppc64: Split out generic rtas code from pSeries_pci.c. 2005-06-23 09:43:23 +10:00
rtas-proc.c [PATCH] ppc64: pSeries_progress -> rtas_progress 2005-06-23 09:43:28 +10:00
rtas.c [PATCH] ppc64: pSeries_progress -> rtas_progress 2005-06-23 09:43:28 +10:00
rtasd.c [PATCH] ppc64: quieten RTAS printks 2005-06-20 21:43:07 +10:00
rtc.c [PATCH] ppc64: rename pSeries rtc functions into rtas_* 2005-06-23 09:43:18 +10:00
scanlog.c [PATCH] ppc64: trivial user annotations 2005-04-26 11:26:53 -07:00
semaphore.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
setup.c [PATCH] ppc64: add BPA platform type 2005-06-23 09:43:37 +10:00
signal32.c [PATCH] ppc64: fix 32-bit signal frame back link 2005-04-30 10:01:40 -07:00
signal.c [PATCH] arch/ppc64: Replace custom MIN macro 2005-05-05 19:32:59 -07:00
smp-tbsync.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smp.c [PATCH] ppc64: Add driver for BPA interrupt controllers 2005-06-23 09:43:43 +10:00
spider-pic.c [PATCH] ppc64: Add driver for BPA interrupt controllers 2005-06-23 09:43:43 +10:00
sys_ppc32.c [PATCH] ppc64 iSeries: allow build with no PCI 2005-06-21 18:46:31 -07:00
syscalls.c [PATCH] ppc64: Fix PER_LINUX32 behaviour 2005-06-08 16:24:15 -07:00
sysfs.c [PATCH] ppc64: cleanup iseries runlight support 2005-06-02 15:12:30 -07:00
time.c [PATCH] ppc64: consolidate calibrate_decr implementations 2005-06-23 09:43:07 +10:00
traps.c [PATCH] ppc64: add BPA platform type 2005-06-23 09:43:37 +10:00
u3_iommu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
udbg.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vdso.c [PATCH] ppc64: Improve mapping of vDSO 2005-04-16 15:24:35 -07:00
vecemu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vector.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vio.c [PATCH] ppc64: tidy up vio devices fake parent 2005-06-21 18:46:31 -07:00
viopath.c [PATCH] ppc64 iSeries: misc header cleanups 2005-06-21 18:46:28 -07:00
vmlinux.lds.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xics.c [PATCH] ppc64: global interrupt queue cleanup 2005-05-06 08:07:01 -07:00