summary refs log tree commit diff
path: root/arch
diff options
context:
space:
mode:
authorDylan Reid <dgreid@chromium.org>2018-05-23 16:45:29 -0700
committerchrome-bot <chrome-bot@chromium.org>2018-07-23 21:05:03 -0700
commita697d31fc697a6f02489f11d58d23cb2380d4013 (patch)
treecabc0d5fe9ca09794130746814023c055a2d5adb /arch
parentb847858e66d58a3bf7506f43f1a22781014a527e (diff)
downloadcrosvm-a697d31fc697a6f02489f11d58d23cb2380d4013.tar
crosvm-a697d31fc697a6f02489f11d58d23cb2380d4013.tar.gz
crosvm-a697d31fc697a6f02489f11d58d23cb2380d4013.tar.bz2
crosvm-a697d31fc697a6f02489f11d58d23cb2380d4013.tar.lz
crosvm-a697d31fc697a6f02489f11d58d23cb2380d4013.tar.xz
crosvm-a697d31fc697a6f02489f11d58d23cb2380d4013.tar.zst
crosvm-a697d31fc697a6f02489f11d58d23cb2380d4013.zip
mptable: Add ability to allocate pci interrupts
PCI devices will require interrupts, allow this by passing a vector of
IRQs to the mptable so the guest kernel can find the IRQs.

Change-Id: I9fa8a2ed0a34089e631441570521082ffde9c4ef
Reviewed-on: https://chromium-review.googlesource.com/1072578
Commit-Ready: Dylan Reid <dgreid@chromium.org>
Tested-by: Dylan Reid <dgreid@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/src/lib.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/src/lib.rs b/arch/src/lib.rs
index 1b07c62..e2d447c 100644
--- a/arch/src/lib.rs
+++ b/arch/src/lib.rs
@@ -41,10 +41,12 @@ pub trait LinuxArch {
     /// * `mem_size` - The size in bytes of system memory
     /// * `vcpu_count` - Number of virtual CPUs the guest will have
     /// * `cmdline` - the kernel commandline
+    /// * `pci_irqs` - Any PCI irqs that need to be configured (Interrupt Line, PCI pin).
     fn setup_system_memory(mem: &GuestMemory,
                            mem_size: u64,
                            vcpu_count: u32,
-                           cmdline: &CStr) -> Result<()>;
+                           cmdline: &CStr,
+                           pci_irqs: Vec<(u32, devices::PciInterruptPin)>) -> Result<()>;
 
     /// Creates a new VM object and initializes architecture specific devices
     ///