[OpenBIOS] [PATCH] PowerPC: Fix PCI I/O ports allocation

Blue Swirl 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 mailing list