summaryrefslogtreecommitdiffstats
path: root/bsps/powerpc/mvme3100/start/bspstart.c
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/powerpc/mvme3100/start/bspstart.c')
-rw-r--r--bsps/powerpc/mvme3100/start/bspstart.c16
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++)