diff options
author | Daniel Boulby <daniel.boulby@arm.com> | 2018-05-16 16:04:35 +0100 |
---|---|---|
committer | Daniel Boulby <daniel.boulby@arm.com> | 2018-05-17 16:42:41 +0100 |
commit | 8abcdf921a0b5fd5c33f1a43706cbb4eca8c8742 (patch) | |
tree | 6dc69c649f2b57180962df725b6bb2213efde727 /drivers/console | |
parent | dc59ff343647c22403a8537f23eba27a7744218e (diff) |
Ensure read and write of flags are 32 bit
In 'console_set_scope' and when registering a console, field 'flags' of
'console_t' is assigned a 32-bit value. However, when it is actually
used, the functions perform 64-bit reads to access its value. This patch
changes all 64-bit reads to 32-bit reads.
Change-Id: I181349371409e60065335f078857946fa3c32dc1
Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
Diffstat (limited to 'drivers/console')
-rw-r--r-- | drivers/console/aarch64/multi_console.S | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/console/aarch64/multi_console.S b/drivers/console/aarch64/multi_console.S index a85a6a56..0464776b 100644 --- a/drivers/console/aarch64/multi_console.S +++ b/drivers/console/aarch64/multi_console.S @@ -200,7 +200,7 @@ putc_loop: cbz x14, putc_done adrp x1, console_state ldrb w1, [x1, :lo12:console_state] - ldr x2, [x14, #CONSOLE_T_FLAGS] + ldr w2, [x14, #CONSOLE_T_FLAGS] tst w1, w2 b.eq putc_continue ldr x2, [x14, #CONSOLE_T_PUTC] @@ -246,7 +246,7 @@ getc_try_again: getc_loop: adrp x0, console_state ldrb w0, [x0, :lo12:console_state] - ldr x1, [x14, #CONSOLE_T_FLAGS] + ldr w1, [x14, #CONSOLE_T_FLAGS] tst w0, w1 b.eq getc_continue ldr x1, [x14, #CONSOLE_T_GETC] @@ -287,7 +287,7 @@ flush_loop: cbz x14, flush_done adrp x1, console_state ldrb w1, [x1, :lo12:console_state] - ldr x2, [x14, #CONSOLE_T_FLAGS] + ldr w2, [x14, #CONSOLE_T_FLAGS] tst w1, w2 b.eq flush_continue ldr x1, [x14, #CONSOLE_T_FLUSH] |