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>
diff --git a/drivers/console/aarch64/multi_console.S b/drivers/console/aarch64/multi_console.S
index a85a6a5..0464776 100644
--- a/drivers/console/aarch64/multi_console.S
+++ b/drivers/console/aarch64/multi_console.S
@@ -200,7 +200,7 @@
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_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 @@
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]