MCPcopy Create free account
hub / github.com/cloud-hypervisor/cloud-hypervisor / request_queue

Method request_queue

virtio-devices/src/iommu.rs:859–879  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

857
858impl IommuEpollHandler {
859 fn request_queue(&mut self) -> Result<bool, Error> {
860 let mut used_descs = false;
861 while let Some(mut desc_chain) = self.request_queue.pop_descriptor_chain(self.mem.memory())
862 {
863 let len = Request::parse(
864 &mut desc_chain,
865 &self.mapping,
866 &self.ext_mapping.lock().unwrap(),
867 self.msi_iova_space,
868 self.input_range,
869 )?;
870
871 self.request_queue
872 .add_used(desc_chain.memory(), desc_chain.head_index(), len as u32)
873 .map_err(Error::QueueAddUsed)?;
874
875 used_descs = true;
876 }
877
878 Ok(used_descs)
879 }
880
881 fn signal_used_queue(&self, queue_index: u16) -> result::Result<(), DeviceError> {
882 self.interrupt_cb

Callers 1

handle_eventMethod · 0.80

Calls 1

memoryMethod · 0.80

Tested by

no test coverage detected