diff options
author | Ben Dooks <ben.dooks@codethink.co.uk> | 2013-02-09 23:07:10 +0000 |
---|---|---|
committer | Ben Dooks <ben.dooks@codethink.co.uk> | 2013-02-09 23:07:10 +0000 |
commit | 53f8c64f4cbdff29f2d54569e7b4f431209a8725 (patch) | |
tree | 71272266a2772e7ba4786d850a58a7f96a83883b | |
parent | 6525a56f3b3f5e5b148c719624a59447fa0ecc2e (diff) | |
download | linux-baserock/arm/bjdooks/be8_v2.tar.gz |
ARM: mm: mm->context.id fix for big-endianbaserock/arm/bjdooks/be8_v2
Since the new ASID code introduced in b5466f8728527a05a493cc4abe9e6f034a1bbaab
uses 64bit operations, when running in BE mode we see the values in
mm->context.id swapped around as the lowest word is being stored in
mm->context.id + 4, instead of + 0.
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
-rw-r--r-- | arch/arm/mm/proc-macros.S | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/mm/proc-macros.S b/arch/arm/mm/proc-macros.S index eb6aa73bc8b7..5a6a347fd291 100644 --- a/arch/arm/mm/proc-macros.S +++ b/arch/arm/mm/proc-macros.S @@ -40,7 +40,11 @@ * mmid - get context id from mm pointer (mm->context.id) */ .macro mmid, rd, rn +#ifdef __ARMEB__ + ldr \rd, [\rn, #MM_CONTEXT_ID + 4 ] +#else ldr \rd, [\rn, #MM_CONTEXT_ID] +#endif .endm /* |