summaryrefslogtreecommitdiffstats
path: root/drivers/bus
diff options
context:
space:
mode:
authorVictor Kamensky <victor.kamensky@linaro.org>2013-10-07 08:48:23 -0700
committerBen Dooks <ben.dooks@codethink.co.uk>2013-10-19 20:46:36 +0100
commita1af3474487cc3b8731b990dceac6b6aad7f3ed8 (patch)
treed7e4cf3f7f9dcce993510f0a0392d9798999a962 /drivers/bus
parent519ceb9fd10cd7e836d0aa97b2068cc9e97f463b (diff)
downloadlinux-a1af3474487cc3b8731b990dceac6b6aad7f3ed8.tar.bz2
ARM: tlb: ASID macro should give 32bit result for BE correct operation
In order for ASID macro to be used as expression passed to inline asm as 'r' operand it needs to give 32 bit unsigned result, not unsigned 64bit expression. Otherwise when 64bit ASID is passed to inline assembler statement as 'r' operand (32bit) compiler behavior is not well specified. For example when __flush_tlb_mm function compiled in big endian case, and ASID is passed to tlb_op macro directly, 0 will be passed as 'mcr 15, 0, r4, cr8, cr3, {2}' argument in r4, unless ASID macro changed to produce 32 bit result. Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org> Acked-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Diffstat (limited to 'drivers/bus')
0 files changed, 0 insertions, 0 deletions