82 lines
2.8 KiB
TOML
82 lines
2.8 KiB
TOML
[package]
|
|
name = "ostd"
|
|
description = "Rust OS framework that facilitates the development of and innovation in OS kernels"
|
|
documentation = "https://asterinas.github.io/api-docs"
|
|
readme = "README.md"
|
|
version.workspace = true
|
|
repository.workspace = true
|
|
license.workspace = true
|
|
edition.workspace = true
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
# Settings for publishing docs in docs.rs
|
|
[package.metadata.docs.rs]
|
|
default-target = "x86_64-unknown-none"
|
|
targets = ["x86_64-unknown-none"]
|
|
|
|
[dependencies]
|
|
align_ext.workspace = true
|
|
bit_field.workspace = true
|
|
bitflags.workspace = true
|
|
bitvec.workspace = true
|
|
cfg-if.workspace = true
|
|
gimli.workspace = true
|
|
id-alloc.workspace = true
|
|
inherit-methods-macro.workspace = true
|
|
int-to-c-enum.workspace = true
|
|
intrusive-collections.workspace = true
|
|
linux-boot-params.workspace = true
|
|
log.workspace = true
|
|
minicov = { workspace = true, optional = true }
|
|
num-traits.workspace = true
|
|
ostd-macros.workspace = true
|
|
ostd-test.workspace = true
|
|
ostd-pod.workspace = true
|
|
spin.workspace = true
|
|
smallvec.workspace = true
|
|
volatile.workspace = true
|
|
zerocopy.workspace = true
|
|
|
|
# The targets are chosen to prevent the generated machine code from using any
|
|
# vector or floating-point registers.
|
|
#
|
|
# - `x86_64-unknown-none` satisfies this property, as explained by [the
|
|
# official documentation](https://doc.rust-lang.org/rustc/platform-support/x86_64-unknown-none.html).
|
|
# - `riscv64imac-unknown-none-elf` denotes a RISC-V ISA with only basic
|
|
# extensions (`imac`) and no floating-point-related extensions.
|
|
# - `loongarch64-unknown-none-softfloat` is rather self-explaining.
|
|
|
|
[target.x86_64-unknown-none.dependencies]
|
|
x86_64 = "0.14.13"
|
|
x86 = "0.52.0"
|
|
acpi = "=5.2.0" # This upstream often bump minor versions with API changes
|
|
multiboot2 = "0.24.0"
|
|
iced-x86 = { version = "1.21.0", default-features = false, features = [
|
|
"no_std",
|
|
"decoder",
|
|
"gas",
|
|
], optional = true }
|
|
tdx-guest = { version = "0.2.4", optional = true }
|
|
unwinding = { version = "=0.2.8", default-features = false, features = ["fde-gnu-eh-frame-hdr", "hide-trace", "panic", "personality", "unwinder"] }
|
|
|
|
[target.riscv64imac-unknown-none-elf.dependencies]
|
|
riscv = { version = "0.15.0", features = ["s-mode"] }
|
|
sbi-rt = "0.0.3"
|
|
fdt = { version = "0.1.5", features = ["pretty-printing"] }
|
|
unwinding = { version = "=0.2.8", default-features = false, features = ["fde-static", "hide-trace", "panic", "personality", "unwinder"] }
|
|
|
|
[target.loongarch64-unknown-none-softfloat.dependencies]
|
|
loongArch64 = "0.2.5"
|
|
fdt = { version = "0.1.5", features = ["pretty-printing"] }
|
|
|
|
[features]
|
|
default = ["cvm_guest"]
|
|
# The guest OS support for Confidential VMs (CVMs), e.g., Intel TDX
|
|
cvm_guest = ["dep:tdx-guest", "dep:iced-x86"]
|
|
coverage = ["minicov"]
|
|
riscv_sv39_mode = []
|
|
|
|
[lints]
|
|
workspace = true
|