X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-i386%2Fhw_irq.h;h=4ac84cc6f01ac8c81fd16c9734a216a5cb4543f2;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=2875fe7bcedd4a9234c9baf2968b3c7d9a350d3d;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/include/asm-i386/hw_irq.h b/include/asm-i386/hw_irq.h index 2875fe7bc..4ac84cc6f 100644 --- a/include/asm-i386/hw_irq.h +++ b/include/asm-i386/hw_irq.h @@ -32,21 +32,19 @@ extern u8 irq_vector[NR_IRQ_VECTORS]; extern void (*interrupt[NR_IRQS])(void); #ifdef CONFIG_SMP -asmlinkage void reschedule_interrupt(void); -asmlinkage void invalidate_interrupt(void); -asmlinkage void call_function_interrupt(void); +fastcall void reschedule_interrupt(void); +fastcall void invalidate_interrupt(void); +fastcall void call_function_interrupt(void); #endif #ifdef CONFIG_X86_LOCAL_APIC -asmlinkage void apic_timer_interrupt(void); -asmlinkage void error_interrupt(void); -asmlinkage void spurious_interrupt(void); -asmlinkage void thermal_interrupt(struct pt_regs); +fastcall void apic_timer_interrupt(void); +fastcall void error_interrupt(void); +fastcall void spurious_interrupt(void); +fastcall void thermal_interrupt(struct pt_regs *); #define platform_legacy_irq(irq) ((irq) < 16) #endif -void mask_irq(unsigned int irq); -void unmask_irq(unsigned int irq); void disable_8259A_irq(unsigned int irq); void enable_8259A_irq(unsigned int irq); int i8259A_irq_pending(unsigned int irq); @@ -59,7 +57,7 @@ void disable_IO_APIC(void); void print_IO_APIC(void); int IO_APIC_get_PCI_irq_vector(int bus, int slot, int fn); void send_IPI(int dest, int vector); -void setup_ioapic_dest(cpumask_t mask); +void setup_ioapic_dest(void); extern unsigned long io_apic_irqs; @@ -68,46 +66,6 @@ extern atomic_t irq_mis_count; #define IO_APIC_IRQ(x) (((x) >= 16) || ((1<<(x)) & io_apic_irqs)) -/* - * The profiling function is SMP safe. (nothing can mess - * around with "current", and the profiling counters are - * updated with atomic operations). This is especially - * useful with a profiling multiplier != 1 - */ -static inline void x86_do_profile(struct pt_regs * regs) -{ - unsigned long eip; - extern unsigned long prof_cpu_mask; - - profile_hook(regs); - - if (user_mode(regs)) - return; - - if (!prof_buffer) - return; - - eip = regs->eip; - - /* - * Only measure the CPUs specified by /proc/irq/prof_cpu_mask. - * (default is all CPUs.) - */ - if (!((1<>= prof_shift; - /* - * Don't ignore out-of-bounds EIP values silently, - * put them into the last histogram slot, so if - * present, they will show up as a sharp peak. - */ - if (eip > prof_len-1) - eip = prof_len-1; - atomic_inc((atomic_t *)&prof_buffer[eip]); -} - #if defined(CONFIG_X86_IO_APIC) static inline void hw_resend_irq(struct hw_interrupt_type *h, unsigned int i) {