Message ID | 1377639509-22778-6-git-send-email-ben.dooks@codethink.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Aug 27, 2013 at 10:38:15PM +0100, Ben Dooks wrote: > 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. Hmm, opcodes.h already has the asm-compatible byteswappers, but the interface it provides is not correct to allow them to be used cleanly for data swabbing. Maybe that would be worth factoring out sometime, but this patch should work as-is. Cheers ---Dave > > Reviewed-by: Will Deacon <will.deacon@arm.com> > Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> > --- > arch/arm/include/asm/hardware/debug-pl01x.S | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/arm/include/asm/hardware/debug-pl01x.S b/arch/arm/include/asm/hardware/debug-pl01x.S > index f9fd083..6489d1f 100644 > --- a/arch/arm/include/asm/hardware/debug-pl01x.S > +++ b/arch/arm/include/asm/hardware/debug-pl01x.S > @@ -18,12 +18,14 @@ > > .macro waituart,rd,rx > 1001: ldr \rd, [\rx, #UART01x_FR] > + ARM_BE8( rev \rd, \rd ) > tst \rd, #UART01x_FR_TXFF > bne 1001b > .endm > > .macro busyuart,rd,rx > 1001: ldr \rd, [\rx, #UART01x_FR] > + ARM_BE8( rev \rd, \rd ) > tst \rd, #UART01x_FR_BUSY > bne 1001b > .endm > -- > 1.7.10.4 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
diff --git a/arch/arm/include/asm/hardware/debug-pl01x.S b/arch/arm/include/asm/hardware/debug-pl01x.S index f9fd083..6489d1f 100644 --- a/arch/arm/include/asm/hardware/debug-pl01x.S +++ b/arch/arm/include/asm/hardware/debug-pl01x.S @@ -18,12 +18,14 @@ .macro waituart,rd,rx 1001: ldr \rd, [\rx, #UART01x_FR] + ARM_BE8( rev \rd, \rd ) tst \rd, #UART01x_FR_TXFF bne 1001b .endm .macro busyuart,rd,rx 1001: ldr \rd, [\rx, #UART01x_FR] + ARM_BE8( rev \rd, \rd ) tst \rd, #UART01x_FR_BUSY bne 1001b .endm