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
..
bitops
asm-generic: rename atomic.h to atomic-long.h
2009-06-11 21:02:17 +02:00
4level-fixup.h
mm: Pass virtual address to [__]p{te,ud,md}_free_tlb()
2009-07-27 12:10:38 -07:00
atomic-long.h
asm-generic: merge branch 'master' of torvalds/linux-2.6
2009-06-12 11:32:58 +02:00
atomic.h
asm-generic: add generic atomic.h and io.h
2009-06-11 21:02:49 +02:00
atomic64.h
lib: Provide generic atomic64_t implementation
2009-06-15 13:27:38 +10:00
audit_change_attr.h
audit_dir_write.h
audit_read.h
audit_signal.h
audit_write.h
[PATCH] asm/generic: fix bug - kernel fails to build when enable some common audit code on Blackfin
2008-12-09 02:27:39 -05:00
auxvec.h
asm-generic: add generic ABI headers
2009-06-11 21:02:15 +02:00
bitops.h
asm-generic: make bitops.h usable
2009-06-11 21:02:31 +02:00
bitsperlong.h
asm-generic: introduce asm/bitsperlong.h
2009-06-11 21:02:14 +02:00
bug.h
Eliminate thousands of warnings with gcc 3.2 build
2009-05-06 16:36:09 -07:00
bugs.h
asm-generic: add generic versions of common headers
2009-06-11 21:02:37 +02:00
cache.h
asm-generic: add generic NOMMU versions of some headers
2009-06-11 21:02:50 +02:00
cacheflush.h
asm-generic: add generic NOMMU versions of some headers
2009-06-11 21:02:50 +02:00
checksum.h
add generic lib/checksum.c
2009-06-11 21:02:51 +02:00
cmpxchg-local.h
cmpxchg.h
cputime.h
current.h
asm-generic: add generic versions of common headers
2009-06-11 21:02:37 +02:00
delay.h
asm-generic: add generic versions of common headers
2009-06-11 21:02:37 +02:00
device.h
div64.h
dma-coherent.h
dma-mapping-broken.h
dma-mapping: add the device argument to dma_mapping_error()
2008-07-26 12:00:03 -07:00
dma-mapping-common.h
dma-mapping: add asm-generic/dma-mapping-common.h
2009-06-18 13:03:58 -07:00
dma.h
asm-generic: add legacy I/O header files
2009-06-11 21:02:42 +02:00
emergency-restart.h
errno-base.h
errno.h
cfg80211: add rfkill support
2009-06-03 14:06:14 -04:00
fb.h
asm-generic: add generic versions of common headers
2009-06-11 21:02:37 +02:00
fcntl.h
make exported headers use strict posix types
2009-03-26 18:14:14 +01:00
futex.h
getorder.h
asm-generic: rename page.h and uaccess.h
2009-06-11 21:02:17 +02:00
gpio.h
gpiolib: allow GPIOs to be named
2009-04-02 19:04:51 -07:00
hardirq.h
asm-generic: drop HARDIRQ_BITS definition from hardirq.h
2009-06-19 14:58:09 +02:00
hw_irq.h
asm-generic: add legacy I/O header files
2009-06-11 21:02:42 +02:00
ide_iops.h
int-l64.h
asm-generic: introduce asm/bitsperlong.h
2009-06-11 21:02:14 +02:00
int-ll64.h
asm-generic: introduce asm/bitsperlong.h
2009-06-11 21:02:14 +02:00
io.h
asm-generic: add generic atomic.h and io.h
2009-06-11 21:02:49 +02:00
ioctl.h
Make ioctl.h compatible with userland
2008-08-12 16:07:31 -07:00
ioctls.h
asm-generic: add generic ABI headers
2009-06-11 21:02:15 +02:00
iomap.h
ipcbuf.h
asm-generic: add generic sysv ipc headers
2009-06-11 21:02:15 +02:00
irq.h
asm-generic: add generic versions of common headers
2009-06-11 21:02:37 +02:00
irq_regs.h
irqflags.h
asm-generic: add generic versions of common headers
2009-06-11 21:02:37 +02:00
Kbuild
asm-generic: add a generic unistd.h
2009-06-11 21:02:16 +02:00
Kbuild.asm
asm-generic: introduce asm/bitsperlong.h
2009-06-11 21:02:14 +02:00
kdebug.h
asm-generic: define DIE_OOPS in asm-generic
2008-10-27 11:39:03 +01:00
kmap_types.h
Merge branch 'linus' into perfcounters/core
2009-06-17 13:06:17 +02:00
libata-portmap.h
linkage.h
asm-generic: add generic versions of common headers
2009-06-11 21:02:37 +02:00
local.h
asm-generic: fix local_add_unless macro
2009-05-18 08:34:08 -07:00
memory_model.h
mm: remove CONFIG_OUT_OF_LINE_PFN_TO_PAGE
2009-01-06 15:59:10 -08:00
mm_hooks.h
mman-common.h
asm-generic: rename termios.h, signal.h and mman.h
2009-06-11 21:01:52 +02:00
mman.h
asm-generic: add generic ABI headers
2009-06-11 21:02:15 +02:00
mmu.h
asm-generic: add generic NOMMU versions of some headers
2009-06-11 21:02:50 +02:00
mmu_context.h
asm-generic: add generic NOMMU versions of some headers
2009-06-11 21:02:50 +02:00
module.h
asm-generic: add generic versions of common headers
2009-06-11 21:02:37 +02:00
msgbuf.h
asm-generic: add generic sysv ipc headers
2009-06-11 21:02:15 +02:00
mutex-dec.h
mutex: speed up generic mutex implementations
2008-10-23 09:18:20 -07:00
mutex-null.h
mutex-xchg.h
mutex: speed up generic mutex implementations
2008-10-23 09:18:20 -07:00
mutex.h
asm-generic: add generic versions of common headers
2009-06-11 21:02:37 +02:00
page.h
asm-generic: add generic NOMMU versions of some headers
2009-06-11 21:02:50 +02:00
param.h
asm-generic: add generic ABI headers
2009-06-11 21:02:15 +02:00
parport.h
asm-generic: add legacy I/O header files
2009-06-11 21:02:42 +02:00
pci-dma-compat.h
dma-mapping: add the device argument to dma_mapping_error()
2008-07-26 12:00:03 -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
asm-generic: add generic NOMMU versions of some headers
2009-06-11 21:02:50 +02:00
pgtable-nopmd.h
mm: Pass virtual address to [__]p{te,ud,md}_free_tlb()
2009-07-27 12:10:38 -07:00
pgtable-nopud.h
mm: Pass virtual address to [__]p{te,ud,md}_free_tlb()
2009-07-27 12:10:38 -07:00
pgtable.h
asm-generic: add dummy pgprot_noncached()
2009-06-23 14:34:30 +02:00
poll.h
posix_types.h
asm-generic: add generic ABI headers
2009-06-11 21:02:15 +02:00
resource.h
rtc.h
asm-generic: make get_rtc_time overridable
2009-06-11 21:02:18 +02:00
scatterlist.h
asm-generic: add generic versions of common headers
2009-06-11 21:02:37 +02:00
sections.h
kernel: constructor support
2009-06-18 13:03:57 -07:00
segment.h
asm-generic: add generic NOMMU versions of some headers
2009-06-11 21:02:50 +02:00
sembuf.h
asm-generic: add generic sysv ipc headers
2009-06-11 21:02:15 +02:00
serial.h
asm-generic: add legacy I/O header files
2009-06-11 21:02:42 +02:00
setup.h
asm-generic: add generic ABI headers
2009-06-11 21:02:15 +02:00
shmbuf.h
asm-generic: add generic sysv ipc headers
2009-06-11 21:02:15 +02:00
shmparam.h
asm-generic: add generic sysv ipc headers
2009-06-11 21:02:15 +02:00
siginfo.h
asm-generic/siginfo.h: update NSIGTRAP definition
2009-04-13 15:04:30 -07:00
signal-defs.h
asm-generic: rename termios.h, signal.h and mman.h
2009-06-11 21:01:52 +02:00
signal.h
asm-generic: add generic ABI headers
2009-06-11 21:02:15 +02:00
socket.h
asm-generic: add generic ABI headers
2009-06-11 21:02:15 +02:00
sockios.h
asm-generic: add generic ABI headers
2009-06-11 21:02:15 +02:00
spinlock.h
asm-generic: add generic versions of common headers
2009-06-11 21:02:37 +02:00
stat.h
asm-generic: add generic ABI headers
2009-06-11 21:02:15 +02:00
statfs.h
remove __KERNEL_STRICT_NAMES
2009-03-26 18:14:21 +01:00
string.h
asm-generic: add generic versions of common headers
2009-06-11 21:02:37 +02:00
swab.h
asm-generic: add generic ABI headers
2009-06-11 21:02:15 +02:00
syscall.h
tracehook: comment pasto fixes
2008-09-05 14:39:38 -07:00
syscalls.h
asm-generic: add generic versions of common headers
2009-06-11 21:02:37 +02:00
system.h
asm-generic: add generic versions of common headers
2009-06-11 21:02:37 +02:00
termbits.h
asm-generic: add generic ABI headers
2009-06-11 21:02:15 +02:00
termios-base.h
asm-generic: rename termios.h, signal.h and mman.h
2009-06-11 21:01:52 +02:00
termios.h
asm-generic: add generic ABI headers
2009-06-11 21:02:15 +02:00
timex.h
asm-generic: add legacy I/O header files
2009-06-11 21:02:42 +02:00
tlb.h
mm: Pass virtual address to [__]p{te,ud,md}_free_tlb()
2009-07-27 12:10:38 -07:00
tlbflush.h
asm-generic: add generic NOMMU versions of some headers
2009-06-11 21:02:50 +02:00
topology.h
cpumask: remove the now-obsoleted pcibus_to_cpumask(): generic
2009-03-30 22:05:17 +10:30
types.h
asm-generic: add generic ABI headers
2009-06-11 21:02:15 +02:00
uaccess-unaligned.h
asm-generic: rename page.h and uaccess.h
2009-06-11 21:02:17 +02:00
uaccess.h
asm-generic: uaccess: fix up local access_ok() usage
2009-06-19 14:58:08 +02:00
ucontext.h
asm-generic: add generic ABI headers
2009-06-11 21:02:15 +02:00
unaligned.h
asm-generic: add generic versions of common headers
2009-06-11 21:02:37 +02:00
unistd.h
asm-generic: hook up new system calls
2009-06-19 14:58:11 +02:00
user.h
asm-generic: add generic versions of common headers
2009-06-11 21:02:37 +02:00
vga.h
asm-generic: add legacy I/O header files
2009-06-11 21:02:42 +02:00
vmlinux.lds.h
vmlinux.lds.h: restructure BSS linker script macros
2009-07-18 00:02:45 +02:00
xor.h