From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40024) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SykRn-0002Gu-Vv for qemu-devel@nongnu.org; Tue, 07 Aug 2012 10:07:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SykRe-0007vF-8E for qemu-devel@nongnu.org; Tue, 07 Aug 2012 10:07:47 -0400 Received: from mx1.redhat.com ([209.132.183.28]:39983) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SykRd-0007v9-W5 for qemu-devel@nongnu.org; Tue, 07 Aug 2012 10:07:38 -0400 Message-ID: <50212125.6010209@redhat.com> Date: Tue, 07 Aug 2012 16:07:33 +0200 From: Gerd Hoffmann MIME-Version: 1.0 References: <1343629462.21647.32.camel@pasglop> <50165D0A.6060608@redhat.com> <1343647217.21647.40.camel@pasglop> <50166F2A.1040507@redhat.com> <1343649267.21647.44.camel@pasglop> <20120730161954.GM29361@garlic.redhat.com> <50194E79.5090409@suse.de> <8739465sea.fsf@codemonkey.ws> <20120803064532.GR29361@garlic.redhat.com> <87boism6sv.fsf@codemonkey.ws> <20120807070055.GA25376@garlic.redhat.com> <5020CB4A.10501@redhat.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] Cirrus bugs vs endian: how two bugs cancel each other out List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Erlon Cruz Cc: Avi Kivity , Alon Levy , =?ISO-8859-1?Q?Andreas_F=E4?= =?ISO-8859-1?Q?rber?= , Anthony Liguori , qemu-devel@nongnu.org On 08/07/12 15:05, Erlon Cruz wrote: > Em 07/08/2012 05:01, "Gerd Hoffmann" 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