All of lore.kernel.org
 help / color / mirror / Atom feed
* FW: [PATCH] MSI broke voyager build
@ 2004-03-29 15:45 Nguyen, Tom L
  0 siblings, 0 replies; 2+ messages in thread
From: Nguyen, Tom L @ 2004-03-29 15:45 UTC (permalink / raw)
  To: Administrator; +Cc: akpm, Nguyen, Tom L

Wednesday, December 31, 2003 2:59 PM, James Bottomley wrote:
> The author made the arch/i386 compile depend on NR_VECTORS being
> defined.
> 
> This symbol, however, was put only into mach-default/irq_vectors.h
> 
> The attached patch adds it to voyager; visws and pc9800 however, are
> still broken.
> 
> The code that breaks is this (in arch/i386/kernel/i8259.c):
> 
>  	 * us. (some of these will be overridden and become
>  	 * 'special' SMP interrupts)
>  	 */
> -	for (i = 0; i < NR_IRQS; i++) {
> +	for (i = 0; i < (NR_VECTORS - FIRST_EXTERNAL_VECTOR); i++) {
>  		int vector = FIRST_EXTERNAL_VECTOR + i;
> +		if (i >= NR_IRQS)
> +			break;
>  		if (vector != SYSCALL_VECTOR)
>  			set_intr_gate(vector, interrupt[i]);
> 
> as far as I can see, with NR_VECTORS set at 256, FIRST_EXTERNAL_VECTOR
> at 32 and NR_IRQS set at 224 the two forms of the loop are identical.
> The only case it would make a difference would be for NR_IRQ >
> NR_VECTORS + FIRST_EXTERNAL_VECTOR which doesn't seem to make any
> sense.  Perhaps just backing this change out of i8259.c would be
> better?  NR_VECTORS seems to have no other defined use in the MSI code.

>> It would make a significant difference when CONFIG_PCI_USE_VECTOR is 
>> set to "Y" by users to enable MSI support. The setting of 
>> CONFIG_PCI_USE_VECTOR to "Y" sets NR_IRQS at 239 (FIRST_SYSTEM_VECTOR)
>> instead of 224.


> ===== include/asm-i386/mach-voyager/irq_vectors.h 1.4 vs edited =====
> --- 1.4/include/asm-i386/mach-voyager/irq_vectors.h	Wed Oct 22 11:34:51
> 2003
> +++ edited/include/asm-i386/mach-voyager/irq_vectors.h	Wed Dec 31
> 16:30:15 2003
> @@ -55,6 +55,7 @@
>  #define VIC_CPU_BOOT_CPI		VIC_CPI_LEVEL0
>  #define VIC_CPU_BOOT_ERRATA_CPI		(VIC_CPI_LEVEL0 + 8)
> 
> +#define NR_VECTORS 256
>  #define NR_IRQS 224
>  #define NR_IRQ_VECTORS NR_IRQS
> 

>> Thanks for providing a fix. The fix looks fine to me.

Thanks,
Long

^ permalink raw reply	[flat|nested] 2+ messages in thread

* FW: [PATCH] MSI broke voyager build
@ 2004-01-05 21:19 Nguyen, Tom L
  0 siblings, 0 replies; 2+ messages in thread
From: Nguyen, Tom L @ 2004-01-05 21:19 UTC (permalink / raw)
  To: linux-kernel; +Cc: akpm, Nguyen, Tom L

Wednesday, December 31, 2003 2:59 PM, James Bottomley wrote:
> The author made the arch/i386 compile depend on NR_VECTORS being
> defined.
> 
> This symbol, however, was put only into mach-default/irq_vectors.h
> 
> The attached patch adds it to voyager; visws and pc9800 however, are
> still broken.
> 
> The code that breaks is this (in arch/i386/kernel/i8259.c):
> 
>  	 * us. (some of these will be overridden and become
>  	 * 'special' SMP interrupts)
>  	 */
> -	for (i = 0; i < NR_IRQS; i++) {
> +	for (i = 0; i < (NR_VECTORS - FIRST_EXTERNAL_VECTOR); i++) {
>  		int vector = FIRST_EXTERNAL_VECTOR + i;
> +		if (i >= NR_IRQS)
> +			break;
>  		if (vector != SYSCALL_VECTOR)
>  			set_intr_gate(vector, interrupt[i]);
> 
> as far as I can see, with NR_VECTORS set at 256, FIRST_EXTERNAL_VECTOR
> at 32 and NR_IRQS set at 224 the two forms of the loop are identical.
> The only case it would make a difference would be for NR_IRQ >
> NR_VECTORS + FIRST_EXTERNAL_VECTOR which doesn't seem to make any
> sense.  Perhaps just backing this change out of i8259.c would be
> better?  NR_VECTORS seems to have no other defined use in the MSI code.

>> It would make a significant difference when CONFIG_PCI_USE_VECTOR is 
>> set to "Y" by users to enable MSI support. The setting of 
>> CONFIG_PCI_USE_VECTOR to "Y" sets NR_IRQS at 239 (FIRST_SYSTEM_VECTOR)
>> instead of 224.


> ===== include/asm-i386/mach-voyager/irq_vectors.h 1.4 vs edited =====
> --- 1.4/include/asm-i386/mach-voyager/irq_vectors.h	Wed Oct 22 11:34:51
> 2003
> +++ edited/include/asm-i386/mach-voyager/irq_vectors.h	Wed Dec 31
> 16:30:15 2003
> @@ -55,6 +55,7 @@
>  #define VIC_CPU_BOOT_CPI		VIC_CPI_LEVEL0
>  #define VIC_CPU_BOOT_ERRATA_CPI		(VIC_CPI_LEVEL0 + 8)
> 
> +#define NR_VECTORS 256
>  #define NR_IRQS 224
>  #define NR_IRQ_VECTORS NR_IRQS
> 

>> Thanks for providing a fix. The fix looks fine to me.

Thanks,
Long

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-03-29 15:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-29 15:45 FW: [PATCH] MSI broke voyager build Nguyen, Tom L
  -- strict thread matches above, loose matches on Subject: below --
2004-01-05 21:19 Nguyen, Tom L

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.