From 6c47854b844193703c5ff7a08cf30e9cad617e6d Mon Sep 17 00:00:00 2001 From: Pedro Henrique Penna Date: Sun, 11 Oct 2026 20:09:59 -0300 Subject: [PATCH 1/2] doc: define the single-slot host filesystem boundary Describe directory and aggregate host exports within the fixed filesystem slot, and clarify the dormant-slot restore exception. Keep detailed syntax and policy contracts in the linked filesystem ABI. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- doc/design/configuration-boundary.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/doc/design/configuration-boundary.md b/doc/design/configuration-boundary.md index c784906f..587e6deb 100644 --- a/doc/design/configuration-boundary.md +++ b/doc/design/configuration-boundary.md @@ -51,6 +51,14 @@ snapshots are also supported and do not use sandbox tier metadata. The management RPC constructs only blockless microVMs without a NIC or control console; it can attach portb, the boot console, and one HostFs export. +Host filesystem sharing uses the fixed `fs:microvm0` slot instead of adding +devices. The [host-filesystem attachment layer](../../openvmm/openvmm/openvmm_entry/src/microvm/filesystem.rs) +accepts either `--mount` for one host directory or `--mount-aggregate` with +`--mount-child` for named directory or regular-file children. Each child has +its own access mode, and the aggregate root is read-only. The +[filesystem contract](machine-and-device-abi.md#filesystem) defines the +option syntax, export restrictions, and snapshot compatibility rules. + The microVM rejects UEFI, PCAT, IGVM, caller-supplied ACPI, SMBIOS, device tree, PCI/PCIe, VPCI, VMBus, ISA DMA, IDE, floppy, VMGS, graphics, VGA firmware, debugger resources, and devices outside the profile. The profile @@ -69,7 +77,8 @@ identity and a live, authenticated control console. Restore is stricter than cold boot. Guest-visible configuration is read from the snapshot's machine contract. Restore-time input may select the same backend -kind recorded by the snapshot, supply required attachments, and select +kind recorded by the snapshot, supply required attachments, bind a new directory +export to a [captured dormant filesystem slot](machine-and-device-abi.md#filesystem), and select processor and RAM activation targets explicitly allowed by the contract. Those process-local targets do not change processor capacity, RAM capacity, command line, device placement, feature masks, or filesystem and network identity. From 55a86269fbed022f6574305df08e0a168ca7c547 Mon Sep 17 00:00:00 2001 From: Pedro Henrique Penna Date: Mon, 12 Oct 2026 08:27:02 -0300 Subject: [PATCH 2/2] Enhance clarity on restore vs cold boot configurations Clarify the conditions and constraints for restore operations compared to cold boot. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- doc/design/configuration-boundary.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/design/configuration-boundary.md b/doc/design/configuration-boundary.md index 587e6deb..df43f58e 100644 --- a/doc/design/configuration-boundary.md +++ b/doc/design/configuration-boundary.md @@ -78,8 +78,9 @@ identity and a live, authenticated control console. Restore is stricter than cold boot. Guest-visible configuration is read from the snapshot's machine contract. Restore-time input may select the same backend kind recorded by the snapshot, supply required attachments, bind a new directory -export to a [captured dormant filesystem slot](machine-and-device-abi.md#filesystem), and select -processor and RAM activation targets explicitly allowed by the contract. Those +export to a [captured dormant filesystem slot](machine-and-device-abi.md#filesystem) only when +the snapshot records that restore-attachment capability, and select processor +and RAM activation targets explicitly allowed by the contract. Those process-local targets do not change processor capacity, RAM capacity, command line, device placement, feature masks, or filesystem and network identity. Restore always uses the snapshot's CPU profile, never falls back, and requires