linux/arch/arm
Catalin Marinas c98929c07a [ARM] 4582/2: Add support for the common VFP subarchitecture
This patch allows the VFP support code to run correctly on CPUs
compatible with the common VFP subarchitecture specification (Appendix
B in the ARM ARM v7-A and v7-R edition). It implements support for VFP
subarchitecture 2 while being backwards compatible with
subarchitecture 1.

On VFP subarchitecture 1, the arithmetic exceptions are asynchronous
(or imprecise as described in the old ARM ARM) unless the FPSCR.IXE
bit is 1. The exceptional instructions can be read from FPINST and
FPINST2 registers. With VFP subarchitecture 2, the arithmetic
exceptions can also be synchronous and marked by the FPEXC.DEX bit
(the FPEXC.EX bit is cleared). CPUs implementing the synchronous
arithmetic exceptions don't have the FPINST and FPINST2 registers and
accessing them would trigger and undefined exception.

Note that FPEXC.EX bit has an additional meaning on subarchitecture 1
- if it isn't set, there is no additional information in FPINST and
FPINST2 that needs to be saved at context switch or when lazy-loading
the VFP state of a different thread.

The patch also removes the clearing of the cumulative exception flags in
FPSCR when additional exceptions were raised. It is up to the user
application to clear these bits.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-01-26 14:41:28 +00:00
..
boot [ARM] 4710/1: Fix coprocessor 14 usage for debug messages via ICEDCC 2007-12-17 17:16:13 +00:00
common Merge branch 'pxa-fixes' 2007-12-08 14:41:29 +00:00
configs [ARM] 4636/1: pxa: add default configuration for zylonite 2007-10-31 15:21:48 +00:00
kernel sched: remove printk_clock() 2008-01-25 21:07:59 +01:00
lib [ARM] spelling fixes 2007-05-20 20:10:32 +01:00
mach-aaec2000 Add IRQF_IRQPOLL flag on arm 2007-05-08 11:15:22 -07:00
mach-at91 [ARM] 4691/1: add missing i2c_board_info struct for at91rm9200 2008-01-06 20:25:13 +00:00
mach-clps711x Add IRQF_IRQPOLL flag on arm 2007-05-08 11:15:22 -07:00
mach-clps7500 [ARM] cleanup struct irqaction initializers 2007-10-12 23:43:20 +01:00
mach-davinci clockevents: fix resume logic 2007-07-21 17:49:15 -07:00
mach-ebsa110 [ARM] EBSA110: fix build errors caused by missing "const" 2007-05-11 17:20:02 +01:00
mach-ep93xx [ARM] 4572/1: ep93xx: add cirrus logic edb9307 support 2007-10-12 23:43:44 +01:00
mach-footbridge Remove magic macros for screen_info structure members 2007-10-16 22:57:17 -07:00
mach-h720x [ARM] spelling fixes 2007-05-20 20:10:32 +01:00
mach-imx [ARM] 4648/1: i.MX/MX1 ensure more complete AITC initialization 2007-11-26 19:43:37 +00:00
mach-integrator Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
mach-iop13xx some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
mach-iop32x hwmon: (f75375s) On n2100 systems, set fans to full speed on boot 2007-11-08 08:42:46 -05:00
mach-iop33x iop3xx: surface the iop3xx DMA and AAU units to the iop-adma driver 2007-07-13 08:06:19 -07:00
mach-ixp4xx [ARM] 4694/1: IXP4xx: Update clockevent support for shutdown and resume 2007-12-17 17:18:01 +00:00
mach-ixp23xx [ARM] Fix some section mismatch warnings 2007-05-30 17:48:45 +01:00
mach-ixp2000 Kbuild/doc: fix links to Documentation files 2007-10-30 14:26:30 -07:00
mach-ks8695 [ARM] 4549/1: KS8695: Fix build errors 2007-08-14 17:23:55 +01:00
mach-l7200 [ARM] Remove compatibility layer for ARM irqs 2006-11-30 12:24:47 +00:00
mach-lh7a40x [ARM] spelling fixes 2007-05-20 20:10:32 +01:00
mach-mx3 [ARM] 4461/1: MXC platform and i.MX31ADS core support 2007-07-22 15:44:46 +01:00
mach-netx [ARM] 4641/2: netX: fix kobject_name type 2007-11-05 17:19:14 +00:00
mach-ns9xxx [ARM] 4595/1: ns9xxx: define registers as void __iomem * instead of volatile u32 2007-10-12 23:43:41 +01:00
mach-omap1 driver core: make /sys/power a kobject 2008-01-24 20:40:25 -08:00
mach-omap2 [ARM] Fix assignment instead of condition in arm/mach-omap2/clock.c 2007-10-31 15:21:43 +00:00
mach-pnx4008 PM: Rename struct pm_ops and related things 2007-10-18 14:37:18 -07:00
mach-pxa Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
mach-realview [ARM] realview: disable second GIC on RevB MPCore platforms 2007-09-13 15:10:25 +01:00
mach-rpc [ARM] rpc: convert an outb() to writeb() 2007-07-20 21:29:39 +01:00
mach-s3c2400 [ARM] 4157/2: S3C24XX: move arch/arch/mach-s3c2410 into cpu components 2007-02-11 17:36:09 +00:00
mach-s3c2410 Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
mach-s3c2412 Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
mach-s3c2440 Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
mach-s3c2442 [ARM] 4546/1: s3c2410: fix architecture typo for s3c2442 2007-08-14 17:23:49 +01:00
mach-s3c2443 Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
mach-sa1100 Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
mach-shark Add IRQF_IRQPOLL flag on arm 2007-05-08 11:15:22 -07:00
mach-versatile [ARM] 4454/1: Use word accesses in Versatile PCI config reads 2007-07-02 13:39:35 +01:00
mm [ARM] remove useless setting of VM_RESERVED 2007-11-11 10:55:25 +00:00
nwfpe Convert files to UTF-8 and some cleanups 2007-10-19 23:21:04 +02:00
oprofile Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
plat-iop [ARM] 4495/1: iop: combined watchdog timer driver for iop3xx and iop13xx 2007-07-20 09:35:42 +01:00
plat-mxc [ARM] 4461/1: MXC platform and i.MX31ADS core support 2007-07-22 15:44:46 +01:00
plat-omap Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
plat-s3c [ARM] 4518/1: S3C: Rename watchdog configuration options 2007-07-22 16:44:38 +01:00
plat-s3c24xx Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
tools [ARM] Update mach-types 2007-05-11 19:54:39 +01:00
vfp [ARM] 4582/2: Add support for the common VFP subarchitecture 2008-01-26 14:41:28 +00:00
Kconfig [ARM] 4748/1: dca: source drivers/dca/Kconfig in arch/arm/Kconfig to fix warning 2008-01-20 10:10:41 +00:00
Kconfig-nommu [ARM] 4532/1: allow configuration of processor ID 2007-10-12 23:43:02 +01:00
Kconfig.debug [ARM] 4514/1: S3C: Rename DEBUG_S3C2410_PORT and DEBUG_S3C_UART 2007-07-22 16:44:33 +01:00
Kconfig.instrumentation Fix ARM profiling/instrumentation configuration 2008-01-15 09:23:51 -08:00
Makefile Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-10-16 11:23:06 -07:00