summary refs log tree commit diff
path: root/aarch64
diff options
context:
space:
mode:
authorZhuocheng Ding <zhuocheng.ding@intel.corp-partner.google.com>2019-12-02 15:50:20 +0800
committerCommit Bot <commit-bot@chromium.org>2020-03-05 01:02:48 +0000
commitf2e90bf0b0ca101d2925e91ca50d3e9e5ea2fdb7 (patch)
tree20a8210f21c3e530c80e45146fbb91f284064507 /aarch64
parent50740cece43671cc42035f92cde460aad3d29494 (diff)
downloadcrosvm-f2e90bf0b0ca101d2925e91ca50d3e9e5ea2fdb7.tar
crosvm-f2e90bf0b0ca101d2925e91ca50d3e9e5ea2fdb7.tar.gz
crosvm-f2e90bf0b0ca101d2925e91ca50d3e9e5ea2fdb7.tar.bz2
crosvm-f2e90bf0b0ca101d2925e91ca50d3e9e5ea2fdb7.tar.lz
crosvm-f2e90bf0b0ca101d2925e91ca50d3e9e5ea2fdb7.tar.xz
crosvm-f2e90bf0b0ca101d2925e91ca50d3e9e5ea2fdb7.tar.zst
crosvm-f2e90bf0b0ca101d2925e91ca50d3e9e5ea2fdb7.zip
Add logic to setup PIC/IOAPIC.
TODO: Route irqfd to PIC/IOAPIC to make them fully work.

BUG=chromium:908689
TEST=None

Change-Id: I301287b1cf32cfccffce6c52ebbb5e123931178e
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/1945796
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
Commit-Queue: Zhuocheng Ding <zhuocheng.ding@intel.corp-partner.google.com>
Diffstat (limited to 'aarch64')
-rw-r--r--aarch64/Cargo.toml1
-rw-r--r--aarch64/src/lib.rs3
2 files changed, 4 insertions, 0 deletions
diff --git a/aarch64/Cargo.toml b/aarch64/Cargo.toml
index 8c754d1..7e346ac 100644
--- a/aarch64/Cargo.toml
+++ b/aarch64/Cargo.toml
@@ -17,3 +17,4 @@ remain = "*"
 resources = { path = "../resources" }
 sync = { path = "../sync" }
 sys_util = { path = "../sys_util" }
+vm_control = { path = "../vm_control" }
diff --git a/aarch64/src/lib.rs b/aarch64/src/lib.rs
index 67fad72..d4c4a50 100644
--- a/aarch64/src/lib.rs
+++ b/aarch64/src/lib.rs
@@ -21,6 +21,7 @@ use remain::sorted;
 use resources::SystemAllocator;
 use sync::Mutex;
 use sys_util::{EventFd, GuestAddress, GuestMemory, GuestMemoryError};
+use vm_control::VmIrqRequestSocket;
 
 use kvm::*;
 use kvm_sys::kvm_device_attr;
@@ -195,6 +196,7 @@ impl arch::LinuxArch for AArch64 {
     fn build_vm<F, E>(
         mut components: VmComponents,
         _split_irqchip: bool,
+        _ioapic_device_socket: VmIrqRequestSocket,
         serial_parameters: &BTreeMap<u8, SerialParameters>,
         serial_jail: Option<Minijail>,
         create_devices: F,
@@ -314,6 +316,7 @@ impl arch::LinuxArch for AArch64 {
             vcpus,
             vcpu_affinity,
             irq_chip,
+            split_irqchip: None,
             io_bus,
             mmio_bus,
             pid_debug_label_map,