Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

VMM userspace for illumos bhyve

License

NotificationsYou must be signed in to change notification settings

oxidecomputer/propolis

Repository files navigation

Propolis VMM userspace for use with illumos bhyve.

Prerequisites

Given the current tight coupling of thebhyve-api component to the ioctlinterface presented by the bhyve kernel component, running on recent illumosbits is required.

Propolis works best (and its CI tests run) on AMD hosts, but it can also be usedto run VMs on Intel hosts. Live migration is primarily supported on AMD hostsbut may work on Intel hosts as well.

Components

Programs:

  • propolis-server: Run a Propolis VM instance, operatedvia REST API calls (typically byomicron)
  • propolis-cli: CLI wrapper interface forpropolis-serverAPI calls
  • propolis-standalone: Simple standalone program torun a Propolis VM instance, operated via a local config file

Libraries:

  • propolis-client: Rust crate forpropolis-server API
  • propolis: Represents the bulk of the emulation logic requiredto implement a userspace VMM. Bothpropolis-server andpropolis-standalone are built around this.

Internal Crates

These are not meant as committed public interfaces, but rather internalimplementation details, consumed by Propolis components.

  • bhyve-api: API (ioctls & structs) for the illumos bhyve kernel VMM
  • dladm: Some thin wrappers arounddladm queries
  • propolis-server-config: Type definitions forpropolis-server config file
  • propolis-types: Publically exposed (viapropolis-server) types, intergralto thepropolis library
  • viona-api: API (ioctls & structs) for the illumos viona driver

xtasks

Propolis uses thecargo xtask pattern in order to conveniently expose certaintasks to developers.

  • clippy: Run suite of clippy checks. This performs more than a simplecargo clippy, since there are several combinations of feature flags whichmust be checked.
  • fmt: Check style according torustfmt
  • license: Check (crudely) that files bear appropriate license headers
  • phd: Run the PHD test suite
  • style: Perform miscellaneous style checks
  • prepush: Preform pre-push checks (clippy,fmt,license,style) in amanner which resembles (but does not exactly match) how they are run in CI.Running tests (unit, integration, or phd) are not included and are left tothe user.

It is recommended that developers run theprepush test before pushing abranch which will be subsequently checked by CI. Doing so currently requiresan x86_64 UNIX/Linux machine.

License

Unless otherwise noted, all components are licensed under theMozilla PublicLicense Version 2.0.

About

VMM userspace for illumos bhyve

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors24

Languages


[8]ページ先頭

©2009-2025 Movatter.jp