[Spice-devel] viewing continuous guest virtual memory as continuous in qemu

Gerd Hoffmann kraxel at redhat.com
Tue Oct 11 06:20:24 PDT 2011


   Hi,

>> Another option we can think about is a 64bit PCI bar for the
>> surfaces which can be moved out of the low 4G.
>
> I heard this suggested by Avi, so this would allow us to allocate a
> large chunk without requiring any memory hole?

You still need some address space for it, but as it isn't limited to 
32bit addresses it can be mapped somewhere above 4G, i.e. we don't have 
to squeeze it into the 512MB pci hole at 0xe0000000.  We can easily 
create a qxl gfx card with 1G of vram (aka surface) memory.

Only question is how to handle that in a backward compatible way.  We 
have regions 4+5 in pci config space still unused.  64bit bars need two 
entries, so adding a 64bit bar would use up both.  The new 64bit vram 
bar would cover all vram memory.  The old 32bit vram bar would be a 
window to the first 32 or 64 MB of vram memory.  We could probably even 
create some register to make the 32bit bar window offset configurable, 
so you can access all vram memory using the 32bit bar, just not all at 
the same time.  Not sure the latter is worth the effort with the world 
moving to 64bit.

cheers,
   Gerd



More information about the Spice-devel mailing list