[package]
name = "rustsbi"
description = "Minimal RISC-V's SBI implementation library in Rust"
version = "0.4.0-alpha.1"
authors = [
    "Luo Jia <me@luojia.cc>",
    "Campbell He <hkp18@mails.tsinghua.edu.cn>",
    "Yifan Wu <shinbokuow@163.com>",
]
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.6"
riscv = { version = "0.10.1", optional = true }

[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 = ["dep:riscv"]

[package.metadata.docs.rs]
default-target = "riscv64imac-unknown-none-elf"
targets = [
    "riscv32imac-unknown-none-elf", "riscv64imac-unknown-none-elf",
]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html