Date: Sun, 10 Sep 2000 01:08:15 -0700 From: Peter Wemm <peter@netplex.com.au> To: Bernd Walter <ticso@cicely5.cicely.de> Cc: Matthew Jacob <mjacob@feral.com>, Christian Weisgerber <naddy@mips.inka.de>, freebsd-alpha@FreeBSD.ORG Subject: Re: cvs commit: src/sys/pci pcisupport.c (fwd) Message-ID: <200009100808.e8A88FG76895@netplex.com.au> In-Reply-To: <20000910094939.A18867@cicely5.cicely.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Bernd Walter wrote: > On Sat, Sep 09, 2000 at 11:16:51PM -0700, Peter Wemm wrote: > > AHA! I suspected the bwx/swiz mixup was implicated in this, and this > > suggests it does have something to do with it. > > > > Can you try something like this?: > > cc -c -O -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmiss ing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -a nsi -g -nostdinc -I- -I. -I../.. -I../../../include -D_KERNEL -include opt _global.h -elf -mno-fp-regs -ffixed-8 -Wa,-mev56 ../../alpha/pci/cia.c > ../../alpha/pci/cia.c: In function `cia_attach': > ../../alpha/pci/cia.c:493: invalid operands to binary == > *** Error code 1 oops. :-) Change it to: if (cia_ispyxis || chipset_bwx) { > That's this line: > > + if (cia_ispyxis || chipset_bwx || chipset == cia_bwx_chipset) { ie: if the init code already set chipset_bwx, don't turn it off. To be most correct, it should probably be: Index: cia.c =================================================================== RCS file: /home/ncvs/src/sys/alpha/pci/cia.c,v retrieving revision 1.27 diff -c -r1.27 cia.c *** cia.c 2000/09/02 01:05:37 1.27 --- cia.c 2000/09/10 08:07:02 *************** *** 485,499 **** if (!platform.iointr) /* XXX */ set_iointr(alpha_dispatch_intr); ! if (cia_ispyxis) { snprintf(chipset_type, sizeof(chipset_type), "pyxis"); ! chipset_bwx = 1; chipset_ports = CIA_EV56_BWIO; chipset_memory = CIA_EV56_BWMEM; chipset_dense = CIA_PCI_DENSE; } else { - snprintf(chipset_type, sizeof(chipset_type), "cia"); - chipset_bwx = 0; chipset_ports = CIA_PCI_SIO1; chipset_memory = CIA_PCI_SMEM1; chipset_dense = CIA_PCI_DENSE; --- 485,500 ---- if (!platform.iointr) /* XXX */ set_iointr(alpha_dispatch_intr); ! if (cia_ispyxis) snprintf(chipset_type, sizeof(chipset_type), "pyxis"); ! else ! snprintf(chipset_type, sizeof(chipset_type), "cia"); ! ! if (chipset_bwx) { chipset_ports = CIA_EV56_BWIO; chipset_memory = CIA_EV56_BWMEM; chipset_dense = CIA_PCI_DENSE; } else { chipset_ports = CIA_PCI_SIO1; chipset_memory = CIA_PCI_SMEM1; chipset_dense = CIA_PCI_DENSE; Matt Jacob didn't think this was the problem, but the discovery that forcing BWX mode suggests otherwise. Cheers, -Peter -- Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200009100808.e8A88FG76895>