Skip to content

MilvusVisor v1.0.0

Compare
Choose a tag to compare
@PG-MANA PG-MANA released this 10 Aug 05:29
· 69 commits to main since this release

Changes from version 0.4.0

  • SMMU: Dedicating stage 2 translation only for sharing SMMU with guest OS
  • Linked-List Style Memory Allocator
  • Bug fixes

Functions in version 1.0.0

(Since this is the first major version release, all features in this version are described on this release note.)

You can build with enabling some functions by make custom_all FEATURES=feature1,feautre2,....(featureN is described like Feature Name: feature_name in each section.)

  • Protecting non-volatile data in devices from guest OS

    • Intel I210 (Feature Name: i210)

      • Protect EEPROM from writing access
    • Mellanox Technologies MT27800 (Feature Name: mt27800)

      • Protect from firmware update
  • Protecting MilvusVisor itself against DMA attack (Feature Name: smmu)

    • Using SMMUv3 Stage 2 translation to protect from DMA attack
    • Stage 1 translation is available from guest OS
  • Fast restore: Fast restoring the guest environments without reboot the machine (Feature Name: fast_restore)

    • Taking a snapshot just before the first boot of the guest OS
    • Restoring it on rebooting/shutting down the guest OS
  • Protecting ACPI Tables from write accesses (Feature Name: acpi_table_protection)

    • For the Fast Restore
  • Linked-List Style Memory Allocator (Feature Name: advanced_memory_manager)

  • Contiguous Bit (Feature Name: contiguous_bit)

    • Set contiguous bit enabled if available (TLB will be optimized by the contiguous bit)
    • Some machine may noe work fine with the contiguous bit
  • A64FX specific registers' initialization (Feature Name: a64fx)

    • Initialize some a64fx specific registers during boot

Supported toolchain

  • GNU Make 4.3
  • cargo 1.65.0-nightly (4fd148c47 2022-08-03)
  • rustc 1.65.0-nightly (34a6cae28 2022-08-09)

MilvusVisor uses some unstable feature gates, therefore it may become not able to compile with later version of rustc.

Supported Devices

  • FX700
    • Supported features: all
  • QEMU
    • Supported features: i210, fast_restore, acpi_table_protection, advanced_memory_manager, contiguous_bit
  • GIGABYTE E252-P30
    • Supported features: smmu, advanced_memory_manager, contiguous_bit