Kaynağa Gözat

Work with old version of Rust used by example.

Andrew Walbran 2 yıl önce
ebeveyn
işleme
40e8533db4
5 değiştirilmiş dosya ile 10 ekleme ve 5 silme
  1. 2 1
      src/blk.rs
  2. 2 1
      src/console.rs
  3. 2 1
      src/gpu.rs
  4. 2 1
      src/input.rs
  5. 2 1
      src/net.rs

+ 2 - 1
src/blk.rs

@@ -28,7 +28,8 @@ impl<'a, H: Hal, T: Transport> VirtIOBlk<'a, H, T> {
         });
 
         // read configuration space
-        let config = unsafe { transport.config_space().cast::<BlkConfig>().as_ref() };
+        let config_space = transport.config_space().cast::<BlkConfig>();
+        let config = unsafe { config_space.as_ref() };
         info!("config: {:?}", config);
         info!(
             "found a block device of size {}KB",

+ 2 - 1
src/console.rs

@@ -31,7 +31,8 @@ impl<'a, H: Hal, T: Transport> VirtIOConsole<'a, H, T> {
             let supported_features = Features::empty();
             (features & supported_features).bits()
         });
-        let config = unsafe { transport.config_space().cast::<Config>().as_ref() };
+        let config_space = transport.config_space().cast::<Config>();
+        let config = unsafe { config_space.as_ref() };
         info!("Config: {:?}", config);
         let receiveq = VirtQueue::new(transport, QUEUE_RECEIVEQ_PORT_0, QUEUE_SIZE)?;
         let transmitq = VirtQueue::new(transport, QUEUE_TRANSMITQ_PORT_0, QUEUE_SIZE)?;

+ 2 - 1
src/gpu.rs

@@ -43,7 +43,8 @@ impl<'a, H: Hal, T: Transport> VirtIOGpu<'a, H, T> {
         });
 
         // read configuration space
-        let config = unsafe { transport.config_space().cast::<Config>().as_ref() };
+        let config_space = transport.config_space().cast::<Config>();
+        let config = unsafe { config_space.as_ref() };
         info!("Config: {:?}", config);
 
         let control_queue = VirtQueue::new(transport, QUEUE_TRANSMIT, 2)?;

+ 2 - 1
src/input.rs

@@ -71,7 +71,8 @@ impl<'a, H: Hal, T: Transport> VirtIOInput<'a, H, T> {
         subsel: u8,
         out: &mut [u8],
     ) -> u8 {
-        let config = unsafe { self.transport.config_space().cast::<Config>().as_mut() };
+        let mut config_space = self.transport.config_space().cast::<Config>();
+        let config = unsafe { config_space.as_mut() };
         config.select.write(select as u8);
         config.subsel.write(subsel);
         let size = config.size.read();

+ 2 - 1
src/net.rs

@@ -31,7 +31,8 @@ impl<'a, H: Hal, T: Transport> VirtIONet<'a, H, T> {
             (features & supported_features).bits()
         });
         // read configuration space
-        let config = unsafe { transport.config_space().cast::<Config>().as_ref() };
+        let config_space = transport.config_space().cast::<Config>();
+        let config = unsafe { config_space.as_ref() };
         let mac = config.mac.read();
         debug!("Got MAC={:?}, status={:?}", mac, config.status.read());