Port-evbmips archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: X on Lemote Yeeloong
Hello,
On Wed, 13 Jul 2016 04:17:04 -0300 (ADT)
Jared McNeill <jmcneill%invisible.ca@localhost> wrote:
> On Wed, 13 Jul 2016, Michael wrote:
> >
> > Hmm, is SMI_EnableMmio() actually causing the crash? If it does, do
> > writes to any of the VGA registers work? I wouldn't be the slightest
> > bit surprised if PCI IO accesses don't work right or if the VGA
> > registers need to be enabled somewhere which the Lemote firmware
> > doesn't do.
> The legacy VGA IO ports are accessible through MMIO space on LynxEM+. I
> think the idea here is that they use VGA IO ports to enable MMIO access,
> which doesn't really make sense on MIPS.
Hmm, I'm not even sure I ever enabled Xorg support for mapping IO space
on MIPS, and lynxfb doesn't allow it anyway. The VGA register writes
SMI_EnableMmio() should be harmless if IO access works properly.
lynxfb needs something like this at the end of lynxfb_mmap():
#ifdef PCI_MAGIC_IO_RANGE
if ((offset >= PCI_MAGIC_IO_RANGE) &&
(offset <= PCI_MAGIC_IO_RANGE + 0x10000)) {
return bus_space_mmap(sc->sc_iot,
offset - PCI_MAGIC_IO_RANGE, 0, prot, 0);
}
#endif
... plus stuffing the parent's iotag away in sc etc. ...
and PCI_MAGIC_IO_RANGE needs to be set to something way up in
include/params.h so it doesn't interfere with other mmap()able ranges.
With that Xorg should be able to map the right IO space and fudge with
VGA registers ( and the Xserver needs to be rebuilt so it can see
PCI_MAGIC_IO_RANGE )
Then again, that really needs to go through /dev/pci as well, but
that's another can of worms.
have fun
Michael
Home |
Main Index |
Thread Index |
Old Index