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@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/spice-devel _______________________________________________ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel