diff options
Diffstat (limited to 'arch/powerpc/include')
| -rw-r--r-- | arch/powerpc/include/asm/context_tracking.h | 10 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/firmware.h | 4 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/hvcall.h | 1 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/hw_irq.h | 5 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/opal.h | 5 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/pci-bridge.h | 2 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/pgalloc-64.h | 2 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/ppc_asm.h | 11 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/processor.h | 19 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/pte-hash64-64k.h | 2 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/reg.h | 11 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/rtas.h | 2 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/signal.h | 3 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/thread_info.h | 7 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/tm.h | 2 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/udbg.h | 1 | ||||
| -rw-r--r-- | arch/powerpc/include/uapi/asm/Kbuild | 1 | ||||
| -rw-r--r-- | arch/powerpc/include/uapi/asm/tm.h | 18 |
18 files changed, 78 insertions, 28 deletions
diff --git a/arch/powerpc/include/asm/context_tracking.h b/arch/powerpc/include/asm/context_tracking.h new file mode 100644 index 000000000000..b6f5a33b8ee2 --- /dev/null +++ b/arch/powerpc/include/asm/context_tracking.h | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | #ifndef _ASM_POWERPC_CONTEXT_TRACKING_H | ||
| 2 | #define _ASM_POWERPC_CONTEXT_TRACKING_H | ||
| 3 | |||
| 4 | #ifdef CONFIG_CONTEXT_TRACKING | ||
| 5 | #define SCHEDULE_USER bl .schedule_user | ||
| 6 | #else | ||
| 7 | #define SCHEDULE_USER bl .schedule | ||
| 8 | #endif | ||
| 9 | |||
| 10 | #endif | ||
diff --git a/arch/powerpc/include/asm/firmware.h b/arch/powerpc/include/asm/firmware.h index 0df54646f968..681bc0314b6b 100644 --- a/arch/powerpc/include/asm/firmware.h +++ b/arch/powerpc/include/asm/firmware.h | |||
| @@ -52,6 +52,7 @@ | |||
| 52 | #define FW_FEATURE_BEST_ENERGY ASM_CONST(0x0000000080000000) | 52 | #define FW_FEATURE_BEST_ENERGY ASM_CONST(0x0000000080000000) |
| 53 | #define FW_FEATURE_TYPE1_AFFINITY ASM_CONST(0x0000000100000000) | 53 | #define FW_FEATURE_TYPE1_AFFINITY ASM_CONST(0x0000000100000000) |
| 54 | #define FW_FEATURE_PRRN ASM_CONST(0x0000000200000000) | 54 | #define FW_FEATURE_PRRN ASM_CONST(0x0000000200000000) |
| 55 | #define FW_FEATURE_OPALv3 ASM_CONST(0x0000000400000000) | ||
| 55 | 56 | ||
| 56 | #ifndef __ASSEMBLY__ | 57 | #ifndef __ASSEMBLY__ |
| 57 | 58 | ||
| @@ -69,7 +70,8 @@ enum { | |||
| 69 | FW_FEATURE_SET_MODE | FW_FEATURE_BEST_ENERGY | | 70 | FW_FEATURE_SET_MODE | FW_FEATURE_BEST_ENERGY | |
| 70 | FW_FEATURE_TYPE1_AFFINITY | FW_FEATURE_PRRN, | 71 | FW_FEATURE_TYPE1_AFFINITY | FW_FEATURE_PRRN, |
| 71 | FW_FEATURE_PSERIES_ALWAYS = 0, | 72 | FW_FEATURE_PSERIES_ALWAYS = 0, |
| 72 | FW_FEATURE_POWERNV_POSSIBLE = FW_FEATURE_OPAL | FW_FEATURE_OPALv2, | 73 | FW_FEATURE_POWERNV_POSSIBLE = FW_FEATURE_OPAL | FW_FEATURE_OPALv2 | |
| 74 | FW_FEATURE_OPALv3, | ||
| 73 | FW_FEATURE_POWERNV_ALWAYS = 0, | 75 | FW_FEATURE_POWERNV_ALWAYS = 0, |
| 74 | FW_FEATURE_PS3_POSSIBLE = FW_FEATURE_LPAR | FW_FEATURE_PS3_LV1, | 76 | FW_FEATURE_PS3_POSSIBLE = FW_FEATURE_LPAR | FW_FEATURE_PS3_LV1, |
| 75 | FW_FEATURE_PS3_ALWAYS = FW_FEATURE_LPAR | FW_FEATURE_PS3_LV1, | 77 | FW_FEATURE_PS3_ALWAYS = FW_FEATURE_LPAR | FW_FEATURE_PS3_LV1, |
diff --git a/arch/powerpc/include/asm/hvcall.h b/arch/powerpc/include/asm/hvcall.h index cf4df8e2139a..0c7f2bfcf134 100644 --- a/arch/powerpc/include/asm/hvcall.h +++ b/arch/powerpc/include/asm/hvcall.h | |||
| @@ -264,6 +264,7 @@ | |||
| 264 | #define H_GET_MPP 0x2D4 | 264 | #define H_GET_MPP 0x2D4 |
| 265 | #define H_HOME_NODE_ASSOCIATIVITY 0x2EC | 265 | #define H_HOME_NODE_ASSOCIATIVITY 0x2EC |
| 266 | #define H_BEST_ENERGY 0x2F4 | 266 | #define H_BEST_ENERGY 0x2F4 |
| 267 | #define H_XIRR_X 0x2FC | ||
| 267 | #define H_RANDOM 0x300 | 268 | #define H_RANDOM 0x300 |
| 268 | #define H_COP 0x304 | 269 | #define H_COP 0x304 |
| 269 | #define H_GET_MPP_X 0x314 | 270 | #define H_GET_MPP_X 0x314 |
diff --git a/arch/powerpc/include/asm/hw_irq.h b/arch/powerpc/include/asm/hw_irq.h index d615b28dda82..ba713f166fa5 100644 --- a/arch/powerpc/include/asm/hw_irq.h +++ b/arch/powerpc/include/asm/hw_irq.h | |||
| @@ -96,11 +96,12 @@ static inline bool arch_irqs_disabled(void) | |||
| 96 | #endif | 96 | #endif |
| 97 | 97 | ||
| 98 | #define hard_irq_disable() do { \ | 98 | #define hard_irq_disable() do { \ |
| 99 | u8 _was_enabled = get_paca()->soft_enabled; \ | ||
| 99 | __hard_irq_disable(); \ | 100 | __hard_irq_disable(); \ |
| 100 | if (local_paca->soft_enabled) \ | ||
| 101 | trace_hardirqs_off(); \ | ||
| 102 | get_paca()->soft_enabled = 0; \ | 101 | get_paca()->soft_enabled = 0; \ |
| 103 | get_paca()->irq_happened |= PACA_IRQ_HARD_DIS; \ | 102 | get_paca()->irq_happened |= PACA_IRQ_HARD_DIS; \ |
| 103 | if (_was_enabled) \ | ||
| 104 | trace_hardirqs_off(); \ | ||
| 104 | } while(0) | 105 | } while(0) |
| 105 | 106 | ||
| 106 | static inline bool lazy_irq_pending(void) | 107 | static inline bool lazy_irq_pending(void) |
diff --git a/arch/powerpc/include/asm/opal.h b/arch/powerpc/include/asm/opal.h index b6c8b58b1d76..cbb9305ab15a 100644 --- a/arch/powerpc/include/asm/opal.h +++ b/arch/powerpc/include/asm/opal.h | |||
| @@ -243,7 +243,8 @@ enum OpalMCE_TlbErrorType { | |||
| 243 | 243 | ||
| 244 | enum OpalThreadStatus { | 244 | enum OpalThreadStatus { |
| 245 | OPAL_THREAD_INACTIVE = 0x0, | 245 | OPAL_THREAD_INACTIVE = 0x0, |
| 246 | OPAL_THREAD_STARTED = 0x1 | 246 | OPAL_THREAD_STARTED = 0x1, |
| 247 | OPAL_THREAD_UNAVAILABLE = 0x2 /* opal-v3 */ | ||
| 247 | }; | 248 | }; |
| 248 | 249 | ||
| 249 | enum OpalPciBusCompare { | 250 | enum OpalPciBusCompare { |
| @@ -563,6 +564,8 @@ extern void opal_nvram_init(void); | |||
| 563 | 564 | ||
| 564 | extern int opal_machine_check(struct pt_regs *regs); | 565 | extern int opal_machine_check(struct pt_regs *regs); |
| 565 | 566 | ||
| 567 | extern void opal_shutdown(void); | ||
| 568 | |||
| 566 | #endif /* __ASSEMBLY__ */ | 569 | #endif /* __ASSEMBLY__ */ |
| 567 | 570 | ||
| 568 | #endif /* __OPAL_H */ | 571 | #endif /* __OPAL_H */ |
diff --git a/arch/powerpc/include/asm/pci-bridge.h b/arch/powerpc/include/asm/pci-bridge.h index 8b11b5bd9938..2c1d8cb9b265 100644 --- a/arch/powerpc/include/asm/pci-bridge.h +++ b/arch/powerpc/include/asm/pci-bridge.h | |||
| @@ -174,6 +174,8 @@ struct pci_dn { | |||
| 174 | /* Get the pointer to a device_node's pci_dn */ | 174 | /* Get the pointer to a device_node's pci_dn */ |
| 175 | #define PCI_DN(dn) ((struct pci_dn *) (dn)->data) | 175 | #define PCI_DN(dn) ((struct pci_dn *) (dn)->data) |
| 176 | 176 | ||
| 177 | extern struct pci_dn *pci_get_pdn(struct pci_dev *pdev); | ||
| 178 | |||
| 177 | extern void * update_dn_pci_info(struct device_node *dn, void *data); | 179 | extern void * update_dn_pci_info(struct device_node *dn, void *data); |
| 178 | 180 | ||
| 179 | static inline int pci_device_from_OF_node(struct device_node *np, | 181 | static inline int pci_device_from_OF_node(struct device_node *np, |
diff --git a/arch/powerpc/include/asm/pgalloc-64.h b/arch/powerpc/include/asm/pgalloc-64.h index 91acb12bac92..b66ae722a8e9 100644 --- a/arch/powerpc/include/asm/pgalloc-64.h +++ b/arch/powerpc/include/asm/pgalloc-64.h | |||
| @@ -186,7 +186,7 @@ static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, | |||
| 186 | 186 | ||
| 187 | static inline pgtable_t pmd_pgtable(pmd_t pmd) | 187 | static inline pgtable_t pmd_pgtable(pmd_t pmd) |
| 188 | { | 188 | { |
| 189 | return (pgtable_t)(pmd_val(pmd) & -sizeof(pte_t)*PTRS_PER_PTE); | 189 | return (pgtable_t)(pmd_val(pmd) & ~PMD_MASKED_BITS); |
| 190 | } | 190 | } |
| 191 | 191 | ||
| 192 | static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm, | 192 | static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm, |
diff --git a/arch/powerpc/include/asm/ppc_asm.h b/arch/powerpc/include/asm/ppc_asm.h index cea8496091ff..2f1b6c5f8174 100644 --- a/arch/powerpc/include/asm/ppc_asm.h +++ b/arch/powerpc/include/asm/ppc_asm.h | |||
| @@ -523,6 +523,17 @@ END_FTR_SECTION_NESTED(CPU_FTR_HAS_PPR,CPU_FTR_HAS_PPR,946) | |||
| 523 | #define PPC440EP_ERR42 | 523 | #define PPC440EP_ERR42 |
| 524 | #endif | 524 | #endif |
| 525 | 525 | ||
| 526 | /* The following stops all load and store data streams associated with stream | ||
| 527 | * ID (ie. streams created explicitly). The embedded and server mnemonics for | ||
| 528 | * dcbt are different so we use machine "power4" here explicitly. | ||
| 529 | */ | ||
| 530 | #define DCBT_STOP_ALL_STREAM_IDS(scratch) \ | ||
| 531 | .machine push ; \ | ||
| 532 | .machine "power4" ; \ | ||
| 533 | lis scratch,0x60000000@h; \ | ||
| 534 | dcbt r0,scratch,0b01010; \ | ||
| 535 | .machine pop | ||
| 536 | |||
| 526 | /* | 537 | /* |
| 527 | * toreal/fromreal/tophys/tovirt macros. 32-bit BookE makes them | 538 | * toreal/fromreal/tophys/tovirt macros. 32-bit BookE makes them |
| 528 | * keep the address intact to be compatible with code shared with | 539 | * keep the address intact to be compatible with code shared with |
diff --git a/arch/powerpc/include/asm/processor.h b/arch/powerpc/include/asm/processor.h index d7e67ca8b4a6..14a658363698 100644 --- a/arch/powerpc/include/asm/processor.h +++ b/arch/powerpc/include/asm/processor.h | |||
| @@ -284,6 +284,12 @@ struct thread_struct { | |||
| 284 | unsigned long ebbrr; | 284 | unsigned long ebbrr; |
| 285 | unsigned long ebbhr; | 285 | unsigned long ebbhr; |
| 286 | unsigned long bescr; | 286 | unsigned long bescr; |
| 287 | unsigned long siar; | ||
| 288 | unsigned long sdar; | ||
| 289 | unsigned long sier; | ||
| 290 | unsigned long mmcr0; | ||
| 291 | unsigned long mmcr2; | ||
| 292 | unsigned long mmcra; | ||
| 287 | #endif | 293 | #endif |
| 288 | }; | 294 | }; |
| 289 | 295 | ||
| @@ -403,21 +409,16 @@ static inline void prefetchw(const void *x) | |||
| 403 | #endif | 409 | #endif |
| 404 | 410 | ||
| 405 | #ifdef CONFIG_PPC64 | 411 | #ifdef CONFIG_PPC64 |
| 406 | static inline unsigned long get_clean_sp(struct pt_regs *regs, int is_32) | 412 | static inline unsigned long get_clean_sp(unsigned long sp, int is_32) |
| 407 | { | 413 | { |
| 408 | unsigned long sp; | ||
| 409 | |||
| 410 | if (is_32) | 414 | if (is_32) |
| 411 | sp = regs->gpr[1] & 0x0ffffffffUL; | 415 | return sp & 0x0ffffffffUL; |
| 412 | else | ||
| 413 | sp = regs->gpr[1]; | ||
| 414 | |||
| 415 | return sp; | 416 | return sp; |
| 416 | } | 417 | } |
| 417 | #else | 418 | #else |
| 418 | static inline unsigned long get_clean_sp(struct pt_regs *regs, int is_32) | 419 | static inline unsigned long get_clean_sp(unsigned long sp, int is_32) |
| 419 | { | 420 | { |
| 420 | return regs->gpr[1]; | 421 | return sp; |
| 421 | } | 422 | } |
| 422 | #endif | 423 | #endif |
| 423 | 424 | ||
diff --git a/arch/powerpc/include/asm/pte-hash64-64k.h b/arch/powerpc/include/asm/pte-hash64-64k.h index 3e13e23e4fdf..d836d945068d 100644 --- a/arch/powerpc/include/asm/pte-hash64-64k.h +++ b/arch/powerpc/include/asm/pte-hash64-64k.h | |||
| @@ -47,7 +47,7 @@ | |||
| 47 | * generic accessors and iterators here | 47 | * generic accessors and iterators here |
| 48 | */ | 48 | */ |
| 49 | #define __real_pte(e,p) ((real_pte_t) { \ | 49 | #define __real_pte(e,p) ((real_pte_t) { \ |
| 50 | (e), ((e) & _PAGE_COMBO) ? \ | 50 | (e), (pte_val(e) & _PAGE_COMBO) ? \ |
| 51 | (pte_val(*((p) + PTRS_PER_PTE))) : 0 }) | 51 | (pte_val(*((p) + PTRS_PER_PTE))) : 0 }) |
| 52 | #define __rpte_to_hidx(r,index) ((pte_val((r).pte) & _PAGE_COMBO) ? \ | 52 | #define __rpte_to_hidx(r,index) ((pte_val((r).pte) & _PAGE_COMBO) ? \ |
| 53 | (((r).hidx >> ((index)<<2)) & 0xf) : ((pte_val((r).pte) >> 12) & 0xf)) | 53 | (((r).hidx >> ((index)<<2)) & 0xf) : ((pte_val((r).pte) >> 12) & 0xf)) |
diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm/reg.h index a6136515c7f2..4a9e408644fe 100644 --- a/arch/powerpc/include/asm/reg.h +++ b/arch/powerpc/include/asm/reg.h | |||
| @@ -111,17 +111,6 @@ | |||
| 111 | #define MSR_TM_TRANSACTIONAL(x) (((x) & MSR_TS_MASK) == MSR_TS_T) | 111 | #define MSR_TM_TRANSACTIONAL(x) (((x) & MSR_TS_MASK) == MSR_TS_T) |
| 112 | #define MSR_TM_SUSPENDED(x) (((x) & MSR_TS_MASK) == MSR_TS_S) | 112 | #define MSR_TM_SUSPENDED(x) (((x) & MSR_TS_MASK) == MSR_TS_S) |
| 113 | 113 | ||
| 114 | /* Reason codes describing kernel causes for transaction aborts. By | ||
| 115 | convention, bit0 is copied to TEXASR[56] (IBM bit 7) which is set if | ||
| 116 | the failure is persistent. | ||
| 117 | */ | ||
| 118 | #define TM_CAUSE_RESCHED 0xfe | ||
| 119 | #define TM_CAUSE_TLBI 0xfc | ||
| 120 | #define TM_CAUSE_FAC_UNAV 0xfa | ||
| 121 | #define TM_CAUSE_SYSCALL 0xf9 /* Persistent */ | ||
| 122 | #define TM_CAUSE_MISC 0xf6 | ||
| 123 | #define TM_CAUSE_SIGNAL 0xf4 | ||
| 124 | |||
| 125 | #if defined(CONFIG_PPC_BOOK3S_64) | 114 | #if defined(CONFIG_PPC_BOOK3S_64) |
| 126 | #define MSR_64BIT MSR_SF | 115 | #define MSR_64BIT MSR_SF |
| 127 | 116 | ||
diff --git a/arch/powerpc/include/asm/rtas.h b/arch/powerpc/include/asm/rtas.h index a8bc2bb4adc9..34fd70488d83 100644 --- a/arch/powerpc/include/asm/rtas.h +++ b/arch/powerpc/include/asm/rtas.h | |||
| @@ -264,6 +264,8 @@ extern void rtas_progress(char *s, unsigned short hex); | |||
| 264 | extern void rtas_initialize(void); | 264 | extern void rtas_initialize(void); |
| 265 | extern int rtas_suspend_cpu(struct rtas_suspend_me_data *data); | 265 | extern int rtas_suspend_cpu(struct rtas_suspend_me_data *data); |
| 266 | extern int rtas_suspend_last_cpu(struct rtas_suspend_me_data *data); | 266 | extern int rtas_suspend_last_cpu(struct rtas_suspend_me_data *data); |
| 267 | extern int rtas_online_cpus_mask(cpumask_var_t cpus); | ||
| 268 | extern int rtas_offline_cpus_mask(cpumask_var_t cpus); | ||
| 267 | extern int rtas_ibm_suspend_me(struct rtas_args *); | 269 | extern int rtas_ibm_suspend_me(struct rtas_args *); |
| 268 | 270 | ||
| 269 | struct rtc_time; | 271 | struct rtc_time; |
diff --git a/arch/powerpc/include/asm/signal.h b/arch/powerpc/include/asm/signal.h index fbe66c463891..9322c28aebd2 100644 --- a/arch/powerpc/include/asm/signal.h +++ b/arch/powerpc/include/asm/signal.h | |||
| @@ -3,5 +3,8 @@ | |||
| 3 | 3 | ||
| 4 | #define __ARCH_HAS_SA_RESTORER | 4 | #define __ARCH_HAS_SA_RESTORER |
| 5 | #include <uapi/asm/signal.h> | 5 | #include <uapi/asm/signal.h> |
| 6 | #include <uapi/asm/ptrace.h> | ||
| 7 | |||
| 8 | extern unsigned long get_tm_stackpointer(struct pt_regs *regs); | ||
| 6 | 9 | ||
| 7 | #endif /* _ASM_POWERPC_SIGNAL_H */ | 10 | #endif /* _ASM_POWERPC_SIGNAL_H */ |
diff --git a/arch/powerpc/include/asm/thread_info.h b/arch/powerpc/include/asm/thread_info.h index 8ceea14d6fe4..ba7b1973866e 100644 --- a/arch/powerpc/include/asm/thread_info.h +++ b/arch/powerpc/include/asm/thread_info.h | |||
| @@ -97,7 +97,7 @@ static inline struct thread_info *current_thread_info(void) | |||
| 97 | #define TIF_PERFMON_CTXSW 6 /* perfmon needs ctxsw calls */ | 97 | #define TIF_PERFMON_CTXSW 6 /* perfmon needs ctxsw calls */ |
| 98 | #define TIF_SYSCALL_AUDIT 7 /* syscall auditing active */ | 98 | #define TIF_SYSCALL_AUDIT 7 /* syscall auditing active */ |
| 99 | #define TIF_SINGLESTEP 8 /* singlestepping active */ | 99 | #define TIF_SINGLESTEP 8 /* singlestepping active */ |
| 100 | #define TIF_MEMDIE 9 /* is terminating due to OOM killer */ | 100 | #define TIF_NOHZ 9 /* in adaptive nohz mode */ |
| 101 | #define TIF_SECCOMP 10 /* secure computing */ | 101 | #define TIF_SECCOMP 10 /* secure computing */ |
| 102 | #define TIF_RESTOREALL 11 /* Restore all regs (implies NOERROR) */ | 102 | #define TIF_RESTOREALL 11 /* Restore all regs (implies NOERROR) */ |
| 103 | #define TIF_NOERROR 12 /* Force successful syscall return */ | 103 | #define TIF_NOERROR 12 /* Force successful syscall return */ |
| @@ -106,6 +106,7 @@ static inline struct thread_info *current_thread_info(void) | |||
| 106 | #define TIF_SYSCALL_TRACEPOINT 15 /* syscall tracepoint instrumentation */ | 106 | #define TIF_SYSCALL_TRACEPOINT 15 /* syscall tracepoint instrumentation */ |
| 107 | #define TIF_EMULATE_STACK_STORE 16 /* Is an instruction emulation | 107 | #define TIF_EMULATE_STACK_STORE 16 /* Is an instruction emulation |
| 108 | for stack store? */ | 108 | for stack store? */ |
| 109 | #define TIF_MEMDIE 17 /* is terminating due to OOM killer */ | ||
| 109 | 110 | ||
| 110 | /* as above, but as bit values */ | 111 | /* as above, but as bit values */ |
| 111 | #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) | 112 | #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) |
| @@ -124,8 +125,10 @@ static inline struct thread_info *current_thread_info(void) | |||
| 124 | #define _TIF_UPROBE (1<<TIF_UPROBE) | 125 | #define _TIF_UPROBE (1<<TIF_UPROBE) |
| 125 | #define _TIF_SYSCALL_TRACEPOINT (1<<TIF_SYSCALL_TRACEPOINT) | 126 | #define _TIF_SYSCALL_TRACEPOINT (1<<TIF_SYSCALL_TRACEPOINT) |
| 126 | #define _TIF_EMULATE_STACK_STORE (1<<TIF_EMULATE_STACK_STORE) | 127 | #define _TIF_EMULATE_STACK_STORE (1<<TIF_EMULATE_STACK_STORE) |
| 128 | #define _TIF_NOHZ (1<<TIF_NOHZ) | ||
| 127 | #define _TIF_SYSCALL_T_OR_A (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | \ | 129 | #define _TIF_SYSCALL_T_OR_A (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | \ |
| 128 | _TIF_SECCOMP | _TIF_SYSCALL_TRACEPOINT) | 130 | _TIF_SECCOMP | _TIF_SYSCALL_TRACEPOINT | \ |
| 131 | _TIF_NOHZ) | ||
| 129 | 132 | ||
| 130 | #define _TIF_USER_WORK_MASK (_TIF_SIGPENDING | _TIF_NEED_RESCHED | \ | 133 | #define _TIF_USER_WORK_MASK (_TIF_SIGPENDING | _TIF_NEED_RESCHED | \ |
| 131 | _TIF_NOTIFY_RESUME | _TIF_UPROBE) | 134 | _TIF_NOTIFY_RESUME | _TIF_UPROBE) |
diff --git a/arch/powerpc/include/asm/tm.h b/arch/powerpc/include/asm/tm.h index 4b4449abf3f8..9dfbc34bdbf5 100644 --- a/arch/powerpc/include/asm/tm.h +++ b/arch/powerpc/include/asm/tm.h | |||
| @@ -5,6 +5,8 @@ | |||
| 5 | * Copyright 2012 Matt Evans & Michael Neuling, IBM Corporation. | 5 | * Copyright 2012 Matt Evans & Michael Neuling, IBM Corporation. |
| 6 | */ | 6 | */ |
| 7 | 7 | ||
| 8 | #include <uapi/asm/tm.h> | ||
| 9 | |||
| 8 | #ifdef CONFIG_PPC_TRANSACTIONAL_MEM | 10 | #ifdef CONFIG_PPC_TRANSACTIONAL_MEM |
| 9 | extern void do_load_up_transact_fpu(struct thread_struct *thread); | 11 | extern void do_load_up_transact_fpu(struct thread_struct *thread); |
| 10 | extern void do_load_up_transact_altivec(struct thread_struct *thread); | 12 | extern void do_load_up_transact_altivec(struct thread_struct *thread); |
diff --git a/arch/powerpc/include/asm/udbg.h b/arch/powerpc/include/asm/udbg.h index 5a7510e9d09d..dc590919f8eb 100644 --- a/arch/powerpc/include/asm/udbg.h +++ b/arch/powerpc/include/asm/udbg.h | |||
| @@ -52,6 +52,7 @@ extern void __init udbg_init_40x_realmode(void); | |||
| 52 | extern void __init udbg_init_cpm(void); | 52 | extern void __init udbg_init_cpm(void); |
| 53 | extern void __init udbg_init_usbgecko(void); | 53 | extern void __init udbg_init_usbgecko(void); |
| 54 | extern void __init udbg_init_wsp(void); | 54 | extern void __init udbg_init_wsp(void); |
| 55 | extern void __init udbg_init_memcons(void); | ||
| 55 | extern void __init udbg_init_ehv_bc(void); | 56 | extern void __init udbg_init_ehv_bc(void); |
| 56 | extern void __init udbg_init_ps3gelic(void); | 57 | extern void __init udbg_init_ps3gelic(void); |
| 57 | extern void __init udbg_init_debug_opal_raw(void); | 58 | extern void __init udbg_init_debug_opal_raw(void); |
diff --git a/arch/powerpc/include/uapi/asm/Kbuild b/arch/powerpc/include/uapi/asm/Kbuild index f7bca6370745..5182c8622b54 100644 --- a/arch/powerpc/include/uapi/asm/Kbuild +++ b/arch/powerpc/include/uapi/asm/Kbuild | |||
| @@ -40,6 +40,7 @@ header-y += statfs.h | |||
| 40 | header-y += swab.h | 40 | header-y += swab.h |
| 41 | header-y += termbits.h | 41 | header-y += termbits.h |
| 42 | header-y += termios.h | 42 | header-y += termios.h |
| 43 | header-y += tm.h | ||
| 43 | header-y += types.h | 44 | header-y += types.h |
| 44 | header-y += ucontext.h | 45 | header-y += ucontext.h |
| 45 | header-y += unistd.h | 46 | header-y += unistd.h |
diff --git a/arch/powerpc/include/uapi/asm/tm.h b/arch/powerpc/include/uapi/asm/tm.h new file mode 100644 index 000000000000..85059a00f560 --- /dev/null +++ b/arch/powerpc/include/uapi/asm/tm.h | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | #ifndef _ASM_POWERPC_TM_H | ||
| 2 | #define _ASM_POWERPC_TM_H | ||
| 3 | |||
| 4 | /* Reason codes describing kernel causes for transaction aborts. By | ||
| 5 | * convention, bit0 is copied to TEXASR[56] (IBM bit 7) which is set if | ||
| 6 | * the failure is persistent. PAPR saves 0xff-0xe0 for the hypervisor. | ||
| 7 | */ | ||
| 8 | #define TM_CAUSE_PERSISTENT 0x01 | ||
| 9 | #define TM_CAUSE_RESCHED 0xde | ||
| 10 | #define TM_CAUSE_TLBI 0xdc | ||
| 11 | #define TM_CAUSE_FAC_UNAV 0xda | ||
| 12 | #define TM_CAUSE_SYSCALL 0xd8 /* future use */ | ||
| 13 | #define TM_CAUSE_MISC 0xd6 /* future use */ | ||
| 14 | #define TM_CAUSE_SIGNAL 0xd4 | ||
| 15 | #define TM_CAUSE_ALIGNMENT 0xd2 | ||
| 16 | #define TM_CAUSE_EMULATE 0xd0 | ||
| 17 | |||
| 18 | #endif | ||
