linux-IllusionX/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
vdso64
align.c
asm-offsets.c [PATCH] ppc64 iSeries: tidy up some includes and HvCall.h 2005-06-21 18:46:28 -07:00
binfmt_elf32.c
bitops.c
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
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
head.S [PATCH] ppc64: Abolish ioremap_mm 2005-06-21 18:46:26 -07:00
HvCall.c
hvCall.S
hvconsole.c
hvcserver.c
HvLpConfig.c
HvLpEvent.c [PATCH] ppc64 iSeries: remove LparData.h 2005-06-21 18:46:27 -07:00
i8259.c
i8259.h
idle.c [PATCH] ppc64 iSeries: cleanup ItLpQueue.h 2005-06-21 18:46:28 -07:00
idle_power4.S
init_task.c
ioctl32.c
iomap.c
iommu.c
irq.c [PATCH] ppc64: add BPA platform type 2005-06-23 09:43:37 +10:00
iSeries_htab.c
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
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
lmb.c
lparcfg.c [PATCH] ppc64 iSeries: remove LparData.h 2005-06-21 18:46:27 -07:00
LparData.c
Makefile [PATCH] ppc64: Add driver for BPA iommu 2005-06-23 09:43:54 +10:00
maple_pci.c
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
module.c
mpic.c
mpic.h [PATCH] ppc64: Split out generic rtas code from pSeries_pci.c. 2005-06-23 09:43:23 +10:00
nvram.c
of_device.c
pacaData.c
pci.c
pci.h
pci_direct_iommu.c
pci_dn.c
pci_iommu.c
pmac.h
pmac_feature.c
pmac_low_i2c.c
pmac_nvram.c
pmac_pci.c
pmac_setup.c
pmac_smp.c
pmac_time.c [PATCH] ppc64: consolidate calibrate_decr implementations 2005-06-23 09:43:07 +10:00
pmc.c
ppc_ksyms.c
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.c [PATCH] ppc64: set/clear SMT capable bit at boot 2005-06-21 18:46:31 -07:00
prom_init.c [PATCH] ppc64: add BPA platform type 2005-06-23 09:43:37 +10:00
pSeries_hvCall.S
pSeries_iommu.c
pSeries_lpar.c
pSeries_nvram.c
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
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
ptrace.c
ptrace32.c
ras.c [PATCH] ppc64 iSeries: remove LparData.h 2005-06-21 18:46:27 -07: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
rtas_flash.c
rtas_pci.c [PATCH] ppc64: Split out generic rtas code from pSeries_pci.c. 2005-06-23 09:43:23 +10:00
rtasd.c
rtc.c [PATCH] ppc64: rename pSeries rtc functions into rtas_* 2005-06-23 09:43:18 +10:00
scanlog.c
semaphore.c
setup.c [PATCH] ppc64: add BPA platform type 2005-06-23 09:43:37 +10:00
signal.c
signal32.c
smp-tbsync.c
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
sysfs.c
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
udbg.c
vdso.c
vecemu.c
vector.S
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
xics.c