qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Endian control register


From: Benjamin Herrenschmidt
Subject: [Qemu-devel] Endian control register
Date: Mon, 16 Jun 2014 20:30:04 +1000

Hi !

So while trying to solve an issue we have with qemu/kvm and powerpc who
can be both LE and BE nowadays, we thought the ideal solution would be
to have a register in the emulated VGA to control the endian.

Since qemu wishes to remain as much as possible in sync / compatible
with Bochs, I'm posting to this list so that the definition can be
made common even if Bochs doesn't have to actually implement it.

Now the basic idea is to have a bit indicating that endian control is
supported and a bit to control the guest endianness, set by the guest
appropriately (which affects all the pixel formats).

My original idea was to add a VBE register. However BOCHS seems to
be unhappy (after a quick glance at the source) if the guest tries to
read a non-existing register, so I suppose either the "support endian
switch" information needs to be encoded in an existing register in a way
that doesn't break existing code ... or the presence of the new register
advertised in such a way, for example via the PCI revision ID.

Note that I am not trying to support something like endian apertures and
that whole trainwreck that we had back in the day on BE machines. Simply
carry the guest endianness assuming that this affects all the pixel
formats which continue to be the classic ARGB ones, simply encoded with
the right endian (so 8bpp is unaffected for example).

Any suggestion ? Comment ? Flame ? :-)

Cheers,
Ben.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]