Deleted Added
full compact
34c34
< * $FreeBSD: head/sys/powerpc/include/spr.h 189757 2009-03-13 06:28:20Z raj $
---
> * $FreeBSD: head/sys/powerpc/include/spr.h 190681 2009-04-04 00:22:44Z nwhitehorn $
45a46,83
>
> /* The following routines allow manipulation of the full 64-bit width
> * of SPRs on 64 bit CPUs in bridge mode */
>
> #define mtspr64(reg,valhi,vallo,scratch) \
> __asm __volatile(" \
> mfmsr %0; \
> insrdi %0,1,1,0; \
> mtmsrd %0; \
> isync; \
> \
> sld %1,%1,%4; \
> or %1,%1,%2; \
> mtspr %3,%1; \
> srd %1,%1,%4; \
> \
> clrldi %0,%0,1; \
> mtmsrd %0; \
> isync;" \
> : "=r"(scratch), "=r"(valhi) : "r"(vallo), "K"(reg), "r"(32))
>
> #define mfspr64upper(reg,scratch) \
> ( { register_t val; \
> __asm __volatile(" \
> mfmsr %0; \
> insrdi %0,1,1,0; \
> mtmsrd %0; \
> isync; \
> \
> mfspr %1,%2; \
> srd %1,%1,%3; \
> \
> clrldi %0,%0,1; \
> mtmsrd %0; \
> isync;" \
> : "=r"(scratch), "=r"(val) : "K"(reg), "r"(32)); \
> val; } )
>
114a153,154
> #define IBM970 0x0039
> #define IBM970FX 0x003c
115a156,157
> #define IBM970MP 0x0044
> #define IBM970GX 0x0045