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
..
8253pit.h
time: move PIT_TICK_RATE to linux/timex.h
2009-06-16 19:47:27 -07:00
a.out-core.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
a.out.h
alpha: introduce field 'taso' into struct linux_binprm
2008-10-16 11:21:38 -07:00
agp.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
agp_backend.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
atomic.h
asm-generic: rename atomic.h to atomic-long.h
2009-06-11 21:02:17 +02:00
auxvec.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
barrier.h
alpha: futex implementation
2009-05-02 15:36:10 -07:00
bitops.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
bitsperlong.h
asm-generic: introduce asm/bitsperlong.h
2009-06-11 21:02:14 +02:00
bug.h
alpha: fixup BUG macro
2009-02-05 12:56:49 -08:00
bugs.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07: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
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
cacheflush.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
checksum.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
compiler.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
console.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_apecs.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_cia.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_irongate.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_lca.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_marvel.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_mcpcia.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_polaris.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_t2.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_titan.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_tsunami.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_wildfire.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
cputime.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
current.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
delay.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
device.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
div64.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
dma-mapping.h
alpha: compile fixes
2009-01-29 18:04:44 -08:00
dma.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
elf.h
[PATCH] remove unused ibcs2/PER_SVR4 in SET_PERSONALITY
2008-10-16 15:40:05 +02:00
emergency-restart.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
err_common.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
err_ev6.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
err_ev7.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
errno.h
cfg80211: errno.h: define ERFKILL
2009-06-07 05:01:00 -07:00
fb.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
fcntl.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
floppy.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
fpu.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
ftrace.h
tracing: make CALLER_ADDRx overwriteable
2009-03-02 16:49:37 -05:00
futex.h
alpha: futex implementation
2009-05-02 15:36:10 -07:00
gct.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
gentrap.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
hardirq.h
preempt-count: force hardirq-count to max of 10
2009-02-12 11:19:05 -05:00
hw_irq.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
hwrpb.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
io.h
alpha: remove dead BIO_VMERGE_BOUNDARY
2008-12-29 08:29:51 +01:00
io_trivial.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
ioctl.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
ioctls.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
ipcbuf.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
irq.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
irq_regs.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
jensen.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
Kbuild
byteorder: make swab.h include asm/swab.h like a regular header
2009-01-14 19:56:50 -08:00
kdebug.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
kmap_types.h
kmap_types: make most arches use generic header file
2009-06-16 19:47:51 -07:00
linkage.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
local.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
machvec.h
alpha: convert u64 to unsigned long long
2009-04-01 08:59:16 -07:00
mc146818rtc.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
md.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
mman.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
mmu.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
mmu_context.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
mmzone.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
module.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
msgbuf.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
mutex.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
page.h
asm-generic: rename page.h and uaccess.h
2009-06-11 21:02:17 +02:00
pal.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
param.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
parport.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
pci.h
Delete pcibios_select_root
2009-06-17 14:04:42 -07:00
percpu.h
alpha: fix percpu build breakage
2009-06-30 18:55:59 -07:00
pgalloc.h
alpha: make pte_alloc_one_kernel() inline
2009-01-15 16:39:40 -08:00
pgtable.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
poll.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
posix_types.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
processor.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
ptrace.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
reg.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
regdef.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
resource.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
rtc.h
alpha: fix RTC on marvel
2009-01-15 16:39:40 -08:00
rwsem.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
scatterlist.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
sections.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
segment.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
sembuf.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
serial.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
setup.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
sfp-machine.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
shmbuf.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
shmparam.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
sigcontext.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
siginfo.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
signal.h
asm-generic: rename termios.h, signal.h and mman.h
2009-06-11 21:01:52 +02:00
smp.h
cpumask: centralize cpu_online_map and cpu_possible_map
2008-12-13 21:19:41 +10:30
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
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
spinlock.h
Allow rwlocks to re-enable interrupts
2009-04-02 19:05:11 -07:00
spinlock_types.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
stat.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
statfs.h
headers_check fix: alpha, statfs.h
2009-02-01 11:01:22 +05:30
string.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
swab.h
headers_check fix: alpha, swab.h
2009-02-01 11:01:22 +05:30
sysinfo.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
system.h
alpha: xchg/cmpxchg cleanup and fixes
2009-04-01 08:59:16 -07:00
termbits.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
termios.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
thread_info.h
sched: INIT_PREEMPT_COUNT
2009-07-10 14:24:05 -07:00
timex.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
tlb.h
mm: Pass virtual address to [__]p{te,ud,md}_free_tlb()
2009-07-27 12:10:38 -07:00
tlbflush.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
topology.h
cpumask: alpha: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask
2008-12-26 22:23:41 +10:30
types.h
asm-generic: introduce asm/bitsperlong.h
2009-06-11 21:02:14 +02:00
uaccess.h
alpha: exception table sorting
2009-05-02 15:36:10 -07:00
ucontext.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
unaligned.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
unistd.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
user.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
vga.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
xchg.h
alpha: xchg/cmpxchg cleanup and fixes
2009-04-01 08:59:16 -07:00
xor.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00