[OpenBIOS] [PATCH] pci: enable io/memory unconditionally

Michael S. Tsirkin mst at redhat.com
Thu Dec 10 13:25:37 CET 2009


On Thu, Dec 10, 2009 at 01:25:11PM +0100, Laurent Vivier wrote:
> >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 :).
> 
> Are you working on this ?

No, but I'm doing some cleanups on qemu pci emulation in
general, this job becomes tricky if bios isn't going by the spec.
And people copy code from each other, so these bugs propagate  :)

> >> 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.
> 
> OK, it's fine for me. Thank you.
> 
> Laurent
> -- 
> --------------------- 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 mailing list