diff options
author | Dylan Reid <dgreid@chromium.org> | 2019-01-07 10:33:48 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2019-01-26 10:43:21 -0800 |
commit | 3082e8e48d73a4cf98b33052247d0ddb0d411111 (patch) | |
tree | 2c1d48e64e83e29a7c4ee0c06a13d5a9ae8019ee /src/linux.rs | |
parent | b58b5529403c1d86a74cd973abf5796a9da4c348 (diff) | |
download | crosvm-3082e8e48d73a4cf98b33052247d0ddb0d411111.tar crosvm-3082e8e48d73a4cf98b33052247d0ddb0d411111.tar.gz crosvm-3082e8e48d73a4cf98b33052247d0ddb0d411111.tar.bz2 crosvm-3082e8e48d73a4cf98b33052247d0ddb0d411111.tar.lz crosvm-3082e8e48d73a4cf98b33052247d0ddb0d411111.tar.xz crosvm-3082e8e48d73a4cf98b33052247d0ddb0d411111.tar.zst crosvm-3082e8e48d73a4cf98b33052247d0ddb0d411111.zip |
linux: add ac97 to the pci bus
Add an ac97 device that plays audio to /dev/null. BUG=chromium:781398 TEST=Test crosvm with null device Change-Id: I3849974b732fc1550ec2bf0f805726bf2ca296f6 Signed-off-by: Dylan Reid <dgreid@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1398641 Commit-Ready: Chih-Yang Hsia <paulhsia@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Tested-by: Chih-Yang Hsia <paulhsia@chromium.org> Reviewed-by: Chih-Yang Hsia <paulhsia@chromium.org>
Diffstat (limited to 'src/linux.rs')
-rw-r--r-- | src/linux.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/linux.rs b/src/linux.rs index 4b684ca..8c33d12 100644 --- a/src/linux.rs +++ b/src/linux.rs @@ -21,6 +21,7 @@ use std::time::{Duration, SystemTime, UNIX_EPOCH}; use libc::{self, c_int}; +use audio_streams::DummyStreamSource; use byteorder::{ByteOrder, LittleEndian}; use devices::{self, PciDevice, VirtioPciDevice}; use io_jail::{self, Minijail}; @@ -632,6 +633,20 @@ fn create_virtio_devs( pci_devices.push((pci_dev, stub.jail)); } + if cfg.null_audio { + let null_audio_box = Box::new(devices::Ac97Dev::new( + (*mem).clone(), + Box::new(DummyStreamSource::new()), + )); + let null_audio_jail = if cfg.multiprocess { + let policy_path: PathBuf = cfg.seccomp_policy_dir.join("null_audio_device.policy"); + Some(create_base_minijail(empty_root_path, &policy_path)?) + } else { + None + }; + pci_devices.push((null_audio_box, null_audio_jail)); + } + Ok(pci_devices) } |