Skip to content
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

Add interrupt manager to vm-device #3

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
2f4c51c
Introduce Mutex<T: DeviceIoMut> adapter for DeviceIo
jiangliu Feb 1, 2020
5bd69ad
Make DeviceIo depend on Sync
jiangliu Feb 1, 2020
1d55fc8
Implement Clone for IoManager
jiangliu Feb 1, 2020
3fc25ea
Export IoSize and IoRange as pub
jiangliu Feb 7, 2020
bdf834e
Implement Deref for DeviceResources
jiangliu Jan 24, 2020
11f77fb
resource: derive Debug for resource related structs
jiangliu Feb 4, 2020
2d9c7e6
Build dedicated structs/interfaces for Pio
jiangliu Feb 8, 2020
6c37861
Introduce IoManagerContext to support PCI devices
jiangliu Feb 15, 2020
09c4eb4
Add get_assigned_resources()/get_trapped_io_resources() to DeviceIo
jiangliu Feb 7, 2020
14eb9e1
Switch to rust 2018 edition
jiangliu Aug 4, 2019
393253b
interrupt: introduce traits to manage interrupt sources
jiangliu Aug 11, 2019
3e52a6f
Implement infrastructure to manage interrupts by KVM
jiangliu Aug 11, 2019
acbc9bb
Manage x86 legacy interrupts based on KVM
jiangliu Aug 11, 2019
cc3f304
Limit number of legacy irqs
juliusxlh Aug 16, 2019
3c663a8
Add generic heplers to manage MSI interrupts
jiangliu Oct 26, 2019
7831a5b
Manage PCI MSI/PCI MSI-x interrupts
jiangliu Aug 4, 2019
f8a77d5
Add unit tests for interrupt manager
juliusxlh Aug 16, 2019
a2a02a7
Manage generic MSI interrupts based on VFIO devices
jiangliu Jan 31, 2020
f0c951e
Support mask/unmask/get_pending_state
jiangliu Feb 19, 2020
5a7b0e1
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
21 changes: 20 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,25 @@ 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]
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