[parisc-linux] Dino PCI and I/O spaces
Alan Cox
alan@lxorguk.ukuu.org.uk
Tue, 15 Jun 1999 00:05:46 +0100 (BST)
> > accesses. There seems to be no way to do byte sized config accesses, do
> > I just read 32bits mask and write 32bits ?
>
> I thought Dino will forward the byte enables to the PCI bus.
> PCI-PCI bridge numbering I think depends on this.
So how do I set those. The documentaiton also says the low two bits of
the register read back as 0. I guess that doesnt actually imply that the
write of it has no affect.
> It does for I/O space. I suspect all spaces are handled the
> same in this regard.
> See section 7.7.3 "Configuration Access Endianness".
> Other sections may talk more about the "byte enable" signals.
Ok
> > Im guessing you simply do that sized memory access to the 0x6C offset.
> That's been my experience.
Cool
> Enabling memory mapped I/O requires programming Dino to respond
> to a unique host address range. On the A/B/C/J class boxes, firmware
> takes care of this and programming PCI devices BAR registers to match.
> The OS can pick this up and pass it too device drivers.
Excellent. So I can relatively easily stuff an S3 card in the box and
use it as a debugging buffer once we get booting
> On these boxes it's "uncomplicated" since the host physical address
> is the same as the PCI bus address. I mention this since it's not
> the case for all HP platforms.
Ok. We have a clear notion of bus/physical/virtual seperation, and translation
macros. Linux stuff all uses
virt_to_bus() - to convert to bus space
virt_to_phys() - to convert to physical space
Alan