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

Re: [Xen-devel] [PATCH for-4.6 v2 2/6] docs/libxl: Re-specify XENSTORE_DATA as EMULATOR_XENSTORE_DATA



On Mon, 2015-08-03 at 16:56 +0100, Andrew Cooper wrote:
> The legacy "toolstack" record as implemented in libxl turns out not to
> be 32/64bit safe.  As migration v2 has not shipped yet, take this
> opportunity to adjust the specification and fix the incompatibility.
> 
> Libxl shall loose all knowledge of the old "toolstack" blob and use this
> EMULATOR_XENSTORE_DATA record instead.  Compatibility shall be handled
> by the legacy conversion script.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> ---
> CC: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
> CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
> CC: Wei Liu <wei.liu2@xxxxxxxxxx>
> 
> v2:
>  * More adjustments to the libxl spec.
>  * Make the emulator id/index table common and move it up beside the
>    record type/length table.
>  * Be more specific about the format and encoding of the xenstore
>    key/value data.
>  * Add a note about the unspecified nature of the emulator context blob.
> ---
>  docs/specs/libxl-migration-stream.pandoc   |   83 ++++++++++++++++++++--
> ------
>  tools/libxl/libxl_sr_stream_format.h       |   11 ++--
>  tools/python/scripts/convert-legacy-stream |    2 +-
>  tools/python/xen/migration/legacy.py       |   40 +++++++++++++-
>  tools/python/xen/migration/libxl.py        |   71 +++++++++++++++++-----
> --
>  tools/python/xen/migration/tests.py        |    2 +-
>  6 files changed, 155 insertions(+), 54 deletions(-)
> 
> diff --git a/docs/specs/libxl-migration-stream.pandoc b/docs/specs/libxl
> -migration-stream.pandoc
> index cdec168..85adbf0 100644
> --- a/docs/specs/libxl-migration-stream.pandoc
> +++ b/docs/specs/libxl-migration-stream.pandoc
> @@ -90,8 +90,8 @@ i386, x86_64, or arm host.
>  \clearpage
>  
>  
> -Records
> -=======
> +Record Overview
> +===============
>  
>  A record has a record header, type specific data and a trailing footer. 
>  If
>  `length` is not a multiple of 8, the body is padded with zeroes to align 
> the
> @@ -113,7 +113,7 @@ type         0x00000000: END
>  
>               0x00000001: LIBXC_CONTEXT
>  
> -             0x00000002: XENSTORE_DATA
> +             0x00000002: EMULATOR_XENSTORE_DATA
>  
>               0x00000003: EMULATOR_CONTEXT
>  
> @@ -135,6 +135,39 @@ padding      0 to 7 octets of zeros to pad the whole 
> record to a multiple
>  
>  \clearpage
>  
> +Emulator Records
> +----------------
> +
> +Several records are specifically for emulators, and have a common sub 
> header.

It would be useful to mention in the specific records which have this
header that they do, I think.

> +
> +     0     1     2     3     4     5     6     7 octet
> +    +------------------------+------------------------+
> +    | emulator_id            | index                  |
> +    +------------------------+------------------------+
> +    | record specific data                            |
> +    ...
> +    +-------------------------------------------------+
> +
> +--------------------------------------------------------------------
> +Field            Description
> +------------     ---------------------------------------------------
> +emulator_id      0x00000000: Unknown (In the case of a legacy stream)
> +
> +                 0x00000001: Qemu Traditional
> +
> +                 0x00000002: Qemu Upstream
> +
> +                 0x00000003 - 0xFFFFFFFF: Reserved for future emulators.
> +
> +index            Index of this emulator for the domain, if multiple
> +                 emulators are in use.

This is old wording, but what value does this take if no emulators are in
use? If the answer is "undefined" then I suppose there is a field somewhere
else which indicates the number of emulators?



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.