A couple of nit-picking points ... On Wed, Dec 11, 2002 at 09:20:28AM +0100, Carsten Langgaard wrote: > Index: arch/mips/mips-boards/generic/pci.c > =================================================================== > RCS file: /home/cvs/linux/arch/mips/mips-boards/generic/pci.c,v > retrieving revision 1.5.2.4 > diff -u -r1.5.2.4 pci.c > --- arch/mips/mips-boards/generic/pci.c 28 Sep 2002 18:28:44 -0000 1.5.2.4 > +++ arch/mips/mips-boards/generic/pci.c 11 Dec 2002 08:11:56 -0000 > @@ -405,6 +405,12 @@ > ".set\treorder"); > > irq = *(volatile u32 *)(KSEG1ADDR(BONITO_PCICFG_BASE)); > + __asm__ __volatile__( > + ".set\tnoreorder\n\t" > + ".set\tnoat\n\t" > + "sync\n\t" > + ".set\tat\n\t" > + ".set\treorder"); > irq &= 0xff; > BONITO_PCIMAP_CFG = 0; > break; Would a higher level macro such as __sync or fast_mb be better here? > Index: arch/mips/mips-boards/malta/malta_int.c > =================================================================== > RCS file: /home/cvs/linux/arch/mips/mips-boards/malta/malta_int.c,v > retrieving revision 1.8.2.6 > diff -u -r1.8.2.6 malta_int.c > --- arch/mips/mips-boards/malta/malta_int.c 5 Aug 2002 23:53:34 -0000 1.8.2.6 > +++ arch/mips/mips-boards/malta/malta_int.c 11 Dec 2002 08:11:57 -0000 > @@ -91,6 +91,9 @@ > { > unsigned int data,datahi; > > + /* Mask out corehi interrupt. */ > + clear_c0_status(IE_IRQ3); > + > printk("CoreHI interrupt, shouldn't happen, so we die here!!!\n"); > printk("epc : %08lx\nStatus: %08lx\nCause : %08lx\nbadVaddr : %08lx\n" > , regs->cp0_epc, regs->cp0_status, regs->cp0_cause, regs->cp0_badvaddr); > @@ -125,7 +128,6 @@ > > /* We die here*/ > die("CoreHi interrupt", regs); > - while (1) ; > } > > void __init init_IRQ(void) I think corehi interrupt should be blocked from the beginning. I seem to remember a board errata itme that recommands not using it. Jun