Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
d5f8e75
ci: remove irrelevant CI for this fork
phip1611 Aug 15, 2025
acf5fa8
ci: enforce SAP commit style
phip1611 Oct 30, 2025
4ab45e2
build: cargo: add optimized-dev profile
phip1611 Aug 27, 2025
22f6b4c
build: cargo: don't strip binary
phip1611 Dec 1, 2025
169ae34
misc: gitlint: allow more prefixes disabling 72 width limit
phip1611 Nov 13, 2025
bbac9ec
tests: enable `cargo test --workspace` + `#[cfg(devcli_testenv)]`
phip1611 Nov 18, 2025
9ce3a53
tests: prevent broken terminal after running `cargo test -p vmm`
phip1611 Nov 18, 2025
0f1d486
misc: improve developer experience of cargo clippy
phip1611 Nov 17, 2025
baff5d8
misc: clippy: add default clippy lint groups
phip1611 Nov 18, 2025
27c9bc9
misc: live-migration with virtio-net devices with network fds
phip1611 Jun 27, 2025
5f79b77
# This is a combination of 2 commits.
Apr 14, 2025
53c8380
vmm: properly unset immediate_exit on -EINTR
phip1611 Sep 10, 2025
4b40c42
vmm: optimize lock usage
phip1611 Sep 11, 2025
be35bfb
vmm: prerequisites for accessing KVM_RUN in the vCPU loop
phip1611 Sep 10, 2025
2959261
vmm: fix kicking vCPU out of KVM_RUN from signal handler
phip1611 Sep 10, 2025
f75d519
vmm: temporarily make "resize" API call fail fast
phip1611 Sep 11, 2025
a798345
vmm: add vCPU throttling (auto-converge) for pre-copy
phip1611 Jun 10, 2025
6b07848
vmm: console: add tcp option
hertrste Sep 11, 2025
f3b9803
vmm: serial: add Tcp enum entry
hertrste Sep 11, 2025
44c0be5
vmm: vcpu thread: add sendto syscall to seccomp list
hertrste Sep 11, 2025
2c49587
vmm: serial: rename CloneUnixStream -> CloneStream
hertrste Sep 11, 2025
64bf834
vmm: serial: add serial tcp implementation
hertrste Sep 11, 2025
0eed747
vmm: serial: add tcp serial option to help
hertrste Sep 16, 2025
08e88b5
vmm: serial: implement writer combiner
hertrste Sep 16, 2025
0212fad
vmm: config: allow additional file when mode TCP
hertrste Sep 17, 2025
2125091
vmm: serial: additional log to file
hertrste Sep 17, 2025
01123b9
vmm: serial_manager: use TypeId trait for key type in FanoutWriter
hertrste Sep 29, 2025
1f70fe4
vmm: api: receive_migration can get a tcp_serial_url
hertrste Oct 21, 2025
df0a796
vmm: serial: add write_distributor only in case of TCP
hertrste Oct 24, 2025
d0178ab
block: advisory locks: use byte-range locks to match QEMU behavior
phip1611 Oct 21, 2025
05a9d04
vmm: don't needlessly clone strings
blitz Oct 29, 2025
dcf46d8
vmm: allow comparing commands and extracting response length
blitz Oct 16, 2025
1f9a935
vmm: simplify receiving memory fds
blitz Nov 3, 2025
8d5148b
vmm: refactor live migration receive into state machine
blitz Oct 9, 2025
e6aee4e
vm-migration: add helper to iterate over bitmaps
blitz Nov 7, 2025
5f62b51
vm-migration: add itertools as common dependency
blitz Nov 7, 2025
c7bf9fc
vm-migration: optimize dirty bitmap scanning
blitz Nov 7, 2025
7187a7a
virtio-devices: mark a possible improvement
blitz Nov 7, 2025
235a1bc
virtio-devices: avoid creating a temporary vector
blitz Nov 7, 2025
2c7ea2f
vmm: avoid creating large temporary vector during migration
blitz Nov 7, 2025
77f7bef
block: virtio-devices: make disk_nsectors a shared atomic
tpressure Nov 10, 2025
63bf1ab
vmm: disk resize infrastructure
tpressure Nov 11, 2025
67adda0
block: raw_async: implement disk resizing
tpressure Nov 11, 2025
4112edd
ch-remote: support live disk resizing
tpressure Nov 10, 2025
c1b2d2f
vm-migration: add connections field to HTTP API
blitz Oct 15, 2025
b3d2d1e
vmm: inline functions in vm_receive_memory
blitz Oct 16, 2025
08fde9c
vmm: keep direct reference to guest memory around
blitz Oct 16, 2025
9c259c4
vmm: allow keeping the socket listener around
blitz Oct 17, 2025
0e11eb4
vmm: handle receiving migration data on additional connections
blitz Oct 20, 2025
e18b96a
vmm: use the same function to send memory
blitz Oct 20, 2025
c2bf26a
vmm: move socket creation out of impl Vmm
blitz Oct 21, 2025
edf6d7a
vmm: move sending memory to the other migration code
blitz Oct 21, 2025
5065b64
vm-migration: allow partitioning memory tables
blitz Oct 21, 2025
906aded
vmm: funnel memory data via additional connections abstraction
blitz Oct 21, 2025
c520e07
vmm: actually send memory using multiple connections
blitz Oct 21, 2025
217a0be
vmm: tear down accept thread after receiving
blitz Oct 28, 2025
4dd5de2
vmm: tear down memory receive threads
blitz Oct 28, 2025
28a4053
vmm: gracefully handle remote end not supporting multiple connections
blitz Nov 5, 2025
9bb63a6
vmm: don't send memory chunked if we only have one connection
blitz Nov 5, 2025
870c087
vmm: don't panic when live migration thread encounters an error
amphi Dec 8, 2025
b9294c2
vmm: migration: prepare EventFd for async migration events
phip1611 Nov 21, 2025
50149fa
vmm: migration: handle in dedicated thread (make async)
phip1611 Nov 21, 2025
8e28c8f
vmm: better VM ownership handling in context of live migration
phip1611 Oct 30, 2025
79144c6
vmm: api: temporarily make VmSendMigration call blocking again
phip1611 Oct 30, 2025
1b144ae
misc: fix typo and wording
phip1611 Nov 11, 2025
554b06c
hypervisor: Introduce error associated with AMX related state components
olivereanderson Dec 1, 2025
d10fb5b
hypervisor: Introduce enable_amx_state_components function
olivereanderson Dec 1, 2025
d9d350b
vmm: Use XsaveState::enable_amx_state_components
olivereanderson Dec 1, 2025
f77c24d
hypervisor: check_extension_int method on the hypervisor trait
olivereanderson Dec 1, 2025
62458d1
hypervisor: Fix live migration when AMX is configured
olivereanderson Dec 1, 2025
a372625
seccomp: add arch_prctl syscall for amx
lisongqian Nov 12, 2025
c725a87
seccomp: Replace KVM_GET_XSAVE with KVM_GET_XSAVE2
olivereanderson Dec 2, 2025
f78596d
vmm: Write directly to member when creating new devices
scholzp Nov 25, 2025
bf275a6
pci: Allow for device ID allocation on a bus
scholzp Dec 3, 2025
0698da0
vmm: Add tests for `allocate_device_bdf` in `PciSegment`
scholzp Dec 4, 2025
db75b06
vmm: Introduce `addr` argument to PCI device configs and update parser
scholzp Dec 5, 2025
4abe6dd
vmm: Add tests for BDF device address parsing in configs
scholzp Dec 3, 2025
1302817
vmm: Use device ID part of bdf for hotplugging
scholzp Nov 17, 2025
32f9d33
vmm: Use `VecDeque` to collect virtio devices
scholzp Dec 3, 2025
597cdb7
vm-migration: add the client side of the TLS connection
amphi Nov 5, 2025
bb9a21f
vm-migration: add the server side of the TLS encryption
amphi Nov 5, 2025
9c7e9e6
vmm: remove AsRawFd trait for SocketStream, as it seems unnecessary
amphi Nov 5, 2025
f0a03e8
vmm: add TLS variants to SocketStream and ReceiveListener
amphi Nov 5, 2025
d497fd2
vmm: use TLS encrypted live migration when TLS parameters are provided
amphi Nov 5, 2025
7976ba8
vm-migration: speed up ReadVolatile and WriteVolatile
amphi Nov 27, 2025
0da921d
misc: improve test idempotence (unrelated improvement)
phip1611 Nov 27, 2025
3e13419
build: remove useless build scripts (copy & paste artifact)
phip1611 Nov 27, 2025
308dd9e
build: decouple Cargo.toml: split crate and workspace definitions
phip1611 Nov 27, 2025
bf9877a
test_infra: Adapt to workspace + make code more robust
phip1611 Nov 28, 2025
7fb99c3
docs: adjust contributing.md: fix missing --all
phip1611 Dec 4, 2025
9a0f4a8
docs: adjust contributing.md: remove need for --all (--workspace)
phip1611 Dec 4, 2025
8a49bd5
ci: replace `cargo rustc` -> `cargo build` to support virtual manifests
phip1611 Nov 27, 2025
89ab61d
vmm: api: make REST API multi threaded
amphi Dec 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 0 additions & 16 deletions .github/workflows/audit.yaml

This file was deleted.

29 changes: 12 additions & 17 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,62 +13,57 @@ jobs:
matrix:
rust:
- stable
- beta
- nightly
- "1.88.0"
target:
- x86_64-unknown-linux-gnu
- x86_64-unknown-linux-musl
steps:
- name: Code checkout
uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Install musl-gcc
run: sudo apt install -y musl-tools

- name: Install Rust toolchain (${{ matrix.rust }})
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rust }}
target: ${{ matrix.target }}

- name: Build (default features)
run: cargo rustc --locked --bin cloud-hypervisor -- -D warnings -D clippy::undocumented_unsafe_blocks -W clippy::assertions_on_result_states
run: cargo build --locked --bin cloud-hypervisor

- name: Build (kvm)
run: cargo rustc --locked --bin cloud-hypervisor --no-default-features --features "kvm" -- -D warnings -D clippy::undocumented_unsafe_blocks -W clippy::assertions_on_result_states
run: cargo build --locked --bin cloud-hypervisor --no-default-features --features "kvm"

- name: Build (default features + tdx)
run: cargo rustc --locked --bin cloud-hypervisor --features "tdx" -- -D warnings -D clippy::undocumented_unsafe_blocks -W clippy::assertions_on_result_states
run: cargo build --locked --bin cloud-hypervisor --features "tdx"

- name: Build (default features + dbus_api)
run: cargo rustc --locked --bin cloud-hypervisor --features "dbus_api" -- -D warnings -D clippy::undocumented_unsafe_blocks -W clippy::assertions_on_result_states
run: cargo build --locked --bin cloud-hypervisor --features "dbus_api"

- name: Build (default features + guest_debug)
run: cargo rustc --locked --bin cloud-hypervisor --features "guest_debug" -- -D warnings -D clippy::undocumented_unsafe_blocks -W clippy::assertions_on_result_states
run: cargo build --locked --bin cloud-hypervisor --features "guest_debug"

- name: Build (default features + pvmemcontrol)
run: cargo rustc --locked --bin cloud-hypervisor --features "pvmemcontrol" -- -D warnings -D clippy::undocumented_unsafe_blocks -W clippy::assertions_on_result_states
run: cargo build --locked --bin cloud-hypervisor --features "pvmemcontrol"

- name: Build (default features + fw_cfg)
run: cargo rustc --locked --bin cloud-hypervisor --features "fw_cfg" -- -D warnings -D clippy::undocumented_unsafe_blocks -W clippy::assertions_on_result_states
run: cargo build --locked --bin cloud-hypervisor --features "fw_cfg"

- name: Build (default features + ivshmem)
run: cargo rustc --locked --bin cloud-hypervisor --features "ivshmem" -- -D warnings -D clippy::undocumented_unsafe_blocks -W clippy::assertions_on_result_states
run: cargo build --locked --bin cloud-hypervisor --features "ivshmem"

- name: Build (mshv)
run: cargo rustc --locked --bin cloud-hypervisor --no-default-features --features "mshv" -- -D warnings -D clippy::undocumented_unsafe_blocks -W clippy::assertions_on_result_states
run: cargo build --locked --bin cloud-hypervisor --no-default-features --features "mshv"

- name: Build (sev_snp)
run: cargo rustc --locked --bin cloud-hypervisor --no-default-features --features "sev_snp" -- -D warnings -D clippy::undocumented_unsafe_blocks -W clippy::assertions_on_result_states
run: cargo build --locked --bin cloud-hypervisor --no-default-features --features "sev_snp"

- name: Build (igvm)
run: cargo rustc --locked --bin cloud-hypervisor --no-default-features --features "igvm" -- -D warnings -D clippy::undocumented_unsafe_blocks -W clippy::assertions_on_result_states
run: cargo build --locked --bin cloud-hypervisor --no-default-features --features "igvm"

- name: Build (mshv + kvm)
run: cargo rustc --locked --bin cloud-hypervisor --no-default-features --features "mshv,kvm" -- -D warnings -D clippy::undocumented_unsafe_blocks -W clippy::assertions_on_result_states
run: cargo build --locked --bin cloud-hypervisor --no-default-features --features "mshv,kvm"

- name: Release Build (default features)
run: cargo build --locked --all --release --target=${{ matrix.target }}
Expand Down
23 changes: 23 additions & 0 deletions .github/workflows/commit-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Commit Lint
on: [ pull_request ]
jobs:
gitlint:
name: Check commit messages
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: "3.10"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install --upgrade gitlint
- name: Lint git commit messages
run: |
gitlint --commits origin/$GITHUB_BASE_REF..
20 changes: 0 additions & 20 deletions .github/workflows/dco.yaml

This file was deleted.

65 changes: 0 additions & 65 deletions .github/workflows/docker-image.yaml

This file was deleted.

1 change: 0 additions & 1 deletion .github/workflows/formatting.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ jobs:
- nightly
target:
- x86_64-unknown-linux-gnu
- aarch64-unknown-linux-musl
env:
RUSTFLAGS: -D warnings
steps:
Expand Down
32 changes: 0 additions & 32 deletions .github/workflows/fuzz-build.yaml

This file was deleted.

25 changes: 0 additions & 25 deletions .github/workflows/gitlint.yaml

This file was deleted.

25 changes: 0 additions & 25 deletions .github/workflows/hadolint.yaml

This file was deleted.

54 changes: 0 additions & 54 deletions .github/workflows/integration-arm64.yaml

This file was deleted.

22 changes: 0 additions & 22 deletions .github/workflows/integration-metrics.yaml

This file was deleted.

25 changes: 0 additions & 25 deletions .github/workflows/integration-rate-limiter.yaml

This file was deleted.

Loading
Loading