Skip site navigation (1)Skip section navigation (2)
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>