mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f6557acf60 | ||
|
|
4d041bd603 | ||
|
|
e0fda7bef9 | ||
|
|
9e2d051237 |
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -148,7 +148,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cloud-hypervisor"
|
name = "cloud-hypervisor"
|
||||||
version = "22.0.0"
|
version = "22.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"api_client",
|
"api_client",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "cloud-hypervisor"
|
name = "cloud-hypervisor"
|
||||||
version = "22.0.0"
|
version = "22.1.0"
|
||||||
authors = ["The Cloud Hypervisor Authors"]
|
authors = ["The Cloud Hypervisor Authors"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
default-run = "cloud-hypervisor"
|
default-run = "cloud-hypervisor"
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
- [v22.1](#v221)
|
||||||
- [v22.0](#v220)
|
- [v22.0](#v220)
|
||||||
- [GDB Debug Stub Support](#gdb-debug-stub-support)
|
- [GDB Debug Stub Support](#gdb-debug-stub-support)
|
||||||
- [`virtio-iommu` Backed Segments](#virtio-iommu-backed-segments)
|
- [`virtio-iommu` Backed Segments](#virtio-iommu-backed-segments)
|
||||||
@@ -5,7 +6,7 @@
|
|||||||
- [`virtio-balloon` Free Page Reporting](#virtio-balloon-free-page-reporting)
|
- [`virtio-balloon` Free Page Reporting](#virtio-balloon-free-page-reporting)
|
||||||
- [Support for Direct Kernel Booting with TDX](#support-for-direct-kernel-booting-with-tdx)
|
- [Support for Direct Kernel Booting with TDX](#support-for-direct-kernel-booting-with-tdx)
|
||||||
- [PMU Support for AArch64](#pmu-support-for-aarch64)
|
- [PMU Support for AArch64](#pmu-support-for-aarch64)
|
||||||
- [Documentation Under CC-BY-4.0 Licese](#documentation-under-cc-by-40-licese)
|
- [Documentation Under CC-BY-4.0 License](#documentation-under-cc-by-40-license)
|
||||||
- [Deprecation of "Classic" `virtiofsd`](#deprecation-of-classic-virtiofsd)
|
- [Deprecation of "Classic" `virtiofsd`](#deprecation-of-classic-virtiofsd)
|
||||||
- [Notable Bug Fixes](#notable-bug-fixes)
|
- [Notable Bug Fixes](#notable-bug-fixes)
|
||||||
- [Contributors](#contributors)
|
- [Contributors](#contributors)
|
||||||
@@ -194,10 +195,17 @@
|
|||||||
- [Unit testing](#unit-testing)
|
- [Unit testing](#unit-testing)
|
||||||
- [Integration tests parallelization](#integration-tests-parallelization)
|
- [Integration tests parallelization](#integration-tests-parallelization)
|
||||||
|
|
||||||
|
# v22.1
|
||||||
|
|
||||||
|
This is a bug fix release. The following issues have been addressed:
|
||||||
|
|
||||||
|
* VFIO ioctl reordering to fix MSI on AMD platforms (#3827)
|
||||||
|
* Fix `virtio-net` control queue (#3829)
|
||||||
|
|
||||||
# v22.0
|
# v22.0
|
||||||
|
|
||||||
This release has been tracked through the [v21.0
|
This release has been tracked through the [v22.0
|
||||||
project](https://github.com/cloud-hypervisor/cloud-hypervisor/projects/24).
|
project](https://github.com/cloud-hypervisor/cloud-hypervisor/projects/25).
|
||||||
|
|
||||||
### GDB Debug Stub Support
|
### GDB Debug Stub Support
|
||||||
|
|
||||||
@@ -238,7 +246,7 @@ has been updated for this usage.
|
|||||||
A PMU is now available on AArch64 for guest performance profiling. This will be
|
A PMU is now available on AArch64 for guest performance profiling. This will be
|
||||||
exposed automatically if available from the host.
|
exposed automatically if available from the host.
|
||||||
|
|
||||||
### Documentation Under CC-BY-4.0 Licese
|
### Documentation Under CC-BY-4.0 License
|
||||||
|
|
||||||
The documentation is now licensed under the "Creative Commons Attribution 4.0
|
The documentation is now licensed under the "Creative Commons Attribution 4.0
|
||||||
International" license which is aligned with the project charter under the
|
International" license which is aligned with the project charter under the
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
Name: cloud-hypervisor
|
Name: cloud-hypervisor
|
||||||
Summary: Cloud Hypervisor is an open source Virtual Machine Monitor (VMM) that runs on top of KVM.
|
Summary: Cloud Hypervisor is an open source Virtual Machine Monitor (VMM) that runs on top of KVM.
|
||||||
Version: 22.0
|
Version: 22.1
|
||||||
Release: 0%{?dist}
|
Release: 0%{?dist}
|
||||||
License: ASL 2.0 or BSD-3-clause
|
License: ASL 2.0 or BSD-3-clause
|
||||||
Group: Applications/System
|
Group: Applications/System
|
||||||
@@ -112,6 +112,9 @@ rm -rf %{buildroot}
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Mar 10 2022 Rob Bradford <robert.bradford@intel.com> 22.1-0
|
||||||
|
- Update to 22.1
|
||||||
|
|
||||||
* Thu Mar 03 2022 Rob Bradford <robert.bradford@intel.com> 22.0-0
|
* Thu Mar 03 2022 Rob Bradford <robert.bradford@intel.com> 22.0-0
|
||||||
- Update to 22.0
|
- Update to 22.0
|
||||||
|
|
||||||
|
|||||||
@@ -566,10 +566,13 @@ impl VirtioDevice for Net {
|
|||||||
self.common.activate(&queues, &queue_evts, &interrupt_cb)?;
|
self.common.activate(&queues, &queue_evts, &interrupt_cb)?;
|
||||||
|
|
||||||
let queue_num = queues.len();
|
let queue_num = queues.len();
|
||||||
|
let event_idx = self.common.feature_acked(VIRTIO_RING_F_EVENT_IDX.into());
|
||||||
if self.common.feature_acked(VIRTIO_NET_F_CTRL_VQ.into()) && queue_num % 2 != 0 {
|
if self.common.feature_acked(VIRTIO_NET_F_CTRL_VQ.into()) && queue_num % 2 != 0 {
|
||||||
let cvq_queue = queues.remove(queue_num - 1);
|
let mut cvq_queue = queues.remove(queue_num - 1);
|
||||||
let cvq_queue_evt = queue_evts.remove(queue_num - 1);
|
let cvq_queue_evt = queue_evts.remove(queue_num - 1);
|
||||||
|
|
||||||
|
cvq_queue.set_event_idx(event_idx);
|
||||||
|
|
||||||
let (kill_evt, pause_evt) = self.common.dup_eventfds();
|
let (kill_evt, pause_evt) = self.common.dup_eventfds();
|
||||||
let mut ctrl_handler = NetCtrlEpollHandler {
|
let mut ctrl_handler = NetCtrlEpollHandler {
|
||||||
kill_evt,
|
kill_evt,
|
||||||
@@ -603,8 +606,6 @@ impl VirtioDevice for Net {
|
|||||||
self.ctrl_queue_epoll_thread = Some(epoll_threads.remove(0));
|
self.ctrl_queue_epoll_thread = Some(epoll_threads.remove(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
let event_idx = self.common.feature_acked(VIRTIO_RING_F_EVENT_IDX.into());
|
|
||||||
|
|
||||||
let mut epoll_threads = Vec::new();
|
let mut epoll_threads = Vec::new();
|
||||||
let mut taps = self.taps.clone();
|
let mut taps = self.taps.clone();
|
||||||
for i in 0..queues.len() / 2 {
|
for i in 0..queues.len() / 2 {
|
||||||
|
|||||||
@@ -190,8 +190,8 @@ impl InterruptSourceGroup for MsiInterruptGroup<IrqRoutingEntry> {
|
|||||||
format!("mask: No existing route for interrupt index {}", index),
|
format!("mask: No existing route for interrupt index {}", index),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
self.set_gsi_routes(&routes)?;
|
route.disable(&self.vm)?;
|
||||||
return route.disable(&self.vm);
|
return self.set_gsi_routes(&routes);
|
||||||
}
|
}
|
||||||
|
|
||||||
Err(io::Error::new(
|
Err(io::Error::new(
|
||||||
@@ -211,8 +211,8 @@ impl InterruptSourceGroup for MsiInterruptGroup<IrqRoutingEntry> {
|
|||||||
format!("mask: No existing route for interrupt index {}", index),
|
format!("mask: No existing route for interrupt index {}", index),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
self.set_gsi_routes(&routes)?;
|
route.enable(&self.vm)?;
|
||||||
return route.enable(&self.vm);
|
return self.set_gsi_routes(&routes);
|
||||||
}
|
}
|
||||||
|
|
||||||
Err(io::Error::new(
|
Err(io::Error::new(
|
||||||
|
|||||||
Reference in New Issue
Block a user