25d61578da
On SN, only allow one bit to be set in the smp_affinty mask when redirecting an interrupt. Currently setting multiple bits is allowed, but only the first bit is used in determining the CPU to redirect to. This has caused confusion among some customers. [akpm@linux-foundation.org: fixes] Signed-off-by: John Keller <jpk@sgi.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Tony Luck <tony.luck@intel.com>
40 lines
1.1 KiB
C
40 lines
1.1 KiB
C
#ifndef _ASM_IA64_IRQ_H
|
|
#define _ASM_IA64_IRQ_H
|
|
|
|
/*
|
|
* Copyright (C) 1999-2000, 2002 Hewlett-Packard Co
|
|
* David Mosberger-Tang <davidm@hpl.hp.com>
|
|
* Stephane Eranian <eranian@hpl.hp.com>
|
|
*
|
|
* 11/24/98 S.Eranian updated TIMER_IRQ and irq_canonicalize
|
|
* 01/20/99 S.Eranian added keyboard interrupt
|
|
* 02/29/00 D.Mosberger moved most things into hw_irq.h
|
|
*/
|
|
|
|
#include <linux/types.h>
|
|
#include <linux/cpumask.h>
|
|
|
|
#define NR_IRQS 256
|
|
#define NR_IRQ_VECTORS NR_IRQS
|
|
|
|
static __inline__ int
|
|
irq_canonicalize (int irq)
|
|
{
|
|
/*
|
|
* We do the legacy thing here of pretending that irqs < 16
|
|
* are 8259 irqs. This really shouldn't be necessary at all,
|
|
* but we keep it here as serial.c still uses it...
|
|
*/
|
|
return ((irq == 2) ? 9 : irq);
|
|
}
|
|
|
|
extern void disable_irq (unsigned int);
|
|
extern void disable_irq_nosync (unsigned int);
|
|
extern void enable_irq (unsigned int);
|
|
extern void set_irq_affinity_info (unsigned int irq, int dest, int redir);
|
|
bool is_affinity_mask_valid(cpumask_t cpumask);
|
|
|
|
#define is_affinity_mask_valid is_affinity_mask_valid
|
|
|
|
#endif /* _ASM_IA64_IRQ_H */
|