xref: /openbmc/linux/arch/powerpc/include/asm/tm.h (revision 275876e2)
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 #include <uapi/asm/tm.h>
9 
10 #ifndef __ASSEMBLY__
11 
12 #ifdef CONFIG_PPC_TRANSACTIONAL_MEM
13 extern void do_load_up_transact_fpu(struct thread_struct *thread);
14 extern void do_load_up_transact_altivec(struct thread_struct *thread);
15 #endif
16 
17 extern void tm_enable(void);
18 extern void tm_reclaim(struct thread_struct *thread,
19 		       unsigned long orig_msr, uint8_t cause);
20 extern void tm_reclaim_current(uint8_t cause);
21 extern void tm_recheckpoint(struct thread_struct *thread,
22 			    unsigned long orig_msr);
23 extern void tm_abort(uint8_t cause);
24 extern void tm_save_sprs(struct thread_struct *thread);
25 extern void tm_restore_sprs(struct thread_struct *thread);
26 
27 #endif /* __ASSEMBLY__ */
28