1
linux/arch/powerpc/kernel
Kumar Gala 0ba3418b8b powerpc: Introduce local (non-broadcast) forms of tlb invalidates
Introduced a new set of low level tlb invalidate functions that do not
broadcast invalidates on the bus:

_tlbil_all - invalidate all
_tlbil_pid - invalidate based on process id (or mm context)
_tlbil_va  - invalidate based on virtual address (ea + pid)

On non-SMP configs _tlbil_all should be functionally equivalent to _tlbia and
_tlbil_va should be functionally equivalent to _tlbie.

The intent of this change is to handle SMP based invalidates via IPIs instead
of broadcasts as the mechanism scales better for larger number of cores.

On e500 (fsl-booke mmu) based cores move to using MMUCSR for invalidate alls
and tlbsx/tlbwe for invalidate virtual address.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-09-24 16:29:40 -05:00
..
vdso32 powerpc: Fixup lwsync at runtime 2008-07-03 16:58:10 +10:00
vdso64 powerpc: Fixup lwsync at runtime 2008-07-03 16:58:10 +10:00
align.c powerpc: Fix uninitialised variable in VSX alignment code 2008-09-03 20:53:14 +10:00
asm-offsets.c powerpc: Make it possible to move the interrupt handlers away from the kernel 2008-09-15 11:08:08 -07:00
audit.c
btext.c powerpc: Use the common ascii hex helpers 2008-08-20 16:34:57 +10:00
clock.c
compat_audit.c
cpu_setup_6xx.S
cpu_setup_44x.S powerpc: Remove use of CONFIG_PPC_MERGE 2008-08-04 13:18:17 +10:00
cpu_setup_pa6t.S
cpu_setup_ppc970.S powerpc: Use LOAD_REG_IMMEDIATE only for constants on 64-bit 2008-09-15 11:08:35 -07:00
cputable.c powerpc: Expose PMCs & cache topology in sysfs on 32-bit 2008-08-20 16:34:58 +10:00
crash_dump.c powerpc: Fix /dev/oldmem interface for kdump 2008-08-20 09:50:21 +10:00
crash.c
dma_64.c powerpc: move device_to_mask() to dma-mapping.h 2008-07-09 16:30:44 +10:00
entry_32.S powerpc: Add TIF_NOTIFY_RESUME support for tracehook 2008-07-28 16:30:50 +10:00
entry_64.S powerpc: Use LOAD_REG_IMMEDIATE only for constants on 64-bit 2008-09-15 11:08:35 -07:00
firmware.c
fpu.S
ftrace.c
head_8xx.S
head_32.S powerpc: Fix TLB invalidation on boot on 32-bit 2008-08-18 14:22:34 +10:00
head_40x.S
head_44x.S powerpc: rework 4xx PTE access and TLB miss 2008-07-09 13:36:17 -04:00
head_64.S powerpc: Make the 64-bit kernel as a position-independent executable 2008-09-15 11:08:38 -07:00
head_booke.h powerpc: rework 4xx PTE access and TLB miss 2008-07-09 13:36:17 -04:00
head_fsl_booke.S powerpc/fsl-booke: Fixup 64-bit PTE reading for SMP support 2008-09-19 13:31:04 -05:00
ibmebus.c powerpc/ibmebus: Restore "name" sysfs attribute on ibmebus devices 2008-08-20 09:50:21 +10:00
idle_6xx.S powerpc: Fix for getting CPU number in power_save_ppc32_restore() 2008-09-03 20:53:47 +10:00
idle_e500.S powerpc: Fix for getting CPU number in power_save_ppc32_restore() 2008-09-03 20:53:47 +10:00
idle_power4.S
idle.c nohz: prevent tick stop outside of the idle loop 2008-07-18 18:10:28 +02:00
init_task.c
io.c
iomap.c
iommu.c powerpc/pseries: iommu enablement for CMO 2008-07-25 15:44:43 +10:00
irq.c powerpc: Make the irq reverse mapping radix tree lockless 2008-09-15 11:08:45 -07:00
isa-bridge.c
kgdb.c kgdb, powerpc: arch specific powerpc kgdb support 2008-07-23 11:30:15 -05:00
kprobes.c kprobes: improve kretprobe scalability with hashed locking 2008-07-25 10:53:30 -07:00
l2cr_6xx.S
legacy_serial.c powerpc/powermac: Fixup default serial port device for pmac_zilog 2008-07-28 16:30:53 +10:00
lparcfg.c powerpc: Replace __FUNCTION__ with __func__ 2008-08-20 16:34:57 +10:00
machine_kexec_32.c kexec jump: rename KEXEC_CONTROL_CODE_SIZE to KEXEC_CONTROL_PAGE_SIZE 2008-08-15 08:35:42 -07:00
machine_kexec_64.c Merge commit 'origin/master' 2008-07-16 11:07:59 +10:00
machine_kexec.c kexec jump 2008-07-26 12:00:04 -07:00
Makefile powerpc: Make the 64-bit kernel as a position-independent executable 2008-09-15 11:08:38 -07:00
misc_32.S powerpc: Introduce local (non-broadcast) forms of tlb invalidates 2008-09-24 16:29:40 -05:00
misc_64.S powerpc: fix giveup_vsx to save registers correctly 2008-07-15 12:29:23 +10:00
misc.S powerpc: Use LOAD_REG_IMMEDIATE only for constants on 64-bit 2008-09-15 11:08:35 -07:00
module_32.c
module_64.c lib: Correct printk %pF to work on all architectures 2008-09-09 11:51:15 -07:00
module.c powerpc: Remove dead module_find_bug code 2008-08-18 14:22:35 +10:00
msi.c
nvram_64.c
of_device.c
of_platform.c powerpc: Add missing reference to coherent_dma_mask 2008-07-08 21:06:35 -07:00
paca.c powerpc: Make the 64-bit kernel as a position-independent executable 2008-09-15 11:08:38 -07:00
pci_32.c
pci_64.c
pci_dn.c
pci-common.c powerpc/pci: Don't keep ISA memory hole resources in the tree 2008-08-11 10:09:56 +10:00
pmc.c
ppc32.h
ppc_ksyms.c powerpc: Introduce local (non-broadcast) forms of tlb invalidates 2008-09-24 16:29:40 -05:00
proc_ppc64.c
process.c powerpc: Remove use of CONFIG_PPC_MERGE 2008-08-04 13:18:17 +10:00
prom_init_check.sh
prom_init.c powerpc: Make the 64-bit kernel as a position-independent executable 2008-09-15 11:08:38 -07:00
prom_parse.c powerpc: Fix OF parsing of 64 bits PCI addresses 2008-07-22 10:39:34 +10:00
prom.c powerpc: Make the 64-bit kernel as a position-independent executable 2008-09-15 11:08:38 -07:00
ptrace32.c powerpc: Correctly hookup PTRACE_GET/SETVSRREGS for 32 bit processes 2008-07-30 15:26:54 +10:00
ptrace.c powerpc: Don't use the wrong thread_struct for ptrace get/set VSX regs 2008-07-30 15:26:54 +10:00
reloc_64.S powerpc: Make the 64-bit kernel as a position-independent executable 2008-09-15 11:08:38 -07:00
rtas_flash.c SL*B: drop kmem cache argument from constructor 2008-07-26 12:00:07 -07:00
rtas_pci.c
rtas-proc.c
rtas-rtc.c
rtas.c powerpc: Zero fill the return values of rtas argument buffer 2008-08-11 10:09:56 +10:00
setup_32.c powerpc: Expose PMCs & cache topology in sysfs on 32-bit 2008-08-20 16:34:58 +10:00
setup_64.c powerpc: Make it possible to move the interrupt handlers away from the kernel 2008-09-15 11:08:08 -07:00
setup-common.c powerpc: Fix major revision number for Freescale cores 2008-09-15 11:08:48 -07:00
setup.h
signal_32.c powerpc: fix giveup_vsx to save registers correctly 2008-07-15 12:29:23 +10:00
signal_64.c powerpc: fix giveup_vsx to save registers correctly 2008-07-15 12:29:23 +10:00
signal.c powerpc: Add TIF_NOTIFY_RESUME support for tracehook 2008-07-28 16:30:50 +10:00
signal.h powerpc: Clean up copy_to/from_user for vsx and fpr 2008-07-03 16:58:11 +10:00
smp-tbsync.c
smp.c powerpc: Make core id information available to userspace 2008-07-28 16:30:52 +10:00
softemu8xx.c
stacktrace.c powerpc: Removed duplicated include in stacktrace.c 2008-07-28 16:30:47 +10:00
suspend.c PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures 2008-07-24 10:47:21 -07:00
swsusp_32.S
swsusp_64.c
swsusp_asm64.S
swsusp.c
sys_ppc32.c powerpc: Use sys_pause for 32-bit pause entry point 2008-09-15 11:08:39 -07:00
syscalls.c powerpc/mm: Add Strong Access Ordering support 2008-07-09 16:30:45 +10:00
sysfs.c powerpc: Fix build warnings introduced by PMC support on 32-bit 2008-09-18 17:57:50 -05:00
systbl_chk.c
systbl_chk.sh
systbl.S
tau_6xx.c
time.c Merge commit 'origin/master' 2008-07-16 11:07:59 +10:00
traps.c powerpc: BookE hardware watchpoint support 2008-07-25 15:44:39 +10:00
udbg_16550.c
udbg.c
vdso.c powerpc: Remove use of CONFIG_PPC_MERGE 2008-08-04 13:18:17 +10:00
vecemu.c
vector.S
vio.c powerpc: Fix vio_bus_probe oops on probe error 2008-08-20 09:50:22 +10:00
vmlinux.lds.S powerpc: Make the 64-bit kernel as a position-independent executable 2008-09-15 11:08:38 -07:00