diff options
author | LEROY Christophe | 2013-11-22 17:57:31 +0100 |
---|---|---|
committer | Scott Wood | 2013-11-22 23:56:48 +0100 |
commit | ae2163be10ac6090e7aeed72591e2d7fabb1cdda (patch) | |
tree | 1f6f4ba3beb2358c53bb951e3002c83de824163d /arch/powerpc/boot/util.S | |
parent | powerpc/corenet64: compile with CONFIG_E{5,6}500_CPU well (diff) | |
download | kernel-qcow2-linux-ae2163be10ac6090e7aeed72591e2d7fabb1cdda.tar.gz kernel-qcow2-linux-ae2163be10ac6090e7aeed72591e2d7fabb1cdda.tar.xz kernel-qcow2-linux-ae2163be10ac6090e7aeed72591e2d7fabb1cdda.zip |
powerpc/8xx: mfspr SPRN_TBRx in lieu of mftb/mftbu is not supported
Commit beb2dc0a7a84be003ce54e98b95d65cc66e6e536 breaks the MPC8xx which
seems to not support using mfspr SPRN_TBRx instead of mftb/mftbu
despite what is written in the reference manual.
This patch reverts to the use of mftb/mftbu when CONFIG_8xx is
selected.
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Scott Wood <scottwood@freescale.com>
Diffstat (limited to 'arch/powerpc/boot/util.S')
-rw-r--r-- | arch/powerpc/boot/util.S | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/powerpc/boot/util.S b/arch/powerpc/boot/util.S index 5143228e3e5f..6636b1d7821b 100644 --- a/arch/powerpc/boot/util.S +++ b/arch/powerpc/boot/util.S @@ -71,18 +71,32 @@ udelay: add r4,r4,r5 addi r4,r4,-1 divw r4,r4,r5 /* BUS ticks */ +#ifdef CONFIG_8xx +1: mftbu r5 + mftb r6 + mftbu r7 +#else 1: mfspr r5, SPRN_TBRU mfspr r6, SPRN_TBRL mfspr r7, SPRN_TBRU +#endif cmpw 0,r5,r7 bne 1b /* Get [synced] base time */ addc r9,r6,r4 /* Compute end time */ addze r8,r5 +#ifdef CONFIG_8xx +2: mftbu r5 +#else 2: mfspr r5, SPRN_TBRU +#endif cmpw 0,r5,r8 blt 2b bgt 3f +#ifdef CONFIG_8xx + mftb r6 +#else mfspr r6, SPRN_TBRL +#endif cmpw 0,r6,r9 blt 2b 3: blr |