[SeaBIOS] [Qemu-devel] [BUG] [Seabios] PCI 64bit BARs on Win2008 - unable to start the device. (ACPI lacks the _DSM method)

Gerd Hoffmann kraxel at redhat.com
Mon Dec 12 09:10:12 CET 2011

On 12/05/11 05:29, Alexey Korolev wrote:
> Hi Gerd,
> We have very early prototype of data acquisition device, with quite
> large MMIO buffer. It is an emulated device.
> We are running the 0.15 release.
> 0.15 doesn't work correctly with 64bit BARs so I've already added some
> hacks to Seabios to let OS to choose the memory region.
> Thus you see bar 1, addr 0 in seabios log.

I'd strongly suggest to move forward to qemu 1.0.  Memory region
handling has seen a major rewrite in 1.0 (memory api patches by avi).
Chances are good that the 64bit bar bugs in qemu have been fixed meanwhile.

I have experimental patches which add a 64bit bar to the qxl device and
seabios handles it just fine (although memory-backed not mmio), except
that there is no support yet to map 64bit bars above 4G.

It shouldn't be that hard to add the latter though.  seabios needs two
more pci_region_type (PCI_REGION_TYPE_MEM_64 and
PCI_REGION_TYPE_PREFMEM_64) to track and map 64bit bars separately.  And
a address space window where it can map 64bit bars to.

> Sorry that I haven't specified all this initially. I just want to make
> 64bit PCI bar working properly. Linux guests works correctly (except
> early versions - not investigated this yet). At the moment I have some
> issues with windows which relies on ACPI _CRS.

... and a _CRS entry for the 64bit bar address space window of course.


More information about the SeaBIOS mailing list