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:
Ben Dooks 2013-02-06 18:25:36 +00:00
Родитель 97bcb0fea5
Коммит 76e3faf156
1 изменённых файлов: 2 добавлений и 0 удалений

Просмотреть файл

@ -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