History log of /cloud-hypervisor/vm-device/src/interrupt/mod.rs (Results 1 – 14 of 14)
Revision Date Author Comments
# 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 ...