ARM: pl01x debug code endian fix
The PL01X debug code needs to take into account which endian mode the processor is running in. If it is big-endian, ensure the data is swapped appropriately. Note, we could do this slightly more efficiently if we have an macro to do the necessary swap for the bits used by test. Reviewed-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
This commit is contained in:
Родитель
97bcb0fea5
Коммит
76e3faf156
|
@ -25,12 +25,14 @@
|
||||||
|
|
||||||
.macro waituart,rd,rx
|
.macro waituart,rd,rx
|
||||||
1001: ldr \rd, [\rx, #UART01x_FR]
|
1001: ldr \rd, [\rx, #UART01x_FR]
|
||||||
|
ARM_BE8( rev \rd, \rd )
|
||||||
tst \rd, #UART01x_FR_TXFF
|
tst \rd, #UART01x_FR_TXFF
|
||||||
bne 1001b
|
bne 1001b
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro busyuart,rd,rx
|
.macro busyuart,rd,rx
|
||||||
1001: ldr \rd, [\rx, #UART01x_FR]
|
1001: ldr \rd, [\rx, #UART01x_FR]
|
||||||
|
ARM_BE8( rev \rd, \rd )
|
||||||
tst \rd, #UART01x_FR_BUSY
|
tst \rd, #UART01x_FR_BUSY
|
||||||
bne 1001b
|
bne 1001b
|
||||||
.endm
|
.endm
|
||||||
|
|
Загрузка…
Ссылка в новой задаче