linux_dsm_epyc7002/arch/arm/plat-mxc
Dave Martin 7095b95654 ARM: mxc: ssi-fiq: Make ssi-fiq.S Thumb-2 compatible
Because FIQ handlers get copied straight into the vectors page to
the FIQ vector entry point, FIQ handlers in a Thumb-2 kernel must
start in Thumb-2.  A Thumb-2 kernel enters all exception vectors in
Thumb-2.

This patch adapts the mxc SSI FIQ code suitable for a Thumb-2
kernel.

The code contained use of r13 (sp) which isn't allowed in Thumb-2.
r11 and r13 have been swapped throughout the file to work around
this.

Currently, the way that the function to be copied is located using
labels is a bit ugly: we cannot annotate the FIQ handler properly
as a Thumb-2 function, because this would set bit 0 of the label
address seen by the linker, causing off-by-one errors when copying
the function.  Ideally, the copy would be done with fncpy(), but
this would require changes to the common set_fiq_handler()
function.  For now, we don't touch this.

References to locally-defined global symbols with adr and ldr may
not be accepted by the assembler in Thumb-2.  Local shadow symbols
are added to work around this.

Signed-off-by: Dave Martin <dave.martin@linaro.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-08-13 21:33:14 +02:00
..
devices arm-soc: clk changes 2012-07-23 17:51:03 -07:00
include/mach arm imx31: add a few pinmux settings the tt01 needs 2012-08-03 16:26:36 +02:00
3ds_debugboard.c ARM: imx: add a legacy irqdomain for 3ds_debugboard 2012-07-01 21:58:15 +08:00
avic.c ARM: imx: Fix build error due to missing irqs.h include 2012-07-04 11:19:40 +08:00
clock.c ARM i.MX: prepare for common clock framework 2012-04-25 17:03:46 +02:00
cpu.c ARM: mx3: Setup AIPS registers 2012-03-02 08:49:37 +01:00
cpufreq.c arm/imx: fix cpufreq section mismatch 2011-12-19 12:26:05 +01:00
cpuidle.c ARM: imx: Add common imx cpuidle init functionality. 2012-06-05 08:51:47 +02:00
devices.c Merge branch 'next/cleanup' of git://git.linaro.org/people/arnd/arm-soc 2011-11-01 20:11:00 -07:00
epit.c ARM i.MX: remove now unnecessary argument from mxc_timer_init 2012-05-16 12:46:09 +02:00
iomux-v1.c
iomux-v3.c
iram_alloc.c
irq-common.c ARM i.MX avic: convert to use generic irq chip 2011-09-23 08:32:14 +02:00
irq-common.h ARM i.MX avic: convert to use generic irq chip 2011-09-23 08:32:14 +02:00
Kconfig ARM i.MX: Move i.MX pwm driver to pwm framework 2012-07-02 21:39:01 +02:00
Makefile Merge branch 'for-3.6' of git://gitorious.org/linux-pwm/linux-pwm 2012-07-30 09:22:37 -07:00
ssi-fiq-ksym.c
ssi-fiq.S ARM: mxc: ssi-fiq: Make ssi-fiq.S Thumb-2 compatible 2012-08-13 21:33:14 +02:00
system.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
time.c ARM: imx: add missing item to the list of clock event modes 2012-07-16 23:19:58 +02:00
tzic.c ARM: mxc: Include missing irqs.h header 2012-07-28 14:26:57 -07:00
ulpi.c usb: otg: ulpi: Start using struct usb_otg 2012-02-13 13:35:56 +02:00