[OpenBIOS] [PATCH] PowerPC: Fix PCI I/O ports allocation
blauwirbel at gmail.com
Sat Jan 17 20:03:55 CET 2009
On 1/16/09, Aurelien Jarno <aurelien at aurel32.net> wrote:
> On Fri, Jan 16, 2009 at 03:05:30AM +0100, Aurelien Jarno wrote:
> > Long story, small patch...
> > On the PowerPC target, the PCI devices using I/O ports are currently not
> > working correctly with a relatively old kernel (<= 2.6.24). This is due
> > to the assignation of I/O port 0, while the I/O ports start at 1, which
> > keeps the device disabled. Recent version of Linux assign resources to
> > those devices, that's why the problem wasn't present on those versions.
> > Moreover the QEMU OldWorld machine have a few devices mapped on fixed
> > I/O ports, that should be skipped when assigning I/O ports to PCI
> > devices. Those devices are:
> > - video card (0x3c0-0x3cf, 0x3b4-0x3b5, 0x3ba, 0x1ce-0x1cf, 0x1d0-0x1d1)
> > - i8259 (0x20-0x21, 0xa0-0x1a, 0x4d0-0x4d1)
> > - m48t59 (0x74-0x79)
> > - OpenBIOS debug port (0xf00-0xf03)
> I have removed the firmware debug and the i8259 from the current SVN.
> > Given that ranges, I have decided to start mapping PCI I/O ports at
> > 0x1000. Note that real G3 beige starts to map them at 0x400. This can be
> > changed later, when we get rid of the i8259 and m48t59 and if we move
> > the OpenBIOS debug port.
> We can now move the start of the mapping to 0x400.
> > I have done this change unconditionally because Sparc also have the
> > problem, though the first I/O port can be chosen differently.
It also works for Sparc64. I committed it with 0x400, thanks.
More information about the OpenBIOS