diff options
Diffstat (limited to 'arch/powerpc/kernel/misc_64.S')
-rw-r--r-- | arch/powerpc/kernel/misc_64.S | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/misc_64.S b/arch/powerpc/kernel/misc_64.S index 21fd2c662a99..519861da0423 100644 --- a/arch/powerpc/kernel/misc_64.S +++ b/arch/powerpc/kernel/misc_64.S | |||
@@ -311,6 +311,46 @@ _GLOBAL(real_writeb) | |||
311 | blr | 311 | blr |
312 | #endif /* defined(CONFIG_PPC_PMAC) || defined(CONFIG_PPC_MAPLE) */ | 312 | #endif /* defined(CONFIG_PPC_PMAC) || defined(CONFIG_PPC_MAPLE) */ |
313 | 313 | ||
314 | #ifdef CONFIG_PPC_PASEMI | ||
315 | |||
316 | /* No support in all binutils for these yet, so use defines */ | ||
317 | #define LBZCIX(RT,RA,RB) .long (0x7c0006aa|(RT<<21)|(RA<<16)|(RB << 11)) | ||
318 | #define STBCIX(RS,RA,RB) .long (0x7c0007aa|(RS<<21)|(RA<<16)|(RB << 11)) | ||
319 | |||
320 | |||
321 | _GLOBAL(real_205_readb) | ||
322 | mfmsr r7 | ||
323 | ori r0,r7,MSR_DR | ||
324 | xori r0,r0,MSR_DR | ||
325 | sync | ||
326 | mtmsrd r0 | ||
327 | sync | ||
328 | isync | ||
329 | LBZCIX(r3,0,r3) | ||
330 | isync | ||
331 | mtmsrd r7 | ||
332 | sync | ||
333 | isync | ||
334 | blr | ||
335 | |||
336 | _GLOBAL(real_205_writeb) | ||
337 | mfmsr r7 | ||
338 | ori r0,r7,MSR_DR | ||
339 | xori r0,r0,MSR_DR | ||
340 | sync | ||
341 | mtmsrd r0 | ||
342 | sync | ||
343 | isync | ||
344 | STBCIX(r3,0,r4) | ||
345 | isync | ||
346 | mtmsrd r7 | ||
347 | sync | ||
348 | isync | ||
349 | blr | ||
350 | |||
351 | #endif /* CONFIG_PPC_PASEMI */ | ||
352 | |||
353 | |||
314 | #ifdef CONFIG_CPU_FREQ_PMAC64 | 354 | #ifdef CONFIG_CPU_FREQ_PMAC64 |
315 | /* | 355 | /* |
316 | * SCOM access functions for 970 (FX only for now) | 356 | * SCOM access functions for 970 (FX only for now) |