[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 04/08/15 10:40, Ian Campbell wrote: > 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. Each record containing this sub header identify all the fields, including id and index. I can list them, although they are currently all the EMULATOR_* records. > >> + >> + 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? If no emulators are in use, the record is not sent in the first place. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |