#
88a9f799 |
| 29-Sep-2024 |
Rob Bradford <rbradford@rivosinc.com> |
misc: Adapt consistent import style formatting
Historically the Cloud Hypervisor coding style has been to ensure that all imports are ordered and placed in a single group. Unfortunately cargo fmt ha
misc: Adapt consistent import style formatting
Historically the Cloud Hypervisor coding style has been to ensure that all imports are ordered and placed in a single group. Unfortunately cargo fmt has no support for ensuring that all imports are in a single group so if whitespace lines were added as part of the import statements then they would only be odered correctly in the group.
By adopting "group_imports="StdExternalCrate" we can enforce a style where imports are placed in at most three groups for std, external crates and the crate itself. Choosing a style enforceable by the tooling reduces the reviewer burden.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com>
show more ...
|
#
7bf0cc1e |
| 31-Aug-2023 |
Philipp Schuster <philipp.schuster@cyberus-technology.de> |
misc: Fix various spelling errors using typos
This fixes all typos found by the typos utility with respect to the config file.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.d
misc: Fix various spelling errors using typos
This fixes all typos found by the typos utility with respect to the config file.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de>
show more ...
|
#
0149e650 |
| 01-Aug-2023 |
Yong He <alexyonghe@tencent.com> |
vm-device: support batch update interrupt source group GSI
Split interrupt source group restore into two steps, first restore the irqfd for each interrupt source entry, and second restore the GSI ro
vm-device: support batch update interrupt source group GSI
Split interrupt source group restore into two steps, first restore the irqfd for each interrupt source entry, and second restore the GSI routing of the entire interrupt source group.
This patch will reduce restore latency of interrupt source group, and in a 200-concurrent restore test, the patch reduced the average IOAPIC restore time from 15ms to 1ms.
Signed-off-by: Yong He <alexyonghe@tencent.com>
show more ...
|
#
d3f66f87 |
| 11-May-2022 |
Rob Bradford <robert.bradford@intel.com> |
hypervisor: Make vm module private
And thus only export what is necessary through a `pub use`. This is consistent with some of the other modules and makes it easier to understand what the external i
hypervisor: Make vm module private
And thus only export what is necessary through a `pub use`. This is consistent with some of the other modules and makes it easier to understand what the external interface of the hypervisor crate is.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
show more ...
|
#
3ffc105f |
| 10-May-2022 |
Rob Bradford <robert.bradford@intel.com> |
hypervisor, vm-device: Relocate InterruptSourceConfig
Move this enum from vm-device to hypervisor crate so that hypervisor crate does not gain an extra dependency.
Signed-off-by: Rob Bradford <robe
hypervisor, vm-device: Relocate InterruptSourceConfig
Move this enum from vm-device to hypervisor crate so that hypervisor crate does not gain an extra dependency.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
show more ...
|
#
ed87e42e |
| 11-Apr-2022 |
Rob Bradford <robert.bradford@intel.com> |
vm-device, pci, devices: Remove InterruptSourceGroup::{un}mask
The calls to these functions are always preceded by a call to InterruptSourceGroup::update(). By adding a masked boolean to that functi
vm-device, pci, devices: Remove InterruptSourceGroup::{un}mask
The calls to these functions are always preceded by a call to InterruptSourceGroup::update(). By adding a masked boolean to that function call it possible to remove 50% of the calls to the KVM_SET_GSI_ROUTING ioctl as the the update will correctly handle the masked or unmasked case.
This causes the ioctl to disappear from the perf report for a boot of the VM.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
show more ...
|
#
dcc646f5 |
| 29-Jul-2021 |
Sebastien Boeuf <sebastien.boeuf@intel.com> |
clippy: Fix redundant allocations
With the new beta version, clippy complains about redundant allocation when using Arc<Box<dyn T>>, and suggests replacing it simply with Arc<dyn T>.
Signed-off-by:
clippy: Fix redundant allocations
With the new beta version, clippy complains about redundant allocation when using Arc<Box<dyn T>>, and suggests replacing it simply with Arc<dyn T>.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
show more ...
|
#
afc83582 |
| 14-Mar-2021 |
Michael Zhao <michael.zhao@arm.com> |
aarch64: Enable IRQ routing for legacy devices
On AArch64, interrupt controller (GIC) is emulated by KVM. VMM need to set IRQ routing for devices, including legacy ones.
Before this commit, IRQ rou
aarch64: Enable IRQ routing for legacy devices
On AArch64, interrupt controller (GIC) is emulated by KVM. VMM need to set IRQ routing for devices, including legacy ones.
Before this commit, IRQ routing was only set for MSI. Legacy routing entries of type KVM_IRQ_ROUTING_IRQCHIP were missing. That is way legacy devices (like serial device ttyS0) does not work.
The setting of X86 IRQ routing entries are not impacted.
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
show more ...
|
#
3bd47ffd |
| 09-Feb-2021 |
Sebastien Boeuf <sebastien.boeuf@intel.com> |
interrupt: Add a notifier method to the InterruptController
Both GIC and IOAPIC must implement a new method notifier() in order to provide the caller with an EventFd corresponding to the IRQ it refe
interrupt: Add a notifier method to the InterruptController
Both GIC and IOAPIC must implement a new method notifier() in order to provide the caller with an EventFd corresponding to the IRQ it refers to.
This is needed in anticipation for supporting INTx with VFIO PCI devices.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
show more ...
|
#
acfbee5b |
| 09-Feb-2021 |
Sebastien Boeuf <sebastien.boeuf@intel.com> |
interrupt: Make notifier function return Option<EventFd>
In anticipation for supporting the notifier function for the legacy interrupt source group, we need this function to return an EventFd instea
interrupt: Make notifier function return Option<EventFd>
In anticipation for supporting the notifier function for the legacy interrupt source group, we need this function to return an EventFd instead of a reference to this same EventFd.
The reason is we can't return a reference when there's an Arc<Mutex<>> involved in the call chain.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
show more ...
|
#
cce62375 |
| 17-Jun-2020 |
Michael Zhao <michael.zhao@arm.com> |
pci: Enable GSI routing (MSI type) for AArch64
In this commit we saved the BDF of a PCI device and set it to "devid" in GSI routing entry, because this field is mandatory for GICv3-ITS.
Signed-off-
pci: Enable GSI routing (MSI type) for AArch64
In this commit we saved the BDF of a PCI device and set it to "devid" in GSI routing entry, because this field is mandatory for GICv3-ITS.
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
show more ...
|
#
d9c1b439 |
| 27-Feb-2020 |
Sebastien Boeuf <sebastien.boeuf@intel.com> |
vmm: Store MSI InterruptManager from DeviceManager
Helps with future refactoring of VFIO device creation.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
|
#
da2b3c92 |
| 04-Feb-2020 |
Samuel Ortiz <sameo@linux.intel.com> |
vm-device: interrupt: Remove InterruptType dependencies and definitions
Having the InterruptManager trait depend on an InterruptType forces implementations into supporting potentially very different
vm-device: interrupt: Remove InterruptType dependencies and definitions
Having the InterruptManager trait depend on an InterruptType forces implementations into supporting potentially very different kind of interrupts from the same code base. What we're defining through the current, interrupt type based create_group() method is a need for having different interrupt managers for different kind of interrupts.
By associating the InterruptManager trait to an interrupt group configuration type, we create a cleaner design to support that need as we're basically saying that one interrupt manager should have the single responsibility of supporting one kind of interrupt (defined through its configuration).
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
show more ...
|
#
11d4d57c |
| 14-Jan-2020 |
Sebastien Boeuf <sebastien.boeuf@intel.com> |
vm-device: Introduce InterruptManager and InterruptSourceGroup traits
These new traits are meant to abstract the knowledge about the hypervisor and the type of interrupt being used from the perspect
vm-device: Introduce InterruptManager and InterruptSourceGroup traits
These new traits are meant to abstract the knowledge about the hypervisor and the type of interrupt being used from the perspective of the devices.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
show more ...
|