diff options
Diffstat (limited to 'bsps/powerpc/mvme3100/start/bspstart.c')
-rw-r--r-- | bsps/powerpc/mvme3100/start/bspstart.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/bsps/powerpc/mvme3100/start/bspstart.c b/bsps/powerpc/mvme3100/start/bspstart.c index 0ec215e33b..f27304c144 100644 --- a/bsps/powerpc/mvme3100/start/bspstart.c +++ b/bsps/powerpc/mvme3100/start/bspstart.c @@ -364,9 +364,21 @@ VpdBufRec vpdData [] = { int i; unsigned msr,tcr; asm volatile("mfmsr %0":"=r"(msr)); - asm volatile("mftcr %0":"=r"(tcr)); + asm volatile ( + ".machine \"push\"\n" + ".machine \"any\"\n" + "mftcr %0\n" + ".machine \"pop\"" : + "=r"(tcr) + ); printk("MSR is 0x%08x, TCR 0x%08x\n",msr,tcr); - asm volatile("mttcr %0"::"r"(0)); + asm volatile ( + ".machine \"push\"\n" + ".machine \"any\"\n" + "mttcr %0\n" + ".machine \"pop\"" : : + "r"(0) + ); if (0) { asm volatile("mtmsr %0"::"r"(msr|0x8000)); for (i=0; i<12; i++) |