Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Sep 2000 22:12:49 -0700 (PDT)
From:      Matthew Jacob <mjacob@feral.com>
To:        Peter Wemm <peter@netplex.com.au>
Cc:        Andrew Gallatin <gallatin@cs.duke.edu>, obrien@FreeBSD.ORG, alpha@FreeBSD.ORG
Subject:   Re: what was the last patch you sent out? 
Message-ID:  <Pine.BSF.4.21.0009052207370.50261-100000@beppo.feral.com>
In-Reply-To: <200009060344.e863i9G48367@netplex.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help

> 
> What I'd like to know is what is different about the CIA setup in the PC164
> (vs PC164SX)..
> 
> Also, consider this difference:
> 
> PC164:
> cia0: ALCOR/ALCOR2, pass 3
> cia0: extended capabilities: 21<DWEN,BWEN>
> PC164SX:
> cia0: Pyxis, pass 1
> cia0: extended capabilities: 1<BWEN>
> 
> And consider:
>         if (cia_rev >= 2 || cia_ispyxis)
>                 cia_config = REGVAL(CIA_CSR_CNFG);
>         else
>                 cia_config = 0;
> ..
>         if (alpha_implver() != ALPHA_IMPLVER_EV5
>             || alpha_amask(ALPHA_AMASK_BWX)
>             || !(cia_config & CNFG_BWEN)) {
> ..
>                 chipset = cia_swiz_chipset;
> 	} else  {
> ..
> 		chipset = cia_bwx_chipset;
> 	}
> 
> IE: we are setting cia_bwx_chipset for all capable chipsets, including
> both the ALCOR and Pyxis ones that I've seen console cut/pastes from.
> 
> While later:
>         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;
>                 chipset_hae_mask = 7L << 29;
>         }
> 
> It seems to me that at one point, we are setting the Pyxis/ALCOR to use
> BWX and later on we are setting BWX modes on Pyxis-only (missing out the
> PC164's ALCOR chips), but we are leaving the chipset[] vector pointer
> setup for BWX.
> 
> Could this possibly explain it?  (ie: machine half setup for SWIZ and half
> for BWX)  I really do not understand the finer details of this area of the
> Alphas.

I noticed the code. It *is* bogus. But it isn't what's killing me.

I traced thing far enough to see things wedge just after it first identifies
the first card in the PCI bus. I can't quite tell yet whether I'm dying right
after reading the vendor id or whether the DELAY's I put in to let things
drain enough so that printf's could get out weren't enough or what- part of
the problem here is the !$)*@$~)(*~_)@~!)@$ stupid way FreeBSD/NetBSD do their
console setup on Alpha (begging everyone's pardon- I've hated this stand on
your head out of order init stuff that gets done) so it's really hard to know
quite when you got stomped if you have a serial console.

I won't be back in the office until tomorrow night when I'll resume. Since
4100 worked for me (to a 1st approx), which is a hard case, let's assume that
the pure PC164 is 'something else' for the moment.

-matt




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?Pine.BSF.4.21.0009052207370.50261-100000>