diff options
author | Gary King <gking@nvidia.com> | 2010-05-27 15:54:44 -0700 |
---|---|---|
committer | Gary King <gking@nvidia.com> | 2010-05-27 21:40:55 -0700 |
commit | f8d6750d57c63fec8f8980c430522a231ca4c8ef (patch) | |
tree | 8c34900cc390d8673dfb516a21dda6dc7fe46832 /arch/arm/mach-tegra/power-macros.S | |
parent | 3ef10ea5a7707480519eb04b6602e38f2d006b36 (diff) |
[ARM/tegra] suspend: remove literals from CPU save & restore code
use the ARMv7 movw and movt instructions to load literal values, rather
than allowing the compiler to silently generate literal sections all over
memory
since this code needs to be relocatable (may run with no MMU, may run
with MMU, may run in IRAM), the fewer literals, the better
Change-Id: I06c3e1b607649946273a9b8cb87008bbec3bc4ae
Diffstat (limited to 'arch/arm/mach-tegra/power-macros.S')
-rw-r--r-- | arch/arm/mach-tegra/power-macros.S | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/power-macros.S b/arch/arm/mach-tegra/power-macros.S index 492416439760..9692de40bc6f 100644 --- a/arch/arm/mach-tegra/power-macros.S +++ b/arch/arm/mach-tegra/power-macros.S @@ -26,6 +26,12 @@ and \rd, \rd, #0xF .endm + +.macro mov32, reg, val + movw \reg, #:lower16:\val + movt \reg, #:upper16:\val +.endm + /* waits until the microsecond counter (base) ticks, for exact timing loops */ .macro wait_for_us, rd, base, tmp ldr \rd, [\base] |