Cargo.toml 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. [package]
  2. name = "rustsbi"
  3. description = "Minimal RISC-V's SBI implementation library in Rust"
  4. version = "0.4.0"
  5. authors = [
  6. "Luo Jia <me@luojia.cc>",
  7. "Campbell He <hkp18@mails.tsinghua.edu.cn>",
  8. "Yifan Wu <shinbokuow@163.com>",
  9. ]
  10. documentation = "https://docs.rs/rustsbi"
  11. edition.workspace = true
  12. license.workspace = true
  13. repository.workspace = true
  14. readme = "../../README.md"
  15. keywords = ["riscv", "sbi", "rustsbi"]
  16. categories = ["os", "embedded", "hardware-support", "no-std"]
  17. [dependencies]
  18. sbi-spec = { version = "0.0.8", path = "../sbi-spec" }
  19. riscv = { version = "0.12.0", optional = true, default-features = false }
  20. sbi-rt = { version = "0.0.3", features = ["integer-impls"], optional = true, path = "../sbi-rt" }
  21. rustsbi-macros = { version = "0.0.2", path = "../macros" }
  22. [features]
  23. default = []
  24. # Run RustSBI on machine mode.
  25. # This feature enables to use RISC-V primitives on current machine mode environment
  26. # If you are developing a cross-architecture virtual machine, consider disabling this feature
  27. # to customize environment variables for RISC-V architecture like mvendorid, mimpid, etc.
  28. machine = ["rustsbi-macros/machine", "dep:riscv"]
  29. # Enables the struct `Forward`.
  30. # Struct `Forward` uses the current SBI environment to implement the RustSBI environment.
  31. # This feature is only usable when current software runs on another SBI environment,
  32. # e.g., hypervisors for RISC-V architecture.
  33. forward = ["dep:sbi-rt"]
  34. [package.metadata.docs.rs]
  35. default-target = "riscv64imac-unknown-none-elf"
  36. targets = [
  37. "riscv32imac-unknown-none-elf", "riscv64imac-unknown-none-elf",
  38. ]
  39. # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html