kernel_optimize_test/arch/mips/include/asm
Benjamin Herrenschmidt 9e1b32caa5 mm: Pass virtual address to [__]p{te,ud,md}_free_tlb()
mm: Pass virtual address to [__]p{te,ud,md}_free_tlb()

Upcoming paches to support the new 64-bit "BookE" powerpc architecture
will need to have the virtual address corresponding to PTE page when
freeing it, due to the way the HW table walker works.

Basically, the TLB can be loaded with "large" pages that cover the whole
virtual space (well, sort-of, half of it actually) represented by a PTE
page, and which contain an "indirect" bit indicating that this TLB entry
RPN points to an array of PTEs from which the TLB can then create direct
entries. Thus, in order to invalidate those when PTE pages are deleted,
we need the virtual address to pass to tlbilx or tlbivax instructions.

The old trick of sticking it somewhere in the PTE page struct page sucks
too much, the address is almost readily available in all call sites and
almost everybody implemets these as macros, so we may as well add the
argument everywhere. I added it to the pmd and pud variants for consistency.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: David Howells <dhowells@redhat.com> [MN10300 & FRV]
Acked-by: Nick Piggin <npiggin@suse.de>
Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com> [s390]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-07-27 12:10:38 -07:00
..
dec
emma MIPS: EMMA2RH: Remove emma2rh_sync on read operation 2008-10-27 16:18:30 +00:00
fw
ip32
lasat
mach-ar7 MIPS: Add support for Texas Instruments AR7 System-on-a-Chip 2009-07-03 15:45:23 +01:00
mach-au1x00 MIPS: Alchemy: Rewrite GPIO support. 2009-06-17 11:06:28 +01:00
mach-bcm47xx MIPS: BCM47xx: Fix gpio_direction_output 2009-06-17 11:06:28 +01:00
mach-cavium-octeon MIPS: Move Cavium CP0 hwrena impl bits to cpu-feature-overrides.h 2009-06-17 11:06:31 +01:00
mach-cobalt Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
mach-db1x00
mach-dec
mach-emma2rh
mach-excite
mach-generic MIPS: Pass struct device to plat_dma_addr_to_phys() 2009-06-17 11:06:24 +01:00
mach-ip22 MIPS: IP22/28: Switch over to RTC class driver 2008-10-15 12:46:51 +01:00
mach-ip27 MIPS: Pass struct device to plat_dma_addr_to_phys() 2009-06-17 11:06:24 +01:00
mach-ip28 MIPS: IP22/28: Switch over to RTC class driver 2008-10-15 12:46:51 +01:00
mach-ip32 MIPS: Pass struct device to plat_dma_addr_to_phys() 2009-06-17 11:06:24 +01:00
mach-jazz MIPS: Pass struct device to plat_dma_addr_to_phys() 2009-06-17 11:06:24 +01:00
mach-lasat
mach-lemote MIPS: Pass struct device to plat_dma_addr_to_phys() 2009-06-17 11:06:24 +01:00
mach-malta
mach-mipssim
mach-pb1x00
mach-pnx833x MIPS: Add support for NXP PNX833x (STB222/5) into linux kernel 2008-10-27 16:18:29 +00:00
mach-pnx8550
mach-rc32434 MIPS: RB532: Cleanup cpu-features-overrides 2009-06-17 11:06:26 +01:00
mach-rm
mach-sibyte
mach-tx39xx
mach-tx49xx MIPS: RBTX4939: Add smc91x support 2008-10-27 16:18:27 +00:00
mach-vr41xx
mach-wrppmc
mach-yosemite
mips-boards MIPS: Malta: make a needlessly global integer variable static 2009-03-30 14:49:45 +02:00
octeon MIPS: Reorganize Cavium OCTEON PCI support. 2009-07-03 15:45:29 +01:00
pci
pmc-sierra/msp71xx
sgi
sibyte
sn MIPS: Build fix - include <linux/smp.h> into all smp_processor_id() users. 2009-06-24 18:34:39 +01:00
txx9 MIPS: TXx9: Add TX4939 RNG support 2009-06-17 11:06:27 +01:00
vr41xx Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
xtalk
abi.h
addrspace.h
amon.h MIPS: CMP: activate CMP support 2009-07-03 15:45:26 +01:00
asm.h
asmmacro-32.h
asmmacro-64.h
asmmacro.h MIPS: Use EI/DI for MIPS R2. 2008-12-12 18:12:23 +00:00
atomic.h asm-generic: rename atomic.h to atomic-long.h 2009-06-11 21:02:17 +02:00
auxvec.h
barrier.h
bcache.h
bitops.h MIPS: Enable CLO / CLZ instructions via separate CPU property 2009-05-14 13:50:26 +01:00
bitsperlong.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
bootinfo.h
branch.h
break.h MIPS: Switch FPU emulator trap to BREAK instruction. 2008-10-30 14:44:34 +00:00
bug.h MIPS: bug.h Build fix - include <linux/compiler.h>. 2009-06-24 18:34:38 +01:00
bugs.h MIPS: Build fix - include <linux/smp.h> into all smp_processor_id() users. 2009-06-24 18:34:39 +01:00
byteorder.h byteorder: make swab.h include asm/swab.h like a regular header 2009-01-14 19:56:50 -08:00
cache.h
cachectl.h
cacheflush.h
cacheops.h
cevt-r4k.h MIPS: Have a heart for a lonely, lost header file ... 2008-10-15 12:46:49 +01:00
checksum.h MIPS: uaccess: Switch lock annotations to might_fault(). 2009-05-14 13:50:28 +01:00
cmp.h
cmpxchg.h
compat-signal.h
compat.h MIPS: Do not include seccomp.h from compat.h 2009-05-14 13:50:26 +01:00
compiler.h
cpu-features.h MIPS: Allow CPU specific overriding of CP0 hwrena impl bits. 2009-06-17 11:06:31 +01:00
cpu-info.h MIPS: Outline udelay and fix a few issues. 2009-06-08 16:57:51 +01:00
cpu.h MIPS: Alchemy: unify CPU model constants. 2009-03-30 14:49:45 +02:00
cputime.h
current.h
debug.h
delay.h MIPS: Fix typo resulting in far too long ndelay times. 2009-06-17 11:06:23 +01:00
device.h
div64.h MIPS: Rewrite <asm/div64.h> to work with gcc 4.4.0. 2009-05-14 13:50:29 +01:00
dma-mapping.h MIPS: Synchronize dma_map_page and dma_map_single 2009-05-14 13:50:26 +01:00
dma.h
ds1287.h Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
dsp.h
edac.h
elf.h MIPS: 64-bit: Fix o32 core dump 2009-07-03 15:45:27 +01:00
emergency-restart.h
errno.h cfg80211: errno.h: define ERFKILL 2009-06-07 05:01:00 -07:00
fb.h
fcntl.h
fixmap.h MIPS: Fix highmem. 2009-05-14 13:50:29 +01:00
floppy.h
fpregdef.h
fpu_emulator.h MIPS: Switch FPU emulator trap to BREAK instruction. 2008-10-30 14:44:34 +00:00
fpu.h
ftrace.h tracing: make CALLER_ADDRx overwriteable 2009-03-02 16:49:37 -05:00
futex.h
gcmpregs.h MIPS: CMP: Move gcmp_probe to before the SMP ops 2009-07-03 15:45:26 +01:00
gic.h MIPS: CMP: activate CMP support 2009-07-03 15:45:26 +01:00
gpio.h
gt64120.h
hardirq.h
hazards.h MIPS: Loongson 2 needs no hazard barriers. 2009-05-14 13:50:26 +01:00
highmem.h MIPS: Fix highmem. 2009-05-14 13:50:29 +01:00
hugetlb.h MIPS: Add support files for hugetlbfs. 2009-06-17 11:06:30 +01:00
hw_irq.h
i8253.h time: move PIT_TICK_RATE to linux/timex.h 2009-06-16 19:47:27 -07:00
i8259.h
ide.h
inst.h
io.h MIPS: Modify core io.h macros to account for the Octeon Errata Core-301. 2009-01-11 09:57:22 +00:00
ioctl.h MIPS: ioctl.h: Cleanup. 2009-06-17 11:06:28 +01:00
ioctls.h
ipcbuf.h
irq_cpu.h
irq_gt641xx.h Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
irq_regs.h
irq.h MIPS: Build fix - include <linux/smp.h> into all smp_processor_id() users. 2009-06-24 18:34:39 +01:00
irqflags.h
isadep.h
jazz.h
jazzdma.h
Kbuild byteorder: make swab.h include asm/swab.h like a regular header 2009-01-14 19:56:50 -08:00
kdebug.h
kexec.h
kgdb.h
kmap_types.h kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
kspd.h
linkage.h
local.h
m48t37.h
mc146818-time.h mips: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
mc146818rtc.h
mips_mt.h
mipsmtregs.h
mipsprom.h
mipsregs.h MIPS: Add hugetlbfs page defines. 2009-06-17 11:06:30 +01:00
mman.h
mmu_context.h MIPS: Build fix - include <linux/smp.h> into all smp_processor_id() users. 2009-06-24 18:34:39 +01:00
mmu.h
mmzone.h
module.h MIPS: Add Cavium OCTEON processor constants and CPU probe. 2009-01-11 09:57:22 +00:00
msc01_ic.h
msgbuf.h
mutex.h
nile4.h
paccess.h
page.h MIPS: Fix CONFIG_FLATMEM version of pfn_valid() 2009-07-03 15:45:29 +01:00
param.h
parport.h
pci.h Delete pcibios_select_root 2009-06-17 14:04:42 -07:00
percpu.h
pgalloc.h mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
pgtable-32.h
pgtable-64.h MIPS: Cavium: Add support for 8k and 32k page sizes. 2009-05-14 13:50:27 +01:00
pgtable-bits.h MIPS: Add hugetlbfs page defines. 2009-06-17 11:06:30 +01:00
pgtable.h MIPS: Add hugetlbfs page defines. 2009-06-17 11:06:30 +01:00
pmon.h
poll.h
posix_types.h
prefetch.h MIPS: NEC VR5500 processor support fixup 2009-03-11 21:11:07 +01:00
processor.h MIPS: Add Cavium OCTEON cop2/cvmseg state entries to processor.h. 2009-01-11 09:57:22 +00:00
ptrace.h MIPS: Fix a typo in watchpoint register structure. 2009-01-30 21:32:58 +00:00
r4k-timer.h
r4kcache.h MIPS: Support 64-byte D-cache line size 2009-06-17 11:06:24 +01:00
reboot.h
reg.h MIPS: 64-bit: Fix o32 core dump 2009-07-03 15:45:27 +01:00
regdef.h
resource.h
rm9k-ocd.h
rtlx.h
scatterlist.h
seccomp.h MIPS: Fix TIF_32BIT undefined problem when seccomp is disabled 2009-03-13 23:07:59 +01:00
sections.h
segment.h
sembuf.h
serial.h
setup.h
sgialib.h
sgiarcs.h
sgidefs.h
shmbuf.h
shmparam.h
sigcontext.h headers_check fix: mips, sigcontext.h 2009-02-01 11:01:26 +05:30
siginfo.h
signal.h asm-generic: rename termios.h, signal.h and mman.h 2009-06-11 21:01:52 +02:00
sim.h
smp-ops.h MIPS: Add arch generic CPU hotplug 2009-06-24 18:34:40 +01:00
smp.h MIPS: Cavium: Add CPU hotplugging code. 2009-06-24 18:34:40 +01:00
smtc_ipi.h
smtc_proc.h
smtc.h
smvp.h
sni.h
socket.h net: new user space API for time stamping of incoming and outgoing packets 2009-02-15 22:43:33 -08:00
sockios.h
sparsemem.h
spinlock_types.h
spinlock.h Allow rwlocks to re-enable interrupts 2009-04-02 19:05:11 -07:00
stackframe.h MIPS: Cavium OCTEON multiplier state preservation. 2009-01-11 09:57:24 +00:00
stacktrace.h
stat.h
statfs.h
string.h
suspend.h MIPS: Add hibernation support 2009-06-17 11:06:31 +01:00
swab.h MIPS: Define __arch_swab64 for all mips r2 cpus 2009-07-03 15:45:25 +01:00
sysmips.h
system.h
termbits.h
termios.h MIPS: Add return value checks to user_termio_to_kernel_termios() 2009-01-30 21:32:57 +00:00
thread_info.h sched: INIT_PREEMPT_COUNT 2009-07-10 14:24:05 -07:00
time.h MIPS: Fix build error if CONFIG_CEVT_R4K is undefined. 2009-05-14 13:50:25 +01:00
timex.h
titan_dep.h
tlb.h
tlbdebug.h
tlbflush.h
topology.h
traps.h
txx9irq.h
txx9pio.h
txx9tmr.h
types.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
uaccess.h MIPS: Fix sparse warning in incompatiable argument type of clear_user. 2009-05-22 13:52:05 +01:00
ucontext.h
unaligned.h
unistd.h MIPS: Hookup new syscalls sys_rt_tgsigqueueinfo and sys_perf_counter_open. 2009-07-03 15:45:24 +01:00
user.h
vga.h
vpe.h
war.h
watch.h
wbflush.h
xor.h