kernel-ark/arch/arm
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
..
boot [ARM] Add old Feroceon support to compressed/head.S 2009-06-19 13:38:53 -04:00
common [ARM] 5556/1: Fix the irq_desc.cpu references 2009-06-19 15:11:16 +01:00
configs [ARM] 5608/1: Updated U300 defconfig 2009-07-17 13:38:56 +01:00
include/asm mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
kernel [ARM] 5565/2: Use PAGE_SIZE and RO_DATA() in link script 2009-06-25 14:00:59 +01:00
lib Merge branch 'copy_user' of git://git.marvell.com/orion into devel 2009-06-14 10:59:32 +01:00
mach-aaec2000
mach-at91 [ARM] 5562/2: at91: add gpio button support for at91sam9g20ek 2009-06-29 11:19:27 +01:00
mach-clps711x
mach-davinci Merge git://git.infradead.org/mtd-2.6 2009-06-22 16:56:22 -07:00
mach-ebsa110
mach-ep93xx [ARM] 5595/1: ep93xx: missing header in dma-m2p.c 2009-07-09 16:11:48 +01:00
mach-footbridge
mach-gemini
mach-h720x
mach-integrator
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx
mach-ixp23xx
mach-ixp2000
mach-kirkwood [ARM] Kirkwood: Correct header define 2009-07-06 23:54:56 -04:00
mach-ks8695
mach-l7200
mach-lh7a40x
mach-loki
mach-mmp
mach-msm
mach-mv78xx0
mach-mx1
mach-mx2 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2009-06-14 13:42:43 -07:00
mach-mx3 ARM: add support for the EET board, based on the i.MX31 pcm037 module 2009-06-23 14:25:26 +02:00
mach-netx
mach-ns9xxx
mach-omap1 OMAP1: remove duplicated #include 2009-06-23 13:30:22 +03:00
mach-omap2 OMAP3: RX51: Use OneNAND sync read / write 2009-06-23 13:30:25 +03:00
mach-orion5x [ARM] orion5x: register the crypto device on SOCs that support it 2009-06-15 00:37:08 -04:00
mach-pnx4008
mach-pxa [ARM] pxa: fix ULPI_{DIR,NXT,STP} MFP defines 2009-07-06 18:11:10 +08:00
mach-realview ARM: Realview & Versatile: Fix i2c_board_info definitions 2009-07-18 17:08:59 +01:00
mach-rpc
mach-s3c24a0/include/mach
mach-s3c2400
mach-s3c2410 [ARM] S3C24XX: remove duplicated #include 2009-06-16 23:30:12 +01:00
mach-s3c2412
mach-s3c2440 [ARM] MINI2440: Add missing flash_bbt flat to NAND 2009-06-23 18:23:27 +01:00
mach-s3c2442 [ARM] GTA02: build fixes (s3c2410_nand_set usage) 2009-06-24 00:10:46 +01:00
mach-s3c2443
mach-s3c6400
mach-s3c6410
mach-sa1100 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-06-14 13:46:25 -07:00
mach-shark
mach-stmp37xx
mach-stmp378x
mach-u300 [ARM] 5594/1: Correct U300 VIC init PM setting 2009-07-09 16:15:46 +01:00
mach-versatile ARM: Realview & Versatile: Fix i2c_board_info definitions 2009-07-18 17:08:59 +01:00
mach-w90x900
mm [ARM] export __cpu_flush_dcache_page 2009-07-05 15:25:00 +01:00
nwfpe
oprofile
plat-iop
plat-mxc pcm037: add MT9T031 camera support 2009-06-23 14:25:26 +02:00
plat-omap OMAP: Fix IOMEM macro for assembly 2009-06-23 16:56:05 +03:00
plat-orion
plat-pxa [ARM] pxa: use kzalloc() in pxa_init_gpio_chip() 2009-07-03 14:17:51 +08:00
plat-s3c [ARM] S3C: Fix S3C24XX build to not include s3c64xx IIS devices 2009-06-23 16:34:35 +01:00
plat-s3c24xx [ARM] S3C24XX: Fix spi-bus configuration build errors 2009-06-23 16:16:01 +01:00
plat-s3c64xx [ARM] S3C64XX: add to_irq() support for EINT() GPIO 2009-06-22 14:11:56 +01:00
plat-stmp3xxx
tools [ARM] Update mach-types 2009-06-20 22:28:41 +01:00
vfp
Kconfig [ARM] S3C64XX: Initial support for DVFS 2009-06-16 23:36:24 +01:00
Kconfig-nommu
Kconfig.debug [ARM] S3C: Remove unused CONFIG_DEBUG_S3C_PORT 2009-06-23 12:24:07 +01:00
Makefile Merge branch 'u300' into devel 2009-06-14 11:01:44 +01:00