[OpenBIOS] [PATCH] pci: enable io/memory unconditionally
Michael S. Tsirkin
mst at redhat.com
Thu Dec 10 13:17:10 CET 2009
On Thu, Dec 10, 2009 at 01:09:34PM +0100, Laurent Vivier wrote:
> >On Thu, Dec 10, 2009 at 01:20:23AM +0100, Laurent Vivier wrote:
> >> Le mercredi 09 décembre 2009 à 17:53 +0200, Michael S. Tsirkin a écrit :
> >> > VGA adapters need to claim memory and i/o
> >> > transactions even if they do not have any
> >> > i/o or memory bars. E.g. PCI spec, page 297,
> >> > gives an example of such a device:
> >> >
> >> > Programming interface 0000 0000b
> >> > VGA-compatible controller. Memory
> >> > addresses 0A 0000h through 0B
> >> > FFFFh. I/O addresses 3B0h to 3BBh
> >> > and 3C0h to 3DFh and all aliases of
> >> > these addresses.
> >> >
> >> > While bios could check for these devices and special-case them, it is
> >> > easier to fix this by enabling i/o and memory space unconditionally:
> >> > devices that do not support it will just ignore this setting.
> >> >
> >> > Signed-off-by: Michael S. Tsirkin <mst at redhat.com>
> >> Applied, but could you give me an use case where previous behavior
> >> breaks something ?
> >> Regards,
> >> Laurent
> >qemu uses openbios and implements cirrus vga emulation,
> >which has this device class and no IO bars.
> qemu-system-ppc doesn't support cirrus vga emulation (only vga emulation), moreover openbios is not able to manage cirrus vga card.
Maybe it will support it in the future :).
> So why this modification is needed ?
> (even if it is correct according to the specs, it's why I've applied it)
It's not fixing any breakage I have observed, if that's what you mean.
I found the issue in bochs bios and seabios with
cirrus vga emulation, so I thought I'd fix up openbios as well.
> --------------------- Laurent at vivier.eu ---------------------
> "Tout ce qui est impossible reste à accomplir" Jules Verne
> "Things are only impossible until they're not" Jean-Luc Picard
More information about the OpenBIOS