diff options
author | Keiichi Watanabe <keiichiw@chromium.org> | 2019-12-06 22:24:40 +0900 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-05-23 09:54:13 +0000 |
commit | 57df6a0ab23c3b2ba233b9aa5886ecf47ba3f91f (patch) | |
tree | 11bc695e179762b6eac26302e6b89db55b251dba /devices/src/virtio/mod.rs | |
parent | b2ca24c97b0084b805f7da28804b4c430c151ccb (diff) | |
download | crosvm-57df6a0ab23c3b2ba233b9aa5886ecf47ba3f91f.tar crosvm-57df6a0ab23c3b2ba233b9aa5886ecf47ba3f91f.tar.gz crosvm-57df6a0ab23c3b2ba233b9aa5886ecf47ba3f91f.tar.bz2 crosvm-57df6a0ab23c3b2ba233b9aa5886ecf47ba3f91f.tar.lz crosvm-57df6a0ab23c3b2ba233b9aa5886ecf47ba3f91f.tar.xz crosvm-57df6a0ab23c3b2ba233b9aa5886ecf47ba3f91f.tar.zst crosvm-57df6a0ab23c3b2ba233b9aa5886ecf47ba3f91f.zip |
devices: virtio: Initial implementation of virtio-video device
This CL adds a fundamental part of the virtio video device, which will be shared between the encoder and the decoder. Both devices uses the virtio-video protocol proposed as RFC v3 [1,2]. The corresponding driver code is at CL:2060327 and its children CLs. The actual decoding and encoding logic will be implemented in different CLs. [1]: mail: https://markmail.org/thread/wxdne5re7aaugbjg [2]: PDF: https://drive.google.com/file/d/1jOsS2WdVhL4PpcWLO8Zukq5J0fXDiWn-/view BUG=b:147465619, b:140082257 TEST=cargo check --features=video-decoder,video-encoder TEST=ARCVM started with --video-decoder --video-encoder Cq-Depend: chromium:2203997 Change-Id: I01999eea218ba0f3aaed1558ca2311a57d0c6819 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/1973973 Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org> Tested-by: Keiichi Watanabe <keiichiw@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Commit-Queue: Keiichi Watanabe <keiichiw@chromium.org>
Diffstat (limited to 'devices/src/virtio/mod.rs')
-rw-r--r-- | devices/src/virtio/mod.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/devices/src/virtio/mod.rs b/devices/src/virtio/mod.rs index 4d5d2cb..ce62551 100644 --- a/devices/src/virtio/mod.rs +++ b/devices/src/virtio/mod.rs @@ -17,6 +17,8 @@ mod queue; mod rng; #[cfg(feature = "tpm")] mod tpm; +#[cfg(any(feature = "video-decoder", feature = "video-encoder"))] +mod video; mod virtio_device; mod virtio_pci_common_config; mod virtio_pci_device; @@ -44,6 +46,8 @@ pub use self::queue::*; pub use self::rng::*; #[cfg(feature = "tpm")] pub use self::tpm::*; +#[cfg(any(feature = "video-decoder", feature = "video-encoder"))] +pub use self::video::*; pub use self::virtio_device::*; pub use self::virtio_pci_device::*; pub use self::wl::*; @@ -76,6 +80,8 @@ const TYPE_CRYPTO: u32 = 20; const TYPE_IOMMU: u32 = 23; const TYPE_FS: u32 = 26; const TYPE_PMEM: u32 = 27; +const TYPE_VIDEO_ENC: u32 = 30; +const TYPE_VIDEO_DEC: u32 = 31; // Additional types invented by crosvm const MAX_VIRTIO_DEVICE_ID: u32 = 63; const TYPE_WL: u32 = MAX_VIRTIO_DEVICE_ID; @@ -114,6 +120,8 @@ pub fn type_to_str(type_: u32) -> Option<&'static str> { TYPE_PMEM => "pmem", TYPE_WL => "wl", TYPE_TPM => "tpm", + TYPE_VIDEO_DEC => "video-decoder", + TYPE_VIDEO_ENC => "video-encoder", _ => return None, }) } |