@@ -14,8 +14,8 @@ A snapshot carries four independently evolvable version markers:
1414 [ src/hyperlight_host/src/sandbox/snapshot/file/media_types.rs] ( ../src/hyperlight_host/src/sandbox/snapshot/file/media_types.rs ) ).
1515 This is what the host reads back from a snapshot: the ` OutBAction `
1616 and ` VmAction ` port numbers, the virtqueue transport layout, the
17- offset and size of each memory region (including the ` HyperlightPEB `
18- size), and the calling convention for guest function entry. A change
17+ offset and size of each memory region, and the calling convention for
18+ guest function entry. A change
1919 to any of these breaks older snapshots unless the loader adds a
2020 compat path.
2121* ** Snapshot blob encoding** , ` MT_SNAPSHOT_V2 `
@@ -27,16 +27,17 @@ A snapshot carries four independently evolvable version markers:
2727 (` application/vnd.hyperlight.snapshot.transport.v1 ` ), aliased as
2828 ` MT_TRANSPORT_CURRENT ` . This is the binary encoding of canonical
2929 virtqueue state stored outside the memory layer.
30- * ** Config schema** , ` MT_CONFIG_V5 `
31- (` application/vnd.hyperlight.snapshot.config.v5 +json ` ), aliased as
30+ * ** Config schema** , ` MT_CONFIG_V6 `
31+ (` application/vnd.hyperlight.snapshot.config.v6 +json ` ), aliased as
3232 ` MT_CONFIG_CURRENT ` . This is the JSON shape of the config blob:
3333 field names, types, required vs optional, the descriptors the loader
3434 needs in order to reconstruct the sandbox (memory sizes, buffer
3535 sizes, ` abi_version ` , ` hyperlight_version ` , etc.). Renaming a field,
3636 changing its type, or adding a required field is a schema change and
3737 bumps this constant. Version 4 describes snapshot blobs, the blob with
3838 the page tables, and transport geometry, and requires a transport
39- layer. Version 5 drops the heap size. Config v1 to v4 are incompatible
39+ layer. Version 5 drops the heap size. Version 6 contains code and scratch
40+ geometry without init-data fields. Config v1 to v5 are incompatible
4041 with the current ABI.
4142
4243ABI 6 requires checkpoint readiness after guest initialization and permits
@@ -52,6 +53,9 @@ regenerated.
5253ABI 9 removes the heap region from snapshot memory. Earlier snapshots must
5354be regenerated.
5455
56+ ABI 10 contains no PEB or init-data region. Guest entry takes the random seed,
57+ host page size, and log level. Earlier snapshots must be regenerated.
58+
5559The ` OCI_LAYOUT_VERSION ` constant is pinned by the OCI image-layout
5660spec at ` 1.0.0 ` .
5761
@@ -83,7 +87,7 @@ Compile-time tripwires in
8387[ src/hyperlight_host/src/sandbox/snapshot/tripwires.rs] ( ../src/hyperlight_host/src/sandbox/snapshot/tripwires.rs )
8488hold a copy of every value that defines the format:
8589` SNAPSHOT_ABI_VERSION ` , the snapshot and config media-type strings, the
86- OCI layout version, the ` HyperlightPEB ` size, every ` OutBAction ` and
90+ OCI layout version, every ` OutBAction ` and
8791` VmAction ` discriminant, and ` BASE_ADDRESS ` . If the source value
8892drifts from the copy in ` tripwires.rs ` , the crate fails to compile.
8993
0 commit comments