gitextract_ra4peprf/ ├── .cargo/ │ └── config.toml ├── .git-blame-ignore-revs ├── .github/ │ ├── buildomat/ │ │ ├── config.toml │ │ ├── jobs/ │ │ │ ├── check-headers.sh │ │ │ ├── falcon-build.sh │ │ │ ├── image.sh │ │ │ ├── phd-build.sh │ │ │ ├── phd-run-migrate-from-base.sh │ │ │ ├── phd-run.sh │ │ │ └── test-gimlet.sh │ │ └── phd-run-with-args.sh │ └── workflows/ │ └── rust.yml ├── .gitignore ├── .licenserc.yaml ├── Cargo.toml ├── LICENSE ├── README.md ├── bin/ │ ├── dropshot-apis/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ ├── mock-server/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── lib/ │ │ │ ├── api_types.rs │ │ │ └── lib.rs │ │ └── main.rs │ ├── propolis-cli/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ ├── propolis-server/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ ├── lib/ │ │ │ ├── config.rs │ │ │ ├── initializer.rs │ │ │ ├── lib.rs │ │ │ ├── migrate/ │ │ │ │ ├── codec.rs │ │ │ │ ├── destination.rs │ │ │ │ ├── memx.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── preamble.rs │ │ │ │ ├── protocol.rs │ │ │ │ └── source.rs │ │ │ ├── serial/ │ │ │ │ ├── history_buffer.rs │ │ │ │ └── mod.rs │ │ │ ├── server.rs │ │ │ ├── spec/ │ │ │ │ ├── api_spec_v0.rs │ │ │ │ ├── builder.rs │ │ │ │ └── mod.rs │ │ │ ├── stats/ │ │ │ │ ├── mod.rs │ │ │ │ ├── network_interface.rs │ │ │ │ ├── pvpanic.rs │ │ │ │ ├── virtual_disk.rs │ │ │ │ └── virtual_machine.rs │ │ │ ├── vcpu_tasks.rs │ │ │ ├── vm/ │ │ │ │ ├── active.rs │ │ │ │ ├── ensure.rs │ │ │ │ ├── guest_event.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── objects.rs │ │ │ │ ├── request_queue.rs │ │ │ │ ├── services.rs │ │ │ │ ├── state_driver.rs │ │ │ │ └── state_publisher.rs │ │ │ └── vnc.rs │ │ ├── main.rs │ │ └── proptest-regressions/ │ │ └── vm/ │ │ └── request_queue.txt │ ├── propolis-standalone/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ ├── cidata.rs │ │ ├── config.rs │ │ ├── main.rs │ │ └── snapshot.rs │ └── propolis-utils/ │ ├── Cargo.toml │ ├── README.md │ └── src/ │ └── bin/ │ ├── cpuid-gen.rs │ └── rsrvrctl.rs ├── crates/ │ ├── bhyve-api/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── header-check/ │ │ │ ├── Cargo.toml │ │ │ ├── README.md │ │ │ ├── build.rs │ │ │ └── test/ │ │ │ └── main.rs │ │ ├── src/ │ │ │ └── lib.rs │ │ └── sys/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── enums.rs │ │ ├── ioctls.rs │ │ ├── lib.rs │ │ ├── structs.rs │ │ └── vmm_data.rs │ ├── cpuid-profile-config/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── cpuid-utils/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── bits.rs │ │ ├── host.rs │ │ ├── instance_spec.rs │ │ └── lib.rs │ ├── dladm/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── lib.rs │ │ └── sys.rs │ ├── nvpair/ │ │ ├── Cargo.toml │ │ ├── header-check/ │ │ │ ├── Cargo.toml │ │ │ ├── build.rs │ │ │ └── test/ │ │ │ └── main.rs │ │ ├── src/ │ │ │ └── lib.rs │ │ └── sys/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── pbind/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── propolis-api-types/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── disk.rs │ │ ├── instance.rs │ │ ├── instance_spec/ │ │ │ ├── components/ │ │ │ │ ├── backends.rs │ │ │ │ ├── board.rs │ │ │ │ ├── devices.rs │ │ │ │ └── mod.rs │ │ │ └── mod.rs │ │ ├── lib.rs │ │ ├── migration.rs │ │ └── serial.rs │ ├── propolis-api-types-versions/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── add_vsock/ │ │ │ ├── api.rs │ │ │ ├── components/ │ │ │ │ ├── devices.rs │ │ │ │ └── mod.rs │ │ │ ├── instance_spec.rs │ │ │ └── mod.rs │ │ ├── crucible_volume_info/ │ │ │ ├── disk.rs │ │ │ └── mod.rs │ │ ├── impls/ │ │ │ ├── instance.rs │ │ │ ├── instance_spec.rs │ │ │ └── mod.rs │ │ ├── initial/ │ │ │ ├── components/ │ │ │ │ ├── backends.rs │ │ │ │ ├── board.rs │ │ │ │ ├── devices.rs │ │ │ │ └── mod.rs │ │ │ ├── disk.rs │ │ │ ├── instance.rs │ │ │ ├── instance_spec.rs │ │ │ ├── migration.rs │ │ │ ├── mod.rs │ │ │ └── serial.rs │ │ ├── latest.rs │ │ ├── lib.rs │ │ └── programmable_smbios/ │ │ ├── api.rs │ │ ├── instance_spec.rs │ │ └── mod.rs │ ├── propolis-config-toml/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── lib.rs │ │ └── spec.rs │ ├── propolis-server-api/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── propolis-types/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── rfb/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── examples/ │ │ │ ├── shared.rs │ │ │ ├── socket.rs │ │ │ └── websock.rs │ │ └── src/ │ │ ├── encodings.rs │ │ ├── keysym.rs │ │ ├── lib.rs │ │ ├── proto.rs │ │ ├── server.rs │ │ └── tungstenite.rs │ ├── rgb-frame/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ └── viona-api/ │ ├── Cargo.toml │ ├── header-check/ │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── test/ │ │ └── main.rs │ └── src/ │ ├── ffi.rs │ └── lib.rs ├── docs/ │ ├── lifecycle.md │ ├── migrate-with-crucible.md │ ├── server-send-vcr.md │ └── standalone-with-crucible.md ├── lib/ │ ├── propolis/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── accessors.rs │ │ ├── api_version.rs │ │ ├── attestation/ │ │ │ ├── boot_digest/ │ │ │ │ ├── crucible.rs │ │ │ │ └── mod.rs │ │ │ ├── mod.rs │ │ │ └── server.rs │ │ ├── block/ │ │ │ ├── attachment.rs │ │ │ ├── crucible.rs │ │ │ ├── file.rs │ │ │ ├── id.rs │ │ │ ├── in_memory.rs │ │ │ ├── mem_async.rs │ │ │ ├── minder.rs │ │ │ └── mod.rs │ │ ├── chardev/ │ │ │ ├── file_out.rs │ │ │ ├── mod.rs │ │ │ ├── pollers.rs │ │ │ └── sock.rs │ │ ├── common.rs │ │ ├── cpuid.rs │ │ ├── enlightenment/ │ │ │ ├── bhyve.rs │ │ │ ├── hyperv/ │ │ │ │ ├── bits.rs │ │ │ │ ├── hypercall.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── overlay.rs │ │ │ │ └── tsc.rs │ │ │ └── mod.rs │ │ ├── exits.rs │ │ ├── firmware/ │ │ │ ├── mod.rs │ │ │ └── smbios/ │ │ │ ├── bits.rs │ │ │ ├── mod.rs │ │ │ └── table.rs │ │ ├── hw/ │ │ │ ├── bhyve/ │ │ │ │ ├── atpic.rs │ │ │ │ ├── atpit.rs │ │ │ │ ├── hpet.rs │ │ │ │ ├── ioapic.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── pmtimer.rs │ │ │ │ └── rtc.rs │ │ │ ├── chipset/ │ │ │ │ ├── i440fx.rs │ │ │ │ └── mod.rs │ │ │ ├── ibmpc.rs │ │ │ ├── ids.rs │ │ │ ├── mod.rs │ │ │ ├── nvme/ │ │ │ │ ├── admin.rs │ │ │ │ ├── bits.rs │ │ │ │ ├── cmds.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── queue.rs │ │ │ │ └── requests.rs │ │ │ ├── pci/ │ │ │ │ ├── bar.rs │ │ │ │ ├── bits.rs │ │ │ │ ├── bridge.rs │ │ │ │ ├── bus.rs │ │ │ │ ├── cfgspace.rs │ │ │ │ ├── device.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── test.rs │ │ │ │ └── topology.rs │ │ │ ├── ps2/ │ │ │ │ ├── ctrl.rs │ │ │ │ ├── keyboard/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── scan_code_1.rs │ │ │ │ │ └── scan_code_2.rs │ │ │ │ └── mod.rs │ │ │ ├── qemu/ │ │ │ │ ├── debug.rs │ │ │ │ ├── fwcfg.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── pvpanic.rs │ │ │ │ └── ramfb.rs │ │ │ ├── testdev.rs │ │ │ ├── uart/ │ │ │ │ ├── lpc.rs │ │ │ │ ├── mod.rs │ │ │ │ └── uart16550.rs │ │ │ └── virtio/ │ │ │ ├── bits.rs │ │ │ ├── block.rs │ │ │ ├── mod.rs │ │ │ ├── p9fs.rs │ │ │ ├── pci.rs │ │ │ ├── queue.rs │ │ │ ├── softnpu.rs │ │ │ ├── testutil.rs │ │ │ ├── viona.rs │ │ │ └── vsock.rs │ │ ├── intr_pins.rs │ │ ├── lib.rs │ │ ├── lifecycle.rs │ │ ├── migrate.rs │ │ ├── mmio.rs │ │ ├── msr.rs │ │ ├── pio.rs │ │ ├── tasks.rs │ │ ├── util/ │ │ │ ├── aspace.rs │ │ │ ├── id.rs │ │ │ ├── mod.rs │ │ │ └── regmap.rs │ │ ├── vcpu.rs │ │ ├── vmm/ │ │ │ ├── hdl.rs │ │ │ ├── machine.rs │ │ │ ├── mem.rs │ │ │ ├── mod.rs │ │ │ └── time.rs │ │ └── vsock/ │ │ ├── buffer.rs │ │ ├── mod.rs │ │ ├── packet.rs │ │ ├── poller.rs │ │ ├── poller_stub.rs │ │ └── proxy.rs │ └── propolis-client/ │ ├── Cargo.toml │ └── src/ │ ├── lib.rs │ └── support.rs ├── openapi/ │ └── propolis-server/ │ ├── propolis-server-1.0.0-833484.json.gitstub │ ├── propolis-server-2.0.0-d68a9f.json.gitstub │ ├── propolis-server-3.0.0-10da2b.json.gitstub │ ├── propolis-server-4.0.0-5ce09a.json.gitstub │ └── propolis-server-5.0.0-0c6dd9.json ├── packaging/ │ ├── package-manifest.toml │ ├── propolis-package/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── smf/ │ ├── method_script.sh │ └── propolis-server/ │ └── manifest.xml ├── phd-tests/ │ ├── .gitignore │ ├── README.md │ ├── artifacts.toml │ ├── framework/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── artifacts/ │ │ │ ├── buildomat.rs │ │ │ ├── manifest.rs │ │ │ ├── mod.rs │ │ │ └── store.rs │ │ ├── disk/ │ │ │ ├── crucible.rs │ │ │ ├── fat.rs │ │ │ ├── file.rs │ │ │ ├── in_memory.rs │ │ │ └── mod.rs │ │ ├── guest_os/ │ │ │ ├── alpine.rs │ │ │ ├── debian11_nocloud.rs │ │ │ ├── linux.rs │ │ │ ├── mod.rs │ │ │ ├── shell_commands.rs │ │ │ ├── ubuntu22_04.rs │ │ │ ├── windows.rs │ │ │ ├── windows_server_2016.rs │ │ │ ├── windows_server_2019.rs │ │ │ └── windows_server_2022.rs │ │ ├── host_api/ │ │ │ ├── kvm.rs │ │ │ ├── mod.rs │ │ │ └── stubs.rs │ │ ├── lib.rs │ │ ├── lifecycle.rs │ │ ├── log_config.rs │ │ ├── port_allocator.rs │ │ ├── serial/ │ │ │ ├── mod.rs │ │ │ ├── raw_buffer.rs │ │ │ └── vt80x24.rs │ │ ├── test_vm/ │ │ │ ├── config.rs │ │ │ ├── environment.rs │ │ │ ├── metrics.rs │ │ │ ├── mod.rs │ │ │ ├── server.rs │ │ │ └── spec.rs │ │ └── zfs.rs │ ├── quickstart.sh │ ├── runner/ │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ ├── config.rs │ │ ├── execute.rs │ │ ├── fixtures.rs │ │ └── main.rs │ ├── testcase/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── testcase_macro/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ └── tests/ │ ├── Cargo.toml │ ├── src/ │ │ ├── boot_order/ │ │ │ └── efi_utils.rs │ │ ├── boot_order.rs │ │ ├── cpuid.rs │ │ ├── crucible/ │ │ │ ├── migrate.rs │ │ │ ├── mod.rs │ │ │ └── smoke.rs │ │ ├── disk.rs │ │ ├── framework.rs │ │ ├── hw.rs │ │ ├── hyperv.rs │ │ ├── lib.rs │ │ ├── migrate.rs │ │ ├── server_state_machine.rs │ │ ├── smoke.rs │ │ ├── stats.rs │ │ └── vsock.rs │ └── testdata/ │ └── dirt.sh ├── rust-toolchain.toml ├── rustfmt.toml ├── scripts/ │ ├── README.md │ ├── cpuid-queries.d │ ├── live-migration-times.d │ ├── nvme-trace.d │ ├── time-adjustments.d │ ├── viona.d │ └── vm-exit-codes.d ├── tools/ │ ├── check_headers │ └── install_builder_prerequisites.sh └── xtask/ ├── Cargo.toml └── src/ ├── external.rs ├── main.rs ├── task_clippy.rs ├── task_fmt.rs ├── task_license.rs ├── task_phd.rs ├── task_prepush.rs ├── task_style.rs └── util.rs