diff options
author | Alyssa Ross <hi@alyssa.is> | 2020-06-12 10:12:32 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2020-07-02 12:33:06 +0000 |
commit | ca7331a0fcbf476f782014ff81d06ba5ca08e2a3 (patch) | |
tree | 3bbf1560626f74b0fc0b242a1a2bfcc50138d76d /devices | |
parent | 544cb6bcda8654747e2de3d67c25182f3850ab2c (diff) | |
download | crosvm-ca7331a0fcbf476f782014ff81d06ba5ca08e2a3.tar crosvm-ca7331a0fcbf476f782014ff81d06ba5ca08e2a3.tar.gz crosvm-ca7331a0fcbf476f782014ff81d06ba5ca08e2a3.tar.bz2 crosvm-ca7331a0fcbf476f782014ff81d06ba5ca08e2a3.tar.lz crosvm-ca7331a0fcbf476f782014ff81d06ba5ca08e2a3.tar.xz crosvm-ca7331a0fcbf476f782014ff81d06ba5ca08e2a3.tar.zst crosvm-ca7331a0fcbf476f782014ff81d06ba5ca08e2a3.zip |
debug
Diffstat (limited to 'devices')
-rw-r--r-- | devices/src/virtio/virtio_pci_device.rs | 11 | ||||
-rw-r--r-- | devices/src/virtio/wl.rs | 8 |
2 files changed, 15 insertions, 4 deletions
diff --git a/devices/src/virtio/virtio_pci_device.rs b/devices/src/virtio/virtio_pci_device.rs index 7453e4c..b3288d4 100644 --- a/devices/src/virtio/virtio_pci_device.rs +++ b/devices/src/virtio/virtio_pci_device.rs @@ -295,6 +295,7 @@ impl VirtioPciDevice { fn is_driver_ready(&self) -> bool { let ready_bits = (DEVICE_ACKNOWLEDGE | DEVICE_DRIVER | DEVICE_DRIVER_OK | DEVICE_FEATURES_OK) as u8; + eprintln!("driver_status: {:b}", self.common_config.driver_status); self.common_config.driver_status == ready_bits && self.common_config.driver_status & DEVICE_FAILED as u8 == 0 } @@ -608,6 +609,7 @@ impl PciDevice for VirtioPciDevice { #[allow(clippy::absurd_extreme_comparisons)] fn write_bar(&mut self, addr: u64, data: &[u8]) { + eprintln!("Writing VirtioPciDevice bar for {:?}", self.device); let bar0 = self.config_regs.get_bar_addr(self.settings_bar as usize); let offset = addr - bar0; match offset { @@ -653,7 +655,12 @@ impl PciDevice for VirtioPciDevice { _ => (), }; - if !self.device_activated && self.is_driver_ready() && self.are_queues_valid() { + if !dbg!(self.device_activated) + && dbg!(self.is_driver_ready()) + && dbg!(self.are_queues_valid()) + { + eprintln!("Device needs activating: {:?}", self.device); + if let Some(interrupt_evt) = self.interrupt_evt.take() { self.interrupt_evt = match interrupt_evt.try_clone() { Ok(evt) => Some(evt), @@ -688,6 +695,8 @@ impl PciDevice for VirtioPciDevice { self.common_config.msix_config, )); + eprintln!("Activating {:?}", self.device); + match self.clone_queue_evts() { Ok(queue_evts) => { self.device.activate( diff --git a/devices/src/virtio/wl.rs b/devices/src/virtio/wl.rs index fd11839..13471f4 100644 --- a/devices/src/virtio/wl.rs +++ b/devices/src/virtio/wl.rs @@ -1437,7 +1437,7 @@ impl Worker { }; for event in &events { - match event.token() { + match dbg!(event.token()) { Token::InQueue => { let _ = in_queue_evt.read(); // Used to buffer descriptor indexes that are invalid for our uses. @@ -1503,7 +1503,7 @@ impl Worker { } } Token::CommandSocket => { - let resp = match self.control_socket.recv() { + let resp = match dbg!(self.control_socket.recv()) { Ok(WlControlCommand::AddSocket { name, path }) => { self.state.add_path(name, path).into() } @@ -1516,7 +1516,7 @@ impl Worker { } }; - if let Err(e) = self.control_socket.send(&resp) { + if let Err(e) = self.control_socket.send(dbg!(&resp)) { error!("control socket failed send: {}", e); break 'poll; } @@ -1764,6 +1764,8 @@ impl VirtioDevice for Wl { mut queues: Vec<Queue>, queue_evts: Vec<EventFd>, ) { + eprintln!("+++++++ Activating Wl device"); + if queues.len() != QUEUE_SIZES.len() || queue_evts.len() != QUEUE_SIZES.len() { return; } |