[Spice-devel] Spice is breaking in 32 bits hosts

Alon Levy alevy at redhat.com
Mon Mar 19 03:56:07 PDT 2012


On Mon, Mar 19, 2012 at 11:19:51AM +0100, Christophe Fergeau wrote:
> On Mon, Mar 19, 2012 at 10:19:29AM +0100, Alon Levy wrote:
> > The address translation logic is probably assuming a long is 64 bits,
> > and needs to be fixed. The stack trace is pointing you at the right
> > place.. I think get_memslot_id/get_virt and all along should switch
> > "unsigned long" with uint64_t.
> 
> Will we be able to do anything useful with 64 bit addresses on 32 bit
> archs?
> 
> Christophe

The 64 bit addresses are what is contained in the protocol between the
guest and the host, in this case in a primary surface creation command,
the surface address is 64 bit, typedef is QXLPHYSICAL. This is not a
plain address, it's a combined slot id and offset, where the slots are
registered by the driver early on - one for each pci bar, so two. Since
the offset is bounded by the bar size, there shouldn't be a problem as
long as the bars are < 4GB. They are 64MB right now by default.

> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel



More information about the Spice-devel mailing list