2002-01-24 06:27:39

by Brian Gerst

[permalink] [raw]
Subject: [PATCH] small apic timer cleanup

diff -urN linux-2.5.3-pre3/arch/i386/kernel/apic.c linux/arch/i386/kernel/apic.c
--- linux-2.5.3-pre3/arch/i386/kernel/apic.c Mon Jan 14 21:57:05 2002
+++ linux/arch/i386/kernel/apic.c Wed Jan 23 10:12:36 2002
@@ -1014,7 +1014,7 @@
*/
unsigned int apic_timer_irqs [NR_CPUS];

-void smp_apic_timer_interrupt(struct pt_regs * regs)
+void smp_apic_timer_interrupt(struct pt_regs regs)
{
int cpu = smp_processor_id();

@@ -1034,7 +1034,7 @@
* interrupt lock, which is the WrongThing (tm) to do.
*/
irq_enter(cpu, 0);
- smp_local_timer_interrupt(regs);
+ smp_local_timer_interrupt(&regs);
irq_exit(cpu, 0);

if (softirq_pending(cpu))
diff -urN linux-2.5.3-pre3/arch/i386/kernel/i8259.c linux/arch/i386/kernel/i8259.c
--- linux-2.5.3-pre3/arch/i386/kernel/i8259.c Tue Jan 22 00:31:00 2002
+++ linux/arch/i386/kernel/i8259.c Wed Jan 23 10:12:53 2002
@@ -93,7 +93,7 @@
* a much simpler SMP time architecture:
*/
#ifdef CONFIG_X86_LOCAL_APIC
-BUILD_SMP_TIMER_INTERRUPT(apic_timer_interrupt,LOCAL_TIMER_VECTOR)
+BUILD_SMP_INTERRUPT(apic_timer_interrupt,LOCAL_TIMER_VECTOR)
BUILD_SMP_INTERRUPT(error_interrupt,ERROR_APIC_VECTOR)
BUILD_SMP_INTERRUPT(spurious_interrupt,SPURIOUS_APIC_VECTOR)
#endif
diff -urN linux-2.5.3-pre3/include/asm-i386/hw_irq.h linux/include/asm-i386/hw_irq.h
--- linux-2.5.3-pre3/include/asm-i386/hw_irq.h Tue Jan 22 00:31:04 2002
+++ linux/include/asm-i386/hw_irq.h Wed Jan 23 10:13:24 2002
@@ -137,22 +137,6 @@
"call "SYMBOL_NAME_STR(smp_##x)"\n\t" \
"jmp ret_from_intr\n");

-#define BUILD_SMP_TIMER_INTERRUPT(x,v) XBUILD_SMP_TIMER_INTERRUPT(x,v)
-#define XBUILD_SMP_TIMER_INTERRUPT(x,v) \
-asmlinkage void x(struct pt_regs * regs); \
-asmlinkage void call_##x(void); \
-__asm__( \
-"\n"__ALIGN_STR"\n" \
-SYMBOL_NAME_STR(x) ":\n\t" \
- "pushl $"#v"-256\n\t" \
- SAVE_ALL \
- "movl %esp,%eax\n\t" \
- "pushl %eax\n\t" \
- SYMBOL_NAME_STR(call_##x)":\n\t" \
- "call "SYMBOL_NAME_STR(smp_##x)"\n\t" \
- "addl $4,%esp\n\t" \
- "jmp ret_from_intr\n");
-
#define BUILD_COMMON_IRQ() \
asmlinkage void call_do_IRQ(void); \
__asm__( \


Attachments:
apictimer-1 (2.03 kB)