irq.c (e6768a4f392d05bc11ed508d35938932c73aac5a) | irq.c (945feb174b14e7098cc7ecf0cf4768d35bc52f9c) |
---|---|
1/* 2 * Derived from arch/i386/kernel/irq.c 3 * Copyright (C) 1992 Linus Torvalds 4 * Adapted from arch/i386 by Gary Thomas 5 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) 6 * Updated and modified by Cort Dougan <cort@fsmlabs.com> 7 * Copyright (C) 1996-2001 Cort Dougan 8 * Adapted for Power Macintosh by Paul Mackerras --- 100 unchanged lines hidden (view full) --- 109} 110 111static inline void set_soft_enabled(unsigned long enable) 112{ 113 __asm__ __volatile__("stb %0,%1(13)" 114 : : "r" (enable), "i" (offsetof(struct paca_struct, soft_enabled))); 115} 116 | 1/* 2 * Derived from arch/i386/kernel/irq.c 3 * Copyright (C) 1992 Linus Torvalds 4 * Adapted from arch/i386 by Gary Thomas 5 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) 6 * Updated and modified by Cort Dougan <cort@fsmlabs.com> 7 * Copyright (C) 1996-2001 Cort Dougan 8 * Adapted for Power Macintosh by Paul Mackerras --- 100 unchanged lines hidden (view full) --- 109} 110 111static inline void set_soft_enabled(unsigned long enable) 112{ 113 __asm__ __volatile__("stb %0,%1(13)" 114 : : "r" (enable), "i" (offsetof(struct paca_struct, soft_enabled))); 115} 116 |
117void local_irq_restore(unsigned long en) | 117void raw_local_irq_restore(unsigned long en) |
118{ 119 /* 120 * get_paca()->soft_enabled = en; 121 * Is it ever valid to use local_irq_restore(0) when soft_enabled is 1? 122 * That was allowed before, and in such a case we do need to take care 123 * that gcc will set soft_enabled directly via r13, not choose to use 124 * an intermediate register, lest we're preempted to a different cpu. 125 */ --- 43 unchanged lines hidden (view full) --- 169 */ 170 if (firmware_has_feature(FW_FEATURE_PS3_LV1)) { 171 u64 tmp; 172 lv1_get_version_info(&tmp); 173 } 174 175 __hard_irq_enable(); 176} | 118{ 119 /* 120 * get_paca()->soft_enabled = en; 121 * Is it ever valid to use local_irq_restore(0) when soft_enabled is 1? 122 * That was allowed before, and in such a case we do need to take care 123 * that gcc will set soft_enabled directly via r13, not choose to use 124 * an intermediate register, lest we're preempted to a different cpu. 125 */ --- 43 unchanged lines hidden (view full) --- 169 */ 170 if (firmware_has_feature(FW_FEATURE_PS3_LV1)) { 171 u64 tmp; 172 lv1_get_version_info(&tmp); 173 } 174 175 __hard_irq_enable(); 176} |
177EXPORT_SYMBOL(raw_local_irq_restore); |
|
177#endif /* CONFIG_PPC64 */ 178 179int show_interrupts(struct seq_file *p, void *v) 180{ 181 int i = *(loff_t *)v, j; 182 struct irqaction *action; 183 irq_desc_t *desc; 184 unsigned long flags; --- 903 unchanged lines hidden --- | 178#endif /* CONFIG_PPC64 */ 179 180int show_interrupts(struct seq_file *p, void *v) 181{ 182 int i = *(loff_t *)v, j; 183 struct irqaction *action; 184 irq_desc_t *desc; 185 unsigned long flags; --- 903 unchanged lines hidden --- |