ソースを参照

Make alloc optional.

Andrew Walbran 2 年 前
コミット
2298da2893
3 ファイル変更8 行追加1 行削除
  1. 4 0
      Cargo.toml
  2. 1 1
      examples/aarch64/Cargo.toml
  3. 3 0
      src/lib.rs

+ 4 - 0
Cargo.toml

@@ -17,3 +17,7 @@ categories = ["hardware-support", "no-std"]
 [dependencies]
 log = "0.4"
 bitflags = "1.3"
+
+[features]
+default = ["alloc"]
+alloc = []

+ 1 - 1
examples/aarch64/Cargo.toml

@@ -8,7 +8,7 @@ edition = "2021"
 log = "0.4.17"
 psci = "0.1.1"
 spin = "0.9.4"
-virtio-drivers = { path = "../.." }
+virtio-drivers = { path = "../..", default-features = false }
 
 [build-dependencies]
 cc = "1.0.73"

+ 3 - 0
src/lib.rs

@@ -5,12 +5,14 @@
 #![allow(clippy::identity_op)]
 #![allow(dead_code)]
 
+#[cfg(feature = "alloc")]
 extern crate alloc;
 
 mod blk;
 mod console;
 mod gpu;
 mod hal;
+#[cfg(feature = "alloc")]
 mod input;
 mod net;
 mod queue;
@@ -21,6 +23,7 @@ pub use self::blk::{BlkResp, RespStatus, VirtIOBlk};
 pub use self::console::VirtIOConsole;
 pub use self::gpu::VirtIOGpu;
 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;