diff options
Diffstat (limited to 'arch/powerpc/include/asm/reg.h')
-rw-r--r-- | arch/powerpc/include/asm/reg.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm/reg.h index f0cb7f461b9d..638608677e2a 100644 --- a/arch/powerpc/include/asm/reg.h +++ b/arch/powerpc/include/asm/reg.h | |||
@@ -491,6 +491,7 @@ | |||
491 | #define SPRN_SPRG1 0x111 /* Special Purpose Register General 1 */ | 491 | #define SPRN_SPRG1 0x111 /* Special Purpose Register General 1 */ |
492 | #define SPRN_SPRG2 0x112 /* Special Purpose Register General 2 */ | 492 | #define SPRN_SPRG2 0x112 /* Special Purpose Register General 2 */ |
493 | #define SPRN_SPRG3 0x113 /* Special Purpose Register General 3 */ | 493 | #define SPRN_SPRG3 0x113 /* Special Purpose Register General 3 */ |
494 | #define SPRN_USPRG3 0x103 /* SPRG3 userspace read */ | ||
494 | #define SPRN_SPRG4 0x114 /* Special Purpose Register General 4 */ | 495 | #define SPRN_SPRG4 0x114 /* Special Purpose Register General 4 */ |
495 | #define SPRN_SPRG5 0x115 /* Special Purpose Register General 5 */ | 496 | #define SPRN_SPRG5 0x115 /* Special Purpose Register General 5 */ |
496 | #define SPRN_SPRG6 0x116 /* Special Purpose Register General 6 */ | 497 | #define SPRN_SPRG6 0x116 /* Special Purpose Register General 6 */ |
@@ -753,14 +754,14 @@ | |||
753 | * 64-bit server: | 754 | * 64-bit server: |
754 | * - SPRG0 unused (reserved for HV on Power4) | 755 | * - SPRG0 unused (reserved for HV on Power4) |
755 | * - SPRG2 scratch for exception vectors | 756 | * - SPRG2 scratch for exception vectors |
756 | * - SPRG3 unused (user visible) | 757 | * - SPRG3 CPU and NUMA node for VDSO getcpu (user visible) |
757 | * - HSPRG0 stores PACA in HV mode | 758 | * - HSPRG0 stores PACA in HV mode |
758 | * - HSPRG1 scratch for "HV" exceptions | 759 | * - HSPRG1 scratch for "HV" exceptions |
759 | * | 760 | * |
760 | * 64-bit embedded | 761 | * 64-bit embedded |
761 | * - SPRG0 generic exception scratch | 762 | * - SPRG0 generic exception scratch |
762 | * - SPRG2 TLB exception stack | 763 | * - SPRG2 TLB exception stack |
763 | * - SPRG3 unused (user visible) | 764 | * - SPRG3 CPU and NUMA node for VDSO getcpu (user visible) |
764 | * - SPRG4 unused (user visible) | 765 | * - SPRG4 unused (user visible) |
765 | * - SPRG6 TLB miss scratch (user visible, sorry !) | 766 | * - SPRG6 TLB miss scratch (user visible, sorry !) |
766 | * - SPRG7 critical exception scratch | 767 | * - SPRG7 critical exception scratch |
@@ -1024,7 +1025,8 @@ | |||
1024 | /* Macros for setting and retrieving special purpose registers */ | 1025 | /* Macros for setting and retrieving special purpose registers */ |
1025 | #ifndef __ASSEMBLY__ | 1026 | #ifndef __ASSEMBLY__ |
1026 | #define mfmsr() ({unsigned long rval; \ | 1027 | #define mfmsr() ({unsigned long rval; \ |
1027 | asm volatile("mfmsr %0" : "=r" (rval)); rval;}) | 1028 | asm volatile("mfmsr %0" : "=r" (rval) : \ |
1029 | : "memory"); rval;}) | ||
1028 | #ifdef CONFIG_PPC_BOOK3S_64 | 1030 | #ifdef CONFIG_PPC_BOOK3S_64 |
1029 | #define __mtmsrd(v, l) asm volatile("mtmsrd %0," __stringify(l) \ | 1031 | #define __mtmsrd(v, l) asm volatile("mtmsrd %0," __stringify(l) \ |
1030 | : : "r" (v) : "memory") | 1032 | : : "r" (v) : "memory") |