linux/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 Gemini: Fix SRAM/ROM location after memory swap 2009-05-28 16:42:25 +03:00
mach-h720x
mach-integrator [ARM] 5517/1: integrator: don't put clock lookups in __initdata 2009-05-18 17:43:16 +01:00
mach-iop13xx dma-mapping: replace all DMA_64BIT_MASK macro with DMA_BIT_MASK(64) 2009-04-07 08:31:10 -07:00
mach-iop32x
mach-iop33x
mach-ixp4xx IXP4xx: Change QMgr function names to qmgr_stat_*_watermark and clean the comments. 2009-05-25 13:25:34 +02:00
mach-ixp23xx
mach-ixp2000
mach-kirkwood [ARM] Kirkwood: Correct header define 2009-07-06 23:54:56 -04:00
mach-ks8695
mach-l7200 [ARM] mach-l7200: fix spelling of SYS_CLOCK_OFF 2009-05-18 11:25:08 +01:00
mach-lh7a40x
mach-loki [ARM] add coherent DMA mask for mv643xx_eth 2009-05-22 17:05:53 -04:00
mach-mmp [ARM] pxa: add PWM devices support for pxa168/910 2009-06-05 10:32:06 +08:00
mach-msm clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
mach-mv78xx0 [ARM] orion: convert gpio to use gpiolib 2009-06-08 13:04:57 -04:00
mach-mx1 mx1ads: rename mxc_map_io to mx1_map_io 2009-05-07 16:20:22 +02:00
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 [ARM] VIC: Add power management device 2009-05-07 11:04:57 +01:00
mach-ns9xxx clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
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 [ARM] S3C24XX: GPIO: Fix error returns from gpio functions 2009-05-18 19:40:18 +01:00
mach-s3c2410 [ARM] S3C24XX: remove duplicated #include 2009-06-16 23:30:12 +01:00
mach-s3c2412 Merge branch for-rmk-devel of git://aeryn.fluff.org.uk/bjdooks/linux into devel 2009-06-10 22:41:06 +01:00
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 [ARM] S3C24XX: DMA: Split hardware regs out of <mach/dma.h> 2009-05-01 11:39:06 +01:00
mach-s3c6400 Merge branch for-rmk-devel of git://aeryn.fluff.org.uk/bjdooks/linux into devel 2009-06-10 22:41:06 +01:00
mach-s3c6410 [ARM] SMDK6410: Add USB high-speed/OtG gadget device 2009-05-16 22:14:09 +01:00
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 [ARM] 5539/1: Freescale STMP: onboard devices declaration 2009-06-04 14:16:45 +01:00
mach-stmp378x [ARM] 5539/1: Freescale STMP: onboard devices declaration 2009-06-04 14:16:45 +01:00
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 [ARM] 5549/1: Add clock api for w90p910 platform. 2009-06-11 14:45:18 +01:00
mm [ARM] export __cpu_flush_dcache_page 2009-07-05 15:25:00 +01:00
nwfpe [ARM] nwfpe: fix 'floatx80_is_nan' sparse warning 2009-05-15 12:49:14 +01:00
oprofile RealView: Move the IRQ_* definitions out of the board-*.h files 2009-05-30 14:00:17 +01:00
plat-iop dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
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 [ARM] Orion/Kirkwood: rename orion5x_wdt to orion_wdt 2009-06-08 13:05:00 -04:00
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 [ARM] 5539/1: Freescale STMP: onboard devices declaration 2009-06-04 14:16:45 +01:00
tools [ARM] Update mach-types 2009-06-20 22:28:41 +01:00
vfp Fix the VFP handling on the Feroceon CPU 2009-05-30 14:00:18 +01:00
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