kernel_optimize_test/arch/arm/mach-pxa
Aric D. Blumer 24c7855774 ARM: pxa: fix page table corruption on resume
Before this patch, the following error would sometimes occur after a
resume on pxa3xx:

    /path/to/mm/memory.c:144: bad pmd 8040542e.

The problem was that a temporary page table mapping was being improperly
restored.

The PXA3xx resume code creates a temporary mapping of resume_turn_on_mmu
to avoid a prefetch abort.  The pxa3xx_resume_after_mmu code requires
that the r1 register holding the address of this mapping not be
modified, however, resume_turn_on_mmu does modify it. It is mostly
correct in that r1 receives the base table address, but it may also
get other bits in 13:0.  This results in pxa3xx_resume_after_mmu
restoring the original mapping to the wrong place, corrupting memory
and leaving the temporary mapping in place.

Signed-off-by: Matt Reimer <mreimer@sdgsystems.com>
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
2011-01-03 23:18:59 +08:00
..
include/mach arm: return both physical and virtual addresses from addruart 2010-10-20 00:27:33 -04:00
am200epd.c [ARM] pxa: introduce pxa{25x,27x,300,320,930}.h for board usage 2009-03-09 21:22:36 +08:00
am300epd.c broadsheetfb: add multiple panel type support 2010-03-12 15:52:32 -08:00
balloon3.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
capc7117.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
clock.c ARM: Consolidate clks_register() and similar 2010-02-12 17:32:36 +00:00
clock.h ARM: Consolidate clks_register() and similar 2010-02-12 17:32:36 +00:00
cm-x2xx-pci.c ARM: Remove 'node' argument form arch_adjust_zones() 2010-07-16 10:57:36 +01:00
cm-x2xx-pci.h
cm-x2xx.c ARM: pxa/cm-x2xx: remove duplicate call to pxa27x_init_irq 2010-11-03 23:11:18 +08:00
cm-x255.c [ARM] pxa: simplify the LCD pin configuration for pxa25x platforms 2010-03-02 07:40:46 +08:00
cm-x270.c [ARM] pxa/cm-x270: avoid direct access of GPIO/MFP registers 2010-03-02 07:40:48 +08:00
cm-x300.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
colibri-pxa3xx.c [ARM] pxa: make it clear by converting MMC 'delay_detect' to millisecond 2010-05-11 17:25:04 +02:00
colibri-pxa270-evalboard.c [ARM] pxa/colibri270: Split module and base board code 2010-06-18 15:07:34 +08:00
colibri-pxa270-income.c [ARM] pxa/income: Add Income SBC support 2010-06-18 15:07:34 +08:00
colibri-pxa270.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
colibri-pxa300.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
colibri-pxa320.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
corgi_pm.c [ARM] pxa: removed mostly unused and confusing two sharpsl.h 2010-08-05 14:32:38 +08:00
corgi.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
cpufreq-pxa2xx.c ARM: pxa: remove pr_<level> uses of KERN_<level> 2010-09-25 09:47:04 +08:00
cpufreq-pxa3xx.c ARM: pxa: reduce the scope of get_clk_frequency_khz() 2010-10-09 17:07:30 +08:00
csb701.c [ARM] pxa/csb701: do not register devices on non-csb726 boads 2009-04-04 10:26:35 +08:00
csb726.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
devices.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-10-25 08:32:05 -07:00
devices.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-10-25 08:32:05 -07:00
em-x270.c Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2010-10-28 09:35:11 -07:00
eseries.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
eseries.h [ARM] pxa: Add multi-io support for e-series 2008-12-15 03:29:34 +00:00
ezx.c Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2010-10-28 09:35:11 -07:00
generic.c ARM: pxa: reduce the scope of get_memclk_frequency_10khz() 2010-10-09 17:07:31 +08:00
generic.h ARM: pxa: reduce the scope of get_memclk_frequency_10khz() 2010-10-09 17:07:31 +08:00
gumstix.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
h5000.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
himalaya.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
hx4700.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
icontrol.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
idp.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
irq.c [ARM] pxa: fix irq suspend/resume for pxa25x 2010-01-13 21:01:09 +08:00
Kconfig ARM: pxa: PXA_ESERIES depends on FB_W100. 2011-01-03 23:17:56 +08:00
leds-idp.c [ARM] pxa: introduce pxa{25x,27x,300,320,930}.h for board usage 2009-03-09 21:22:36 +08:00
leds-lubbock.c [ARM] pxa: introduce pxa{25x,27x,300,320,930}.h for board usage 2009-03-09 21:22:36 +08:00
leds-mainstone.c [ARM] pxa: introduce pxa{25x,27x,300,320,930}.h for board usage 2009-03-09 21:22:36 +08:00
leds.c
leds.h
littleton.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
lpd270.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
lubbock.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
magician.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
mainstone.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
Makefile ARM: pxa: append tavorevb3 support 2010-10-09 17:07:24 +08:00
Makefile.boot
mfp-pxa2xx.c [ARM] pxa: allow MFP_LPM_INPUT to be explicitly specified 2010-05-11 17:25:00 +02:00
mfp-pxa3xx.c [ARM] pxa: move common MFP handling code into plat-pxa 2009-03-23 10:11:34 +08:00
mioa701_bootresume.S
mioa701.c Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2010-10-28 09:35:11 -07:00
mp900.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
mxm8x10.c [ARM] pxa: make it clear by converting MMC 'delay_detect' to millisecond 2010-05-11 17:25:04 +02:00
palm27x.c ARM: pxa: Use PIO for PI2C communication on Palm27x 2010-09-25 09:47:02 +08:00
palmld.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
palmt5.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
palmtc.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
palmte2.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
palmtreo.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
palmtx.c ARM: pxa/palm: fix ifdef around gen_nand driver registration 2010-11-30 20:14:05 +08:00
palmz72.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
pcm027.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
pcm990-baseboard.c [media] soc_camera: Don't use module names to load I2C modules 2010-10-22 21:53:52 -02:00
pm.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
poodle.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
pxa2xx.c [ARM] pxa: add gpio_pwdown(_inverted) into pxaficp_ir.c 2009-09-10 18:49:39 +08:00
pxa3xx-ulpi.c ARM: pxa: fix pxa3xx-u2d crash when ULPI not used 2010-10-08 16:21:18 +08:00
pxa3xx.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-10-25 08:32:05 -07:00
pxa25x.c [ARM] pxa: move pmu device back into mach-pxa/ 2010-08-05 14:32:19 +08:00
pxa27x.c Merge branch 'for-2.6.36' into for-2.6.37 2010-08-16 18:42:58 +01:00
pxa300.c ARM: Consolidate clks_register() and similar 2010-02-12 17:32:36 +00:00
pxa320.c ARM: Consolidate clks_register() and similar 2010-02-12 17:32:36 +00:00
pxa930.c ARM: pxa: append tavorevb3 support 2010-10-09 17:07:24 +08:00
raumfeld.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
reset.c [ARM] pxa: allow gpio_reset drive high during normal work 2009-05-18 21:52:09 +08:00
saar.c ARM: pxa/saar: fix the building failure caused by typo 2010-11-03 23:11:19 +08:00
sharpsl_pm.c [ARM] pxa: removed mostly unused and confusing two sharpsl.h 2010-08-05 14:32:38 +08:00
sleep.S ARM: pxa: fix page table corruption on resume 2011-01-03 23:18:59 +08:00
smemc.c [ARM] pxa: avoid polluting the kernel's namespace 2008-11-28 16:04:54 +00:00
spitz_pm.c [ARM] pxa: removed mostly unused and confusing two sharpsl.h 2010-08-05 14:32:38 +08:00
spitz.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
standby.S [ARM] pxa: separate definitions from pxa-regs.h and remove it finally 2009-03-09 21:22:40 +08:00
stargate2.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
tavorevb3.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
tavorevb.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
time.c arm/{pxa,sa1100,nomadik}: Don't disable irqs in set_next_event and set_mode 2010-01-22 17:04:52 +01:00
tosa-bt.c rfkill: rewrite 2009-06-03 14:06:13 -04:00
tosa.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
trizeps4.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
viper.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
vpac270.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
xcep.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
z2.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
zeus.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
zylonite_pxa300.c [ARM] pxa/zylonite: simplify reduntant gpio settings on mmc slot 2009-12-29 14:11:34 +08:00
zylonite_pxa320.c [ARM] pxa/zylonite: simplify reduntant gpio settings on mmc slot 2009-12-29 14:11:34 +08:00
zylonite.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-10-25 08:32:05 -07:00