Jelajahi Sumber

Make dependencies explicit.

Andrew Walbran 2 tahun lalu
induk
melakukan
13ed3419c7
8 mengubah file dengan 38 tambahan dan 26 penghapusan
  1. 4 3
      src/blk.rs
  2. 8 4
      src/console.rs
  3. 4 3
      src/gpu.rs
  4. 1 1
      src/hal.rs
  5. 5 3
      src/input.rs
  6. 0 2
      src/lib.rs
  7. 6 5
      src/net.rs
  8. 10 5
      src/queue.rs

+ 4 - 3
src/blk.rs

@@ -1,9 +1,10 @@
-use super::*;
+use crate::hal::Hal;
 use crate::queue::VirtQueue;
 use crate::transport::Transport;
 use crate::volatile::{volread, Volatile};
-use bitflags::*;
-use log::*;
+use crate::{Error, Result};
+use bitflags::bitflags;
+use log::info;
 use zerocopy::{AsBytes, FromBytes};
 
 const QUEUE: u16 = 0;

+ 8 - 4
src/console.rs

@@ -1,10 +1,11 @@
-use super::*;
+use crate::hal::{Dma, Hal};
 use crate::queue::VirtQueue;
 use crate::transport::Transport;
 use crate::volatile::{volread, ReadOnly, WriteOnly};
-use bitflags::*;
+use crate::Result;
+use bitflags::bitflags;
 use core::ptr::NonNull;
-use log::*;
+use log::info;
 
 const QUEUE_RECEIVEQ_PORT_0: u16 = 0;
 const QUEUE_TRANSMITQ_PORT_0: u16 = 1;
@@ -213,7 +214,10 @@ mod tests {
     use super::*;
     use crate::{
         hal::fake::FakeHal,
-        transport::fake::{FakeTransport, QueueStatus, State},
+        transport::{
+            fake::{FakeTransport, QueueStatus, State},
+            DeviceStatus, DeviceType,
+        },
     };
     use alloc::{sync::Arc, vec};
     use core::ptr::NonNull;

+ 4 - 3
src/gpu.rs

@@ -1,9 +1,10 @@
-use super::*;
+use crate::hal::{Dma, Hal};
 use crate::queue::VirtQueue;
 use crate::transport::Transport;
 use crate::volatile::{volread, ReadOnly, Volatile, WriteOnly};
-use bitflags::*;
-use log::*;
+use crate::{pages, Error, Result, PAGE_SIZE};
+use bitflags::bitflags;
+use log::info;
 
 /// A virtio based graphics adapter.
 ///

+ 1 - 1
src/hal.rs

@@ -1,7 +1,7 @@
 #[cfg(test)]
 pub mod fake;
 
-use super::*;
+use crate::{Error, Result, PAGE_SIZE};
 use core::marker::PhantomData;
 
 /// A virtual memory address in the address space of the program.

+ 5 - 3
src/input.rs

@@ -1,10 +1,12 @@
-use super::*;
+use crate::hal::Hal;
+use crate::queue::VirtQueue;
 use crate::transport::Transport;
 use crate::volatile::{volread, volwrite, ReadOnly, WriteOnly};
+use crate::Result;
 use alloc::boxed::Box;
-use bitflags::*;
+use bitflags::bitflags;
 use core::ptr::NonNull;
-use log::*;
+use log::info;
 use zerocopy::{AsBytes, FromBytes};
 
 /// Virtual human interface devices such as keyboards, mice and tablets.

+ 0 - 2
src/lib.rs

@@ -26,11 +26,9 @@ pub use self::hal::{Hal, PhysAddr, VirtAddr};
 #[cfg(feature = "alloc")]
 pub use self::input::{InputConfigSelect, InputEvent, VirtIOInput};
 pub use self::net::VirtIONet;
-use self::queue::VirtQueue;
 pub use self::transport::mmio::{MmioError, MmioTransport, MmioVersion, VirtIOHeader};
 pub use self::transport::pci;
 pub use self::transport::{DeviceStatus, DeviceType, Transport};
-use hal::*;
 
 /// The page size in bytes supported by the library (4 KiB).
 pub const PAGE_SIZE: usize = 0x1000;

+ 6 - 5
src/net.rs

@@ -1,10 +1,11 @@
-use core::mem::{size_of, MaybeUninit};
-
-use super::*;
+use crate::hal::Hal;
+use crate::queue::VirtQueue;
 use crate::transport::Transport;
 use crate::volatile::{volread, ReadOnly};
-use bitflags::*;
-use log::*;
+use crate::Result;
+use bitflags::bitflags;
+use core::mem::{size_of, MaybeUninit};
+use log::{debug, info};
 use zerocopy::{AsBytes, FromBytes};
 
 /// The virtio network device is a virtual ethernet card.

+ 10 - 5
src/queue.rs

@@ -1,14 +1,16 @@
 #[cfg(test)]
+use crate::hal::VirtAddr;
+use crate::hal::{Dma, Hal};
+use crate::transport::Transport;
+use crate::{align_up, Error, Result, PAGE_SIZE};
+use bitflags::bitflags;
+#[cfg(test)]
 use core::cmp::min;
 use core::hint::spin_loop;
 use core::mem::size_of;
 use core::ptr::{self, addr_of_mut, NonNull};
 use core::sync::atomic::{fence, Ordering};
 
-use super::*;
-use crate::transport::Transport;
-use bitflags::*;
-
 /// The mechanism for bulk data transport on virtio devices.
 ///
 /// Each device can have zero or more virtqueues.
@@ -402,7 +404,10 @@ pub(crate) fn fake_write_to_queue(
 #[cfg(test)]
 mod tests {
     use super::*;
-    use crate::{hal::fake::FakeHal, transport::mmio::MODERN_VERSION};
+    use crate::{
+        hal::fake::FakeHal,
+        transport::mmio::{MmioTransport, VirtIOHeader, MODERN_VERSION},
+    };
     use core::ptr::NonNull;
 
     #[test]