diff options
author | Benjamin Barenblat <bbaren@google.com> | 2016-06-17 09:49:24 -0700 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2016-06-24 19:10:05 +0200 |
commit | 82ef8ada82bd63ea7ce61843189fd4ee5de45cb5 (patch) | |
tree | d6ff6b96487b2b56f2efa84c51deff299925dc20 /src/southbridge/sis | |
parent | c86da67436827c25919a2f5966049485a58fc984 (diff) |
src/commonlib/lz4_wrapper: Correct inline asm for unaligned 64-bit copy
Rewrite inline assembly for ARMv7+ to correctly annotate inputs and
outputs. On ARM GCC 6.1.1, this causes assembly output to change from
the incorrect
@ r0 is allocated to hold dst and x0
@ r1 is allocated to hold src and x1
ldr r0, [r1] @ clobbers dst!
ldr r1, [r1, #4]
str r0, [r0]
str r1, [r0, #4]
to the correct
@ r0 is allocated to hold dst
@ r1 is allocated to hold src and x1
@ r3 is allocated to hold x0
ldr r3, [r1]
ldr r1, [r1, #4]
str r3, [r0]
str r1, [r0, #4]
Also modify checkpatch.pl to ignore spaces before opening brackets when
used in inline assembly.
Change-Id: I255995f5e0a7b1a95375258755a93972c51d79b8
Signed-off-by: Benjamin Barenblat <bbaren@google.com>
Reviewed-on: https://review.coreboot.org/15216
Tested-by: build bot (Jenkins)
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Diffstat (limited to 'src/southbridge/sis')
0 files changed, 0 insertions, 0 deletions