[package] name = "rustsbi" description = "Minimal RISC-V's SBI implementation library in Rust" version = "0.4.0-alpha.1" authors = [ "Luo Jia ", "Campbell He ", "Yifan Wu ", ] repository = "https://github.com/rustsbi/rustsbi" documentation = "https://docs.rs/rustsbi" license = "MulanPSL-2.0 OR MIT" readme = "README.md" keywords = ["riscv", "sbi", "rustsbi"] categories = ["os", "embedded", "hardware-support", "no-std"] edition = "2021" exclude = ["/.github"] [dependencies] sbi-spec = "0.0.7-alpha.3" riscv = { version = "0.10.1", optional = true } # TODO change to version number once sbi-rt releases a new version sbi-rt = { git = "https://github.com/rustsbi/sbi-rt", features = ["integer-impls"], optional = true } rustsbi-macros = { version = "0.4.0-alpha.1", path = "macros" } static_assertions = "1.1.0" [features] default = [] # Run RustSBI on machine mode. # This feature enables to use RISC-V primitives on current machine mode environment # If you are developing a cross-architecture virtual machine, consider disabling this feature # to customize environment variables for RISC-V architecture like mvendorid, mimpid, etc. machine = ["rustsbi-macros/machine", "dep:riscv"] # Enables the struct `Forward`. # Struct `Forward` uses current SBI environment to implement the RustSBI environment. # This feature is only usable when current software runs on another SBI environment, # e.g. hypervisors for RISC-V architecture. forward = ["dep:sbi-rt"] [package.metadata.docs.rs] default-target = "riscv64imac-unknown-none-elf" targets = [ "riscv32imac-unknown-none-elf", "riscv64imac-unknown-none-elf", ] [workspace] members = ["macros"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html