powerpc: use mfspr for Time Base Register reads
authorSteven Noonan <steven@uplinklabs.net>
Thu, 28 Feb 2013 19:08:06 +0000 (20:08 +0100)
committerJens Axboe <axboe@kernel.dk>
Thu, 28 Feb 2013 19:08:06 +0000 (20:08 +0100)
The 'mftb' and 'mftbu' instructions are deprecated in Power ISA v2.06 in favor
of mfspr. Since CPUs supporting mftb/mftbu also support the TBR SPRs, there's
no known reason to keep mftb/mftbu.

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
arch/arch-ppc.h

index 0cc0cbda7d69890e10ff41816d836b4189684963..65e6b74acfba431158e07898398312a01a707a3e 100644 (file)
@@ -72,9 +72,9 @@ static inline unsigned long long get_cpu_clock(void)
                        tbl = mfspr(SPRN_ATBL);
                        tbu1 = mfspr(SPRN_ATBU);
                } else {
                        tbl = mfspr(SPRN_ATBL);
                        tbu1 = mfspr(SPRN_ATBU);
                } else {
-                       __asm__ __volatile__("mftbu %0" : "=r"(tbu0));
-                       __asm__ __volatile__("mftb %0"  : "=r"(tbl) );
-                       __asm__ __volatile__("mftbu %0" : "=r"(tbu1));
+                       tbu0 = mfspr(SPRN_TBRU);
+                       tbl = mfspr(SPRN_TBRL);
+                       tbu1 = mfspr(SPRN_TBRU);
                }
        } while (tbu0 != tbu1);
 
                }
        } while (tbu0 != tbu1);