Quick and dirty patch to use the 16 vectors that appear to have
fallen through the cracks.  This also is useful for older CPUs that
have serial APICS:  P54C, P6, P2, P3, K5, K6, etc.  They can benefit
from the extra vector space to hash the IRQs.

I suppose I could have started at 0x20 instead of 0x21.  The extra
level probably would more than compensate for having to skip 0x80 on
the initial allocations.

Signed-off-by:  James Cleverdon <[EMAIL PROTECTED]>


diff -pru 2.6.12.3/include/asm-i386/mach-default/irq_vectors.h 
z12.3/include/asm-i386/mach-default/irq_vectors.h
--- 2.6.12.3/include/asm-i386/mach-default/irq_vectors.h        2005-07-15 
14:18:57.000000000 -0700
+++ z12.3/include/asm-i386/mach-default/irq_vectors.h   2005-08-14 
15:35:46.000000000 -0700
@@ -31,10 +31,6 @@
 #define SYSCALL_VECTOR         0x80
 
 /*
- * Vectors 0x20-0x2f are used for ISA interrupts.
- */
-
-/*
  * Special IRQ vectors used by the SMP architecture, 0xf0-0xff
  *
  *  some of the following vectors are 'rare', they are merged
@@ -58,11 +54,11 @@
 #define LOCAL_TIMER_VECTOR     0xef
 
 /*
- * First APIC vector available to drivers: (vectors 0x30-0xee)
- * we start at 0x31 to spread out vectors evenly between priority
+ * First APIC vector available to drivers: (vectors 0x20-0xee)
+ * we start at 0x21 to spread out vectors evenly between priority
  * levels. (0x80 is the syscall vector)
  */
-#define FIRST_DEVICE_VECTOR    0x31
+#define FIRST_DEVICE_VECTOR    0x21
 #define FIRST_SYSTEM_VECTOR    0xef
 
 #define TIMER_IRQ 0
diff -pru 2.6.12.3/include/asm-x86_64/hw_irq.h z12.3/include/asm-x86_64/hw_irq.h
--- 2.6.12.3/include/asm-x86_64/hw_irq.h        2005-07-15 14:18:57.000000000 
-0700
+++ z12.3/include/asm-x86_64/hw_irq.h   2005-08-14 15:37:30.000000000 -0700
@@ -36,10 +36,6 @@ struct hw_interrupt_type;
 
 
 /*
- * Vectors 0x20-0x2f are used for ISA interrupts.
- */
-
-/*
  * Special IRQ vectors used by the SMP architecture, 0xf0-0xff
  *
  *  some of the following vectors are 'rare', they are merged
@@ -67,11 +63,11 @@ struct hw_interrupt_type;
 #define LOCAL_TIMER_VECTOR     0xef
 
 /*
- * First APIC vector available to drivers: (vectors 0x30-0xee)
- * we start at 0x31 to spread out vectors evenly between priority
+ * First APIC vector available to drivers: (vectors 0x20-0xee)
+ * we start at 0x21 to spread out vectors evenly between priority
  * levels. (0x80 is the syscall vector)
  */
-#define FIRST_DEVICE_VECTOR    0x31
+#define FIRST_DEVICE_VECTOR    0x21
 #define FIRST_SYSTEM_VECTOR    0xef   /* duplicated in irq.h */
 
 


-- 
James Cleverdon
IBM LTC (xSeries Linux Solutions)
{jamesclv(Unix, preferred), cleverdj(Notes)} at us dot ibm dot comm
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to