Skip to content

Instantly share code, notes, and snippets.

@sameo
Last active April 1, 2020 08:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sameo/b97bc07928716d043ff8963a63786fa8 to your computer and use it in GitHub Desktop.
Save sameo/b97bc07928716d043ff8963a63786fa8 to your computer and use it in GitHub Desktop.

rust-vmm dependencies

fa8003c3 Cargo: Update dependencies for the KVM serialization work

vm snapshot/restore

8a26f338 vmm: Extend seccomp filters to allow snapshot/restore
66431fa0 vmm: vm: Set the VM state to running
b0b1c7b3 vmm: vm: Implement the Transportable trait
fe0e184a vmm: vm: Implement the Snapshotable trait

memory manager snasphot/restore

cfab79ba memory_manager: implement new_from_snapshot to restore memory
779e830b vmm: memory_manager: Implement the Transportable trait
f4919a6e vmm: memory_manager: Implement the Snapshotable trait

vCPU snapshot/restore:

7123c395 cpu: do not need check vcpus number for restore action (We could probably get rid of that one)
e4f5389e vmm: cpu: Fix vCPU restore (To be merged with the previous commit f889a209) (vCPU code factorization needed with `activate_vcpus()`)
f889a209 vmm: cpu_manager: Implement the Snapshotable trait (With an empty Cpu implementation, or at least not serialized until we can get rid of fa8003c3)
900217e0 vmm: cpu: Save and restore XCRS and XSAVE as well
ece74f12 vmm: cpu: Set the CPUID before restoring the CPUs
5fdceb49 vmm: cpu: Add SMP support to snapshot/restore
20aafa74 vmm: cpu: Do not snapshot and restore the MP state
62853e00 vmm: cpu: Get and set KVM vCPU state
c918051f vmm: cpu: Track all Vcpus through CpuManager

Device manager snapshot/restore

8043b51b vmm: device_manager: Implement the Snapshotable trait
6b8a9d34 vmm: device_manager: Add the serial and ioapic devices to migratable_devices
6efa83b3 devices: serial: Implement the Snapshotable trait
a4c07b43 devices: ioapic: Implement the Snapshotable trait
918a21c0 ioapic: Restore KVM routes (To be merged with a4c07b43)
e82fc6a2 vmm: device_manager: Convert migratable_devices to a map

Refactorization

806bcf1a vmm: vm: Create initial VM from its snapshot
a331556d vmm: vm: Factorize the device and cpu managers creation routine
eeaa3a6e vmm: vm: Open the kernel only when all managers are created
5169da26 vmm: cpu: Pass CpusConfig to simplify the new() prototype
070bf6be vmm: memory_manager: Own the system allocator
9adb4b57 vmm: memory_manager: Pass MemoryConfig to simplify the new() prototype
43c2da4c vmm: vm: Avoid ioapic variable creation
f2152bfb vmm: cpu: Move CPUID patching to CpuManager
fe6c916e vmm: vm: Factorize the KVM setup code
8218ce82 arch: regs: Rename and export create_msr_entries
c73992b8 arch: regs: Make create_msr_entries more readable

High level API

9e7da5fd main: Support VM restore from the command line
39f0e58b vmm: api: Add a /api/v1/vm.restore endpoint
0f6f8037 vmm: Add a VmRestore command
80e97d3d vmm: http: Add a /api/v1/vm.snapshot endpoint
66f0b01e vmm: api: Add a Snapshot command
76238eca vm-migration: Define the Snapshotable and Transportable traits
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment