Port-ofppc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Pegasos dmesg



On 19-Jan-2008 Frank Wille wrote:
> I have disabled radeonfb and genfb now. Or do I really have to check for the
> Radeon in genofw_pci_conf_hook?
> 

No.. what I meant is that we have to avoid configuring the radeon (or any VGA
CLASS device for that matter) in the pci_conf_hook.

>> If not, yank PCI_NETBSD_CONFIGURE, enable PCI_CONF_DUMP, and see what the
>> proper ranges should be, then tune the extents to set it into those
>> ranges.
> 
> Ok. The memory- and I/O-regions of all devices are known to me, but I'm not
> sure how that reflects into extent_create()?
> 
> For example the "pciio" extent is created from 0x8000 to 0xffff, although the
> I/O ranges assigned by OFW are all between 0x1000 and 0x1200...?

The pciio are probably not the problem.  It's more likely the mem ones.  Let me
try to explain, with an example.

Lets take this card from my 7044, an esiop:

    Base address register at 0x14
      type: 32-bit nonprefetchable memory
      base: 0xc0103000, size: 0x00000100

now, lets notice a few things about that.  First, the base seems to contain the
0xc as the starting address, and then moves upwards from there.  Second, it
seems to also be inhabiting the 0xc01 range.  Now look at the ranges the pchb
can map, on this machine, it happens to be 0xc-0xd. Finally, look at all the
other mem BARs and see what ranges they normally inhabit.  You should be able
to generate a rough estimate, of what the final ranges should be when you are
done.

now, lets look at ofwpci's mem extent:

memext = extent_create("pcimem", sc->sc_memt.pbs_base, sc->sc_memt.pbs_limit,

So we are saying that the ranges it will map those cards to, lies between
pbs.base (0xc) and pbs.limit (0xd).

When pci_netbsd_configure finishes running, the memory BARs should be similar,
but not exactly the same, as they previously were.  They just need to be in the
right range, more or less.

You can then repeat the same steps for the IO ranges.

I hope that makes sense.  It's a little confusing at first.

---
Tim Rightnour <root%garbled.net@localhost>
NetBSD: Free multi-architecture OS http://www.netbsd.org/
Genecys: Open Source 3D MMORPG: http://www.genecys.org/



Home | Main Index | Thread Index | Old Index