diff options
Diffstat (limited to 'arch/powerpc/include')
-rw-r--r-- | arch/powerpc/include/asm/reg.h | 2 | ||||
-rw-r--r-- | arch/powerpc/include/asm/tm.h | 20 |
2 files changed, 21 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm/reg.h index 7844c285f6e1..eee2a60994bf 100644 --- a/arch/powerpc/include/asm/reg.h +++ b/arch/powerpc/include/asm/reg.h | |||
@@ -797,7 +797,7 @@ | |||
797 | * HV mode in which case it is HSPRG0 | 797 | * HV mode in which case it is HSPRG0 |
798 | * | 798 | * |
799 | * 64-bit server: | 799 | * 64-bit server: |
800 | * - SPRG0 unused (reserved for HV on Power4) | 800 | * - SPRG0 scratch for TM recheckpoint/reclaim (reserved for HV on Power4) |
801 | * - SPRG2 scratch for exception vectors | 801 | * - SPRG2 scratch for exception vectors |
802 | * - SPRG3 CPU and NUMA node for VDSO getcpu (user visible) | 802 | * - SPRG3 CPU and NUMA node for VDSO getcpu (user visible) |
803 | * - HSPRG0 stores PACA in HV mode | 803 | * - HSPRG0 stores PACA in HV mode |
diff --git a/arch/powerpc/include/asm/tm.h b/arch/powerpc/include/asm/tm.h new file mode 100644 index 000000000000..4b4449abf3f8 --- /dev/null +++ b/arch/powerpc/include/asm/tm.h | |||
@@ -0,0 +1,20 @@ | |||
1 | /* | ||
2 | * Transactional memory support routines to reclaim and recheckpoint | ||
3 | * transactional process state. | ||
4 | * | ||
5 | * Copyright 2012 Matt Evans & Michael Neuling, IBM Corporation. | ||
6 | */ | ||
7 | |||
8 | #ifdef CONFIG_PPC_TRANSACTIONAL_MEM | ||
9 | extern void do_load_up_transact_fpu(struct thread_struct *thread); | ||
10 | extern void do_load_up_transact_altivec(struct thread_struct *thread); | ||
11 | #endif | ||
12 | |||
13 | extern void tm_enable(void); | ||
14 | extern void tm_reclaim(struct thread_struct *thread, | ||
15 | unsigned long orig_msr, uint8_t cause); | ||
16 | extern void tm_recheckpoint(struct thread_struct *thread, | ||
17 | unsigned long orig_msr); | ||
18 | extern void tm_abort(uint8_t cause); | ||
19 | extern void tm_save_sprs(struct thread_struct *thread); | ||
20 | extern void tm_restore_sprs(struct thread_struct *thread); | ||