From: Dave Martin Date: Fri, 10 Aug 2012 11:53:24 +0000 (+0100) Subject: ARM: mxc: ssi-fiq: Make ssi-fiq.S Thumb-2 compatible X-Git-Tag: omap-for-v3.7-rc1/fixes-cpufreq-signed~62^2~10^2~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7095b95654302ceb8a011ee883d1500851061b0d;p=pandora-kernel.git 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 Signed-off-by: Sascha Hauer --- Reading git-diff-tree failed