| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | /* *	linux/arch/alpha/kernel/sys_cabriolet.c * *	Copyright (C) 1995 David A Rusling *	Copyright (C) 1996 Jay A Estabrook *	Copyright (C) 1998, 1999, 2000 Richard Henderson * * Code supporting the Cabriolet (AlphaPC64), EB66+, and EB164, * PC164 and LX164. */#include <linux/kernel.h>#include <linux/types.h>#include <linux/mm.h>#include <linux/sched.h>#include <linux/pci.h>#include <linux/init.h>#include <linux/bitops.h>#include <asm/ptrace.h>#include <asm/dma.h>#include <asm/irq.h>#include <asm/mmu_context.h>#include <asm/io.h>#include <asm/pgtable.h>#include <asm/core_apecs.h>#include <asm/core_cia.h>#include <asm/core_lca.h>#include <asm/tlbflush.h>#include "proto.h"#include "irq_impl.h"#include "pci_impl.h"#include "machvec_impl.h"#include "pc873xx.h"/* Note mask bit is true for DISABLED irqs.  */static unsigned long cached_irq_mask = ~0UL;static inline voidcabriolet_update_irq_hw(unsigned int irq, unsigned long mask){	int ofs = (irq - 16) / 8;	outb(mask >> (16 + ofs * 8), 0x804 + ofs);}static inline voidcabriolet_enable_irq(struct irq_data *d){	cabriolet_update_irq_hw(d->irq, cached_irq_mask &= ~(1UL << d->irq));}static voidcabriolet_disable_irq(struct irq_data *d)
 |