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 ---