On 08/07/12 15:05, Erlon Cruz wrote: > Em 07/08/2012 05:01, "Gerd Hoffmann" <kra...@redhat.com> escreveu: >> >> Hi, >> >>> Why not make libspice mandatory? >> >> spice needs to build and run on alot of platforms where it doesn't run >> today. So it isn't an option right now. Which doesn't imply it will >> never happen, but spice certainly needs some work before we can >> seriously discuss that. >> >> Make spice work on bigendian is probably the biggest part of it. > > Spice has a good support for endianess issues. The protocol handles > endianess for commands sent from spice server to the client.
The spice wire protocol is little endian. Functions for generating/parsing the wire protocol are generated, maybe the generator already supports byteswapping as needed, not sure. > The only thing > its missing is to fix the endianess for server/client handshaking. What exactly do you mean here? > We a > patch for that. We can send that later on. Patches welcome. Please make sure spice-devel is included (additionally to qemu-devel). > We have tested it first running > spice sever tests in a PPC machine and then we run it in an experimental > virtio-qxl driver we are working on. Huh? How does this work? The QXLCommand passed on to spice-server (via get_command callback) is supposed to be little endian. The qxl parser (server/red_parse_qxl.c in spice repo) doesn't support bigendian hosts yet. Not that a big deal, basically just a bunch of le{16,32]_to_cpu() calls when copying (+checking) fields from struct QXL* (little endian) to struct Spice* (native endian). But not done yet and likewise not tested yet ... So I'm wondering how this works for you on ppc ... > The device only have support for QXL (nor VGA) and works well in x86 and i > PPC guest with a few issues we still working on. Another limitation is that > in the design we used virtio transport, the device wont work with mixed > guest/host configurations (e.g. Guest ppc host x86) Which should be fixable. cheers, Gerd