1
linux/arch/arm
Ben Dooks fc0b7a2036 [ARM] 5349/1: VFP: Add PM code to save and restore current VFP state
When CONFIG_PM is selected, the VFP code does not have any handler
installed to deal with either saving the VFP state of the current
task, nor does it do anything to try and restore the VFP after a
resume.

On resume, the VFP will have been reset and the co-processor access
control registers are in an indeterminate state (very probably the
CP10 and CP11 the VFP uses will have been disabled by the ARM core
reset). When this happens, resume will break as soon as it tries to
unfreeze the tasks and restart scheduling.

Add a sys device to allow us to hook the suspend call to save the
current thread state if the thread is using VFP and a resume hook
which restores the CP10/CP11 access and ensures the VFP is disabled
so that the lazy swapping will take place on next access.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-12-18 21:21:34 +00:00
..
boot Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel 2008-12-02 22:07:40 +00:00
common Merge branch 'mxc-pu-imxfb' of git://pasiphae.extern.pengutronix.de/git/imx/linux-2.6 into devel 2008-12-17 20:04:45 +00:00
configs [ARM] MX31: defconfig for mx31moboard platform 2008-12-16 14:58:20 +01:00
include/asm Merge branch 'omap3-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into devel 2008-12-15 22:13:26 +00:00
kernel Merge branch 'mxc-pu-imxfb' of git://pasiphae.extern.pengutronix.de/git/imx/linux-2.6 into devel 2008-12-17 20:04:45 +00:00
lib Merge branch 'clps7500' into devel 2008-11-27 12:39:43 +00:00
mach-aaec2000 Merge branch 'clks' into devel 2008-11-30 17:46:52 +00:00
mach-at91 [ARM] 5319/1: AT91: support AT91CAP9 revC CPUs 2008-12-01 17:22:07 +00:00
mach-clps711x [ARM] Add a common typesafe __io implementation 2008-11-30 11:45:54 +00:00
mach-davinci [ARM] davinci: asm/memory.h is not required for mach/vmalloc.h 2008-11-30 14:42:43 +00:00
mach-ebsa110 [ARM] Hide ISA DMA API when ISA_DMA_API is unset 2008-11-29 18:42:40 +00:00
mach-ep93xx [ARM] 5343/1: ep93xx: include linux/i2c.h 2008-12-13 09:12:09 +00:00
mach-footbridge [ARM] netwinder: clean up GPIO naming 2008-12-13 09:12:07 +00:00
mach-h720x [ARM] Ensure that both MAX_DMA_ADDRESS and ISA_DMA_THRESHOLD are defined 2008-11-30 13:26:47 +00:00
mach-imx Merge branch 'mxc-pu-imxfb' of git://pasiphae.extern.pengutronix.de/git/imx/linux-2.6 into devel 2008-12-17 20:04:45 +00:00
mach-integrator [ARM] integrator: parenthesize __virt_to_bus/__bus_to_virt argument 2008-11-30 11:44:11 +00:00
mach-iop13xx [ARM] Hide ISA DMA API when ISA_DMA_API is unset 2008-11-29 18:42:40 +00:00
mach-iop32x [ARM] Hide ISA DMA API when ISA_DMA_API is unset 2008-11-29 18:42:40 +00:00
mach-iop33x [ARM] fix missing includes for iop33x and sa1100_ir 2008-12-01 23:01:19 +00:00
mach-ixp4xx [ARM] Add a common typesafe __io implementation 2008-11-30 11:45:54 +00:00
mach-ixp23xx [ARM] Hide ISA DMA API when ISA_DMA_API is unset 2008-11-29 18:42:40 +00:00
mach-ixp2000 [ARM] Hide ISA DMA API when ISA_DMA_API is unset 2008-11-29 18:42:40 +00:00
mach-kirkwood Merge git://git.marvell.com/orion into devel 2008-12-13 09:12:51 +00:00
mach-ks8695 [ARM] DSM320: Add support for the DSM320 2008-12-14 11:34:48 +00:00
mach-l7200 [ARM] Add a common typesafe __io implementation 2008-11-30 11:45:54 +00:00
mach-lh7a40x Merge branch 'clks' into devel 2008-11-30 17:46:52 +00:00
mach-loki [ARM] Hide ISA DMA API when ISA_DMA_API is unset 2008-11-29 18:42:40 +00:00
mach-msm [ARM] Add a common typesafe __io implementation 2008-11-30 11:45:54 +00:00
mach-mv78xx0 Merge git://git.marvell.com/orion into devel 2008-12-13 09:12:51 +00:00
mach-mx1 patch-mx1-add-devices 2008-12-16 14:58:41 +01:00
mach-mx2 [ARM] pcm038: Add NAND support 2008-12-16 14:58:00 +01:00
mach-mx3 [ARM] MX31: basic support for mx31moboard platform 2008-12-16 14:58:19 +01:00
mach-netx Merge branch 'clks' into devel 2008-11-30 17:46:52 +00:00
mach-ns9xxx [ARM] Add a common typesafe __io implementation 2008-11-30 11:45:54 +00:00
mach-omap1 Merge branch 'hsmmc-init' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into devel 2008-12-17 20:03:39 +00:00
mach-omap2 omap mmc: force MMC module reset on boot 2008-12-10 17:37:17 -08:00
mach-orion5x Merge git://git.marvell.com/orion into devel 2008-12-13 09:12:51 +00:00
mach-pnx4008 [ARM] Add a common typesafe __io implementation 2008-11-30 11:45:54 +00:00
mach-pxa Merge branch 'mxc-pu-imxfb' of git://pasiphae.extern.pengutronix.de/git/imx/linux-2.6 into devel 2008-12-17 20:04:45 +00:00
mach-realview Merge branch 'for-rmk-realview' of git://linux-arm.org/linux-2.6 into devel 2008-12-01 17:53:45 +00:00
mach-rpc [ARM] give RiscPC a NR_IRQS definition and remove default 2008-11-29 19:14:31 +00:00
mach-s3c2400 [ARM] remove a common set of __virt_to_bus definitions 2008-11-28 15:36:49 +00:00
mach-s3c2410 Merge git://git.marvell.com/orion into devel 2008-12-13 09:12:51 +00:00
mach-s3c2412 Merge branch 's3c-moves2' of git://aeryn.fluff.org.uk/bjdooks/linux into devel 2008-11-29 19:35:07 +00:00
mach-s3c2440 Merge branch 's3c-moves2' of git://aeryn.fluff.org.uk/bjdooks/linux into devel 2008-11-29 19:35:07 +00:00
mach-s3c2442 [ARM] Arrange for platforms to select appropriate CPU support 2008-11-27 12:38:00 +00:00
mach-s3c2443 Merge branch 's3c-moves2' of git://aeryn.fluff.org.uk/bjdooks/linux into devel 2008-11-29 19:35:07 +00:00
mach-sa1100 [ARM] move asm/xip.h's mach/hardware.h include to mach/xip.h 2008-12-14 13:22:51 +00:00
mach-shark [ARM] Rename ISA mach/dma.h header to mach/isa-dma.h 2008-11-29 18:49:55 +00:00
mach-versatile [ARM] Add a common typesafe __io implementation 2008-11-30 11:45:54 +00:00
mach-w90x900 [ARM] 5338/1: Add Nuvoton W90P910 Platform support 2008-12-03 21:57:16 +00:00
mm Merge branch 'mxc-pu-imxfb' of git://pasiphae.extern.pengutronix.de/git/imx/linux-2.6 into devel 2008-12-17 20:04:45 +00:00
nwfpe [ARM] Convert asm/uaccess.h to linux/uaccess.h 2008-09-06 11:35:55 +01:00
oprofile [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
plat-iop [ARM] iop: iop3xx needs registers mapped uncached+unbuffered 2008-11-09 11:18:36 +00:00
plat-mxc Unused variable 'reg' removed. 2008-12-16 14:58:44 +01:00
plat-omap Merge branch 'hsmmc-init' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into devel 2008-12-17 20:03:39 +00:00
plat-orion Merge branch 'omap3-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into devel 2008-12-15 22:13:26 +00:00
plat-s3c [ARM] S3C: Move regs-ac97.h to arch/arm/plat-s3c/include/plat. 2008-10-30 10:17:14 +00:00
plat-s3c24xx Merge branch 's3c-moves2' of git://aeryn.fluff.org.uk/bjdooks/linux into devel 2008-11-29 19:35:07 +00:00
tools [ARM] Update mach-types 2008-11-30 16:39:42 +00:00
vfp [ARM] 5349/1: VFP: Add PM code to save and restore current VFP state 2008-12-18 21:21:34 +00:00
Kconfig [ARM] KS8695: Fixup the KS8695 GPIO to be GPIOLIB 2008-12-14 11:34:47 +00:00
Kconfig-nommu
Kconfig.debug
Makefile patch-mxc-add-ARCH_MX1 2008-12-16 14:58:40 +01:00