Skip to content

Interrupt manager #4

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 29 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
c1e1452
Remove vm-memory dependency
Jan 14, 2020
06b9e00
Improve DeviceIo interface
Jan 14, 2020
d4664f8
lib: Improve DeviceIo methods documentation
Jan 14, 2020
3d51c9e
Update rust-vmm-ci
Dec 17, 2019
6aae202
Make DeviceIo internal mutability
Jan 20, 2020
ef21cf1
Add IO manager support
Oct 31, 2019
372bedf
Add read and write operations handling
Nov 22, 2019
66166a3
Add unit tests
Nov 22, 2019
3daea68
Append missing tests for resources
Dec 18, 2019
ffc63a8
Introduce Mutex<T: DeviceIoMut> adapter for DeviceIo
jiangliu Feb 1, 2020
297dd65
Make DeviceIo depend on Sync
jiangliu Feb 1, 2020
379aacf
Implement Clone for IoManager
jiangliu Feb 1, 2020
aeb5457
Export IoSize and IoRange as pub
jiangliu Feb 7, 2020
6276e6d
Implement Deref for DeviceResources
jiangliu Jan 24, 2020
03c93ac
resource: derive Debug for resource related structs
jiangliu Feb 4, 2020
7a4dc58
Build dedicated structs/interfaces for Pio
jiangliu Feb 8, 2020
a553f37
Introduce IoManagerContext to support PCI devices
jiangliu Feb 15, 2020
b266f97
Add get_assigned_resources()/get_trapped_io_resources() to DeviceIo
jiangliu Feb 7, 2020
b1c8f2b
Switch to rust 2018 edition
jiangliu Aug 4, 2019
e0d25e1
interrupt: introduce traits to manage interrupt sources
jiangliu Aug 11, 2019
2c700c8
Implement infrastructure to manage interrupts by KVM
jiangliu Aug 11, 2019
709581c
Manage x86 legacy interrupts based on KVM
jiangliu Aug 11, 2019
01cc5fa
Limit number of legacy irqs
juliusxlh Aug 16, 2019
7263cd9
Add generic heplers to manage MSI interrupts
jiangliu Oct 26, 2019
b395de2
Manage PCI MSI/PCI MSI-x interrupts
jiangliu Aug 4, 2019
1014c62
Add unit tests for interrupt manager
juliusxlh Aug 16, 2019
c5b1b5f
Manage generic MSI interrupts based on VFIO devices
jiangliu Jan 31, 2020
746e537
Support mask/unmask/get_pending_state
jiangliu Feb 19, 2020
0e290b5
Add helper struct to manage device interrupt mode
jiangliu Nov 8, 2019
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
22 changes: 21 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,26 @@ version = "0.1.0"
authors = ["Samuel Ortiz <[email protected]>"]
repository = "https://github.com/rust-vmm/vm-device"
license = "Apache-2.0"
edition = "2018"

[dependencies]
vm-memory = { git = "https://github.com/rust-vmm/vm-memory" }
libc = ">=0.2.39"
kvm-bindings = { version = "~0", optional = true }
kvm-ioctls = { version = "~0", optional = true }
vfio-ioctls = { git = "https://github.com/cloud-hypervisor/vfio-ioctls.git", branch = "dragonball", optional = true }
vmm-sys-util = "~0"

[dev-dependencies]
byteorder = ">=1.2.1"

[features]
default = ["legacy-irq", "msi-irq"]
legacy-irq = []
msi-irq = []
vfio-msi-irq = []

kvm-irq = ["kvm-ioctls", "kvm-bindings"]
kvm-msi-generic = ["msi-irq", "kvm-irq"]
kvm-legacy-irq = ["legacy-irq", "kvm-irq"]
kvm-msi-irq = ["kvm-msi-generic"]
kvm-vfio-msi-irq = ["kvm-msi-generic", "vfio-ioctls", "vfio-msi-irq"]
2 changes: 1 addition & 1 deletion coverage_config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"coverage_score": 75.8,
"coverage_score": 86.1,
"exclude_path": "",
"crate_features": ""
}
2 changes: 1 addition & 1 deletion rust-vmm-ci
Loading