Re: [PATCH] virtio-spec: Define virtio-mmio registers as LE

From: Marc Zyngier
Date: Fri Mar 01 2013 - 05:41:56 EST


On 14/02/13 10:54, Pawel Moll wrote:
> To solve the never-ending confusions between hosts and guests
> of different endianess, define all virtio-mmio registers as LE.
>
> This change should be safe at this stage, because no known
> working mixed-endian system exists so there is virtually no
> risk of breaking compatibility.
>
> Signed-off-by: Pawel Moll <pawel.moll@xxxxxxx>
> ---
> virtio-spec.lyx | 30 +++++++++++++++++++++++++++++-
> 1 file changed, 29 insertions(+), 1 deletion(-)
>
> diff --git a/virtio-spec.lyx b/virtio-spec.lyx
> index 1ba9992..a00b675 100644
> --- a/virtio-spec.lyx
> +++ b/virtio-spec.lyx
> @@ -56,6 +56,7 @@
> \html_math_output 0
> \html_css_as_file 0
> \html_be_strict false
> +\author -875410574 "Pawel Moll"
> \author -608949062 "Rusty Russell,,,"
> \author -385801441 "Cornelia Huck" cornelia.huck@xxxxxxxxxx
> \author 1112500848 "Rusty Russell" rusty@xxxxxxxxxxxxxxx
> @@ -1850,6 +1851,17 @@ struct vring {
>
> \begin_layout Subsection
> A Note on Virtqueue Endianness
> +\change_inserted -875410574 1360838374
> +
> +\begin_inset CommandInset label
> +LatexCommand label
> +name "sub:Virtqueue-Endianness"
> +
> +\end_inset
> +
> +
> +\change_unchanged
> +
> \end_layout
>
> \begin_layout Standard
> @@ -9850,8 +9862,24 @@ a
> \end_layout
>
> \begin_layout Standard
> +
> +\change_deleted -875410574 1360838214
> The endianness of the registers follows the native endianness of the Guest.
> - Writing to registers described as
> +\change_inserted -875410574 1360838930
> +All register values are organized as Little Endian, similarly to the PCI
> + variant, see also
> +\begin_inset CommandInset ref
> +LatexCommand ref
> +reference "sub:Virtqueue-Endianness"

Shouldn't we exclude the config space? PCI defines it as guest-endian,
and the above tends to indicate that it should be LE with MMIO.

M.
--
Jazz is not dead. It just smells funny...

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/