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>
index | next in thread | previous in thread | raw e-mail
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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200009100808.e8A88FG76895>
