mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-06 02:25:23 +00:00
devices: vfio: Extend MMIO region queries
In preparation for adding VFIO platform support add function which allows to get number of regions and size of specific region. BUG=b:185504618 TEST=trogdor64-manatee SDHCI and GENIQUP device passthrough boots/works Change-Id: I4ad99d7658d5b76cae4aa686b2b1f772e2bc3e44 Signed-off-by: Tomasz Nowicki <tn@semihalf.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2961214 Tested-by: kokoro <noreply+kokoro@google.com> Commit-Queue: Micah Morton <mortonm@chromium.org> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
This commit is contained in:
parent
d7cbad7707
commit
348e32451a
1 changed files with 18 additions and 0 deletions
|
@ -813,6 +813,24 @@ impl VfioDevice {
|
|||
}
|
||||
}
|
||||
|
||||
/// get a region's size
|
||||
/// return: Region size from the start of vfio device descriptor
|
||||
pub fn get_region_size(&self, index: u32) -> u64 {
|
||||
match self.regions.get(index as usize) {
|
||||
Some(v) => v.size,
|
||||
None => {
|
||||
warn!("get_region_size with invalid index: {}", index);
|
||||
0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// get a number of regions
|
||||
/// return: Number of regions of vfio device descriptor
|
||||
pub fn get_region_count(&self) -> u32 {
|
||||
self.regions.len() as u32
|
||||
}
|
||||
|
||||
/// get a region's mmap info vector
|
||||
pub fn get_region_mmap(&self, index: u32) -> Vec<vfio_region_sparse_mmap_area> {
|
||||
match self.regions.get(index as usize) {
|
||||
|
|
Loading…
Reference in a new issue