diff --git a/Cargo.lock b/Cargo.lock index 960968bfc..83137d0c6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -172,7 +172,7 @@ dependencies = [ "component", "log", "ostd", - "owo-colors 3.5.0", + "owo-colors", ] [[package]] @@ -299,7 +299,7 @@ version = "0.1.0" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.101", ] [[package]] @@ -330,7 +330,7 @@ name = "aster-time" version = "0.1.0" dependencies = [ "aster-util", - "bitflags 2.9.1", + "bitflags 1.3.2", "chrono", "component", "log", @@ -779,14 +779,14 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", "libc", "r-efi", - "wasi", + "wasip2", ] [[package]] @@ -1114,7 +1114,7 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" name = "logo-ascii-art" version = "0.1.0" dependencies = [ - "owo-colors 4.2.2", + "owo-colors", ] [[package]] @@ -1283,7 +1283,7 @@ name = "osdk-test-kernel" version = "0.17.0" dependencies = [ "ostd", - "owo-colors 4.2.2", + "owo-colors", ] [[package]] @@ -1355,12 +1355,6 @@ dependencies = [ name = "ostd-test" version = "0.17.0" -[[package]] -name = "owo-colors" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" - [[package]] name = "owo-colors" version = "4.2.2" @@ -1848,7 +1842,7 @@ dependencies = [ "itertools", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.101", "typeflags-util", ] @@ -1980,15 +1974,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "wasi" -version = "0.14.7+wasi-0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "883478de20367e224c0090af9cf5f9fa85bed63a95c1abf3afc5c083ebc06e8c" -dependencies = [ - "wasip2", -] - [[package]] name = "wasip2" version = "1.0.1+wasi-0.2.4" diff --git a/Cargo.toml b/Cargo.toml index faf680bb8..ba40b27e0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -78,6 +78,118 @@ repository = "https://github.com/asterinas/asterinas" license = "MPL-2.0" edition = "2024" +[workspace.dependencies] +ostd = { version = "0.17.0", path = "ostd" } + +# Crates under ostd/libs +align_ext = { path = "ostd/libs/align_ext", version = "0.1.0" } +id-alloc = { path = "ostd/libs/id-alloc", version = "0.1.0" } +linux-boot-params = { version = "0.17.0", path = "ostd/libs/linux-bzimage/boot-params" } +ostd-macros = { version = "0.17.0", path = "ostd/libs/ostd-macros" } +ostd-test = { version = "0.17.0", path = "ostd/libs/ostd-test" } + +# Crates under kernel/comps +aster-block = { path = "kernel/comps/block" } +aster-cmdline = { path = "kernel/comps/cmdline" } +aster-console = { path = "kernel/comps/console" } +aster-framebuffer = { path = "kernel/comps/framebuffer" } +aster-i8042 = { path = "kernel/comps/i8042" } +aster-input = { path = "kernel/comps/input" } +aster-logger = { path = "kernel/comps/logger" } +aster-mlsdisk = { path = "kernel/comps/mlsdisk" } +aster-network = { path = "kernel/comps/network" } +aster-pci = { path = "kernel/comps/pci" } +aster-softirq = { path = "kernel/comps/softirq" } +aster-systree = { path = "kernel/comps/systree" } +aster-time = { path = "kernel/comps/time" } +aster-virtio = { path = "kernel/comps/virtio" } + +# Crates under kernel/libs +aster-bigtcp = { path = "kernel/libs/aster-bigtcp" } +aster-rights = { path = "kernel/libs/aster-rights" } +aster-rights-proc = { path = "kernel/libs/aster-rights-proc" } +aster-util = { path = "kernel/libs/aster-util" } +atomic-integer-wrapper = { path = "kernel/libs/atomic-integer-wrapper" } +cpio-decoder = { path = "kernel/libs/cpio-decoder" } +device-id = { path = "kernel/libs/device-id" } +int-to-c-enum = { path = "kernel/libs/int-to-c-enum", version = "0.1.0" } +jhash = { path = "kernel/libs/jhash" } +keyable-arc = { path = "kernel/libs/keyable-arc" } +logo-ascii-art = { path = "kernel/libs/logo-ascii-art" } +typeflags = { path = "kernel/libs/typeflags" } +typeflags-util = { path = "kernel/libs/typeflags-util" } +xarray = { path = "kernel/libs/xarray" } + +# Crates under kernel/libs/comp-sys +component = { path = "kernel/libs/comp-sys/component" } +controlled = { path = "kernel/libs/comp-sys/controlled" } + +# Crates under osdk/deps +osdk-frame-allocator = { path = "osdk/deps/frame-allocator" } +osdk-heap-allocator = { path = "osdk/deps/heap-allocator" } + +# External dependencies only for unsafe crates (i.e., crates under ostd directory) +bit_field = "0.10.1" +bytemuck = { version = "1.17.0", features = ["derive"] } +gimli = { version = "0.28", default-features = false, features = ["read-core"] } +minicov = "0.3" +num-traits = { version = "0.2", default-features = false } +ostd-pod = { git = "https://github.com/asterinas/ostd-pod", rev = "c4644be", version = "0.1.1" } +serde = { version = "1.0.192", default-features = false, features = ["alloc", "derive"] } +smallvec = "1.13.2" +uart_16550 = "0.3.0" +volatile = "0.6.1" + +# External dependencies only for safe crates (i.e., crates under kernel or osdk/deps directories) +# +# Enable `force-soft` feature to disable `AES-NI` and `CLMUL` intrinsics, ensuring that the implementation +# relies solely on software, and in the software implementation, unsafe code is rarely used. +# FIXME: to utilize `AES-NI` and `CLMUL` intrinsics, some specific flags must be added to `RUSTFLAGS`, +# i.e. `-Ctarget-cpu=sandybridge -Ctarget-feature=+aes,+sse2,+sse4.1,+ssse3`. +# This suggests that `Asterinas` should support saving and restoring the `FPU` state within the kernel context, +# a capability it currently lacks. +aes-gcm = { version = "0.9.4", features = ["force-soft"] } +bittle = "0.5.6" +ctr = "0.8.0" +font8x8 = { version = "0.2.5", default-features = false, features = [ "unicode" ] } +getset = "0.1.2" +hashbrown = { version = "0.14.3", features = ["serde"] } +itertools = "0.10.5" +lending-iterator = "0.1.7" +lru = "0.12.3" +owo-colors = "4.2.2" +paste = "1.0.15" +postcard = "1.0.6" +smoltcp = { git = "https://github.com/asterinas/smoltcp", tag = "r_2024-11-08_f07e5b5", default-features = false, features = [ + "alloc", + "log", + "medium-ethernet", + "medium-ip", + "proto-ipv4", + "socket-udp", + "socket-tcp", +] } +takeable = "0.2.2" +time = { version = "0.3", default-features = false, features = ["alloc"] } + +# External dependencies for both safe and unsafe crates +bitflags = "1.3" +bitvec = { version = "1.0.1", default-features = false, features = ["alloc"] } +cfg-if = "1.0" +core2 = { version = "0.4.0", default-features = false, features = ["alloc", "nightly"] } +inherit-methods-macro = { git = "https://github.com/asterinas/inherit-methods-macro", rev = "98f7e3e", version = "0.1.0" } +intrusive-collections = { version = "0.9.6", features = ["nightly"] } +libflate = { version = "2.1.0", default-features = false } +log = "0.4" +rand = { version = "0.9.2", default-features = false } +spin = "0.9.4" +xmas-elf = "0.10.0" + +# Proc-macro dependencies +proc-macro2 = { version = "1.0.95", features = ["span-locations"] } +quote = "1.0.35" +syn = { version = "2.0.77", features = ["full", "parsing", "fold"] } + # Cargo only looks at the profile settings # in the Cargo.toml manifest at the root of the workspace diff --git a/kernel/Cargo.toml b/kernel/Cargo.toml index 421001a97..3af5b38e1 100644 --- a/kernel/Cargo.toml +++ b/kernel/Cargo.toml @@ -6,65 +6,61 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -align_ext = { path = "../ostd/libs/align_ext" } -aster-input = { path = "comps/input" } -aster-block = { path = "comps/block" } -aster-network = { path = "comps/network" } -aster-cmdline = { path = "comps/cmdline" } -aster-console = { path = "comps/console" } -aster-framebuffer = { path = "comps/framebuffer" } -aster-softirq = { path = "comps/softirq" } -aster-logger = { path = "comps/logger" } -aster-mlsdisk = { path = "comps/mlsdisk" } -aster-time = { path = "comps/time" } -aster-virtio = { path = "comps/virtio" } -aster-rights = { path = "libs/aster-rights" } -aster-systree = { path = "comps/systree" } -aster-i8042 = { path = "comps/i8042" } -component = { path = "libs/comp-sys/component" } -controlled = { path = "libs/comp-sys/controlled" } -logo-ascii-art = { path = "libs/logo-ascii-art" } -osdk-frame-allocator = { path = "../osdk/deps/frame-allocator" } -osdk-heap-allocator = { path = "../osdk/deps/heap-allocator" } -ostd = { path = "../ostd" } -typeflags = { path = "libs/typeflags" } -typeflags-util = { path = "libs/typeflags-util" } -aster-rights-proc = { path = "libs/aster-rights-proc" } -aster-util = { path = "libs/aster-util" } -aster-bigtcp = { path = "libs/aster-bigtcp" } -atomic-integer-wrapper = { path = "libs/atomic-integer-wrapper" } -device-id = { path = "libs/device-id" } -id-alloc = { path = "../ostd/libs/id-alloc" } -int-to-c-enum = { path = "libs/int-to-c-enum" } -jhash = { path = "libs/jhash" } -cpio-decoder = { path = "libs/cpio-decoder" } -xarray = { path = "libs/xarray" } -intrusive-collections = "0.9.5" -paste = "1.0" -time = { version = "0.3", default-features = false, features = ["alloc"] } - -# parse elf file -xmas-elf = "0.10.0" -# data-structures -bitflags = "1.3" -keyable-arc = { path = "libs/keyable-arc" } -# unzip initramfs -libflate = { version = "2", default-features = false } -core2 = { version = "0.4", default-features = false, features = ["alloc"] } -lending-iterator = "0.1.7" -spin = "0.9.4" -lru = "0.12.3" -log = "0.4" -bitvec = { version = "1.0", default-features = false, features = ["alloc"] } -hashbrown = "0.14" -rand = { version = "0.9.2", default-features = false, features = [ +align_ext.workspace = true +aster-bigtcp.workspace = true +aster-block.workspace = true +aster-cmdline.workspace = true +aster-console.workspace = true +aster-framebuffer.workspace = true +aster-i8042.workspace = true +aster-input.workspace = true +aster-logger.workspace = true +aster-mlsdisk.workspace = true +aster-network.workspace = true +aster-rights.workspace = true +aster-rights-proc.workspace = true +aster-softirq.workspace = true +aster-systree.workspace = true +aster-time.workspace = true +aster-util.workspace = true +aster-virtio.workspace = true +atomic-integer-wrapper.workspace = true +bitflags.workspace = true +bitvec.workspace = true +cfg-if.workspace = true +component.workspace = true +controlled.workspace = true +core2.workspace = true +cpio-decoder.workspace = true +device-id.workspace = true +getset.workspace = true +hashbrown.workspace = true +id-alloc.workspace = true +inherit-methods-macro.workspace = true +intrusive-collections.workspace = true +int-to-c-enum.workspace = true +jhash.workspace = true +keyable-arc.workspace = true +lending-iterator.workspace = true +libflate.workspace = true +log.workspace = true +logo-ascii-art.workspace = true +lru.workspace = true +osdk-frame-allocator.workspace = true +osdk-heap-allocator.workspace = true +ostd.workspace = true +paste.workspace = true +rand = { workspace = true, features = [ "small_rng", "std_rng", ] } -inherit-methods-macro = { git = "https://github.com/asterinas/inherit-methods-macro", rev = "98f7e3e" } -getset = "0.1.2" -takeable = "0.2.2" -cfg-if = "1.0" +spin.workspace = true +takeable.workspace = true +time.workspace = true +typeflags.workspace = true +typeflags-util.workspace = true +xarray.workspace = true +xmas-elf.workspace = true [target.x86_64-unknown-none.dependencies] tdx-guest = { version = "0.2.2", optional = true } @@ -77,8 +73,8 @@ loongArch64 = "0.2.5" [features] all = ["cvm_guest"] -cvm_guest = ["dep:tdx-guest", "ostd/cvm_guest", "aster-virtio/cvm_guest"] coverage = ["ostd/coverage"] +cvm_guest = ["dep:tdx-guest", "ostd/cvm_guest", "aster-virtio/cvm_guest"] # By default we use the Sv48 address translation mode. riscv_sv39_mode = ["ostd/riscv_sv39_mode"] diff --git a/kernel/comps/block/Cargo.toml b/kernel/comps/block/Cargo.toml index 796fe08c7..4d0efccc9 100644 --- a/kernel/comps/block/Cargo.toml +++ b/kernel/comps/block/Cargo.toml @@ -6,16 +6,16 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -spin = "0.9.4" -ostd = { path = "../../../ostd" } -align_ext = { path = "../../../ostd/libs/align_ext" } -id-alloc = { path = "../../../ostd/libs/id-alloc" } -int-to-c-enum = { path = "../../libs/int-to-c-enum" } -aster-util = { path = "../../libs/aster-util" } -component = { path = "../../libs/comp-sys/component" } -device-id = { path = "../../libs/device-id" } -log = "0.4" -bitvec = { version = "1.0.1", default-features = false, features = ["alloc"] } +align_ext.workspace = true +aster-util.workspace = true +bitvec.workspace = true +component.workspace = true +device-id.workspace = true +id-alloc.workspace = true +int-to-c-enum.workspace = true +log.workspace = true +ostd.workspace = true +spin.workspace = true [lints] workspace = true diff --git a/kernel/comps/cmdline/Cargo.toml b/kernel/comps/cmdline/Cargo.toml index a844a43b8..df0f3544c 100644 --- a/kernel/comps/cmdline/Cargo.toml +++ b/kernel/comps/cmdline/Cargo.toml @@ -6,10 +6,10 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -component = { path = "../../libs/comp-sys/component" } -ostd = { path = "../../../ostd" } -log = "0.4" -spin = "0.9.4" +component.workspace = true +log.workspace = true +ostd.workspace = true +spin.workspace = true [lints] workspace = true diff --git a/kernel/comps/console/Cargo.toml b/kernel/comps/console/Cargo.toml index adfba638b..cd45a36f7 100644 --- a/kernel/comps/console/Cargo.toml +++ b/kernel/comps/console/Cargo.toml @@ -6,11 +6,11 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -ostd = { path = "../../../ostd" } -component = { path = "../../libs/comp-sys/component" } -spin = "0.9.4" -font8x8 = { version = "0.2.5", default-features = false, features = [ "unicode" ] } -int-to-c-enum = { path = "../../libs/int-to-c-enum" } +component.workspace = true +font8x8.workspace = true +int-to-c-enum.workspace = true +ostd.workspace = true +spin.workspace = true [lints] workspace = true diff --git a/kernel/comps/framebuffer/Cargo.toml b/kernel/comps/framebuffer/Cargo.toml index 7f44a49a9..c427ccd11 100644 --- a/kernel/comps/framebuffer/Cargo.toml +++ b/kernel/comps/framebuffer/Cargo.toml @@ -6,12 +6,12 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -ostd = { path = "../../../ostd" } -component = { path = "../../libs/comp-sys/component" } -aster-console = { path = "../console" } -aster-input = { path = "../input" } -log = "0.4" -spin = "0.9.4" +aster-console.workspace = true +aster-input.workspace = true +component.workspace = true +log.workspace = true +ostd.workspace = true +spin.workspace = true [lints] workspace = true diff --git a/kernel/comps/i8042/Cargo.toml b/kernel/comps/i8042/Cargo.toml index bc0a44257..b36038f4b 100644 --- a/kernel/comps/i8042/Cargo.toml +++ b/kernel/comps/i8042/Cargo.toml @@ -6,13 +6,13 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -component = { path = "../../libs/comp-sys/component" } -ostd = { path = "../../../ostd" } +aster-cmdline.workspace = true +aster-input.workspace = true bitflags = "2.5" -log = "0.4" -spin = "0.9.4" -aster-input = { path = "../input" } -aster-cmdline = { path = "../cmdline" } +component.workspace = true +ostd.workspace = true +log.workspace = true +spin.workspace = true [lints] workspace = true diff --git a/kernel/comps/input/Cargo.toml b/kernel/comps/input/Cargo.toml index 21f1d50b5..e9bb246f6 100644 --- a/kernel/comps/input/Cargo.toml +++ b/kernel/comps/input/Cargo.toml @@ -6,12 +6,12 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -spin = "0.9.4" -log = "0.4" -ostd = { path = "../../../ostd" } -component = { path = "../../libs/comp-sys/component" } -bitvec = { version = "1.0", default-features = false, features = ["alloc"] } -bitflags = "1.3" +component.workspace = true +bitflags.workspace = true +bitvec.workspace = true +log.workspace = true +ostd.workspace = true +spin.workspace = true [lints] workspace = true diff --git a/kernel/comps/logger/Cargo.toml b/kernel/comps/logger/Cargo.toml index 5979ff0fa..13bd28854 100644 --- a/kernel/comps/logger/Cargo.toml +++ b/kernel/comps/logger/Cargo.toml @@ -6,11 +6,11 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -component = { path = "../../libs/comp-sys/component" } -aster-console = { path = "../console" } -log = "0.4" -ostd = { path = "../../../ostd" } -owo-colors = { version = "3", optional = true } +aster-console.workspace = true +component.workspace = true +log.workspace = true +ostd.workspace = true +owo-colors = { workspace = true, optional = true } [features] default = ["log_color"] diff --git a/kernel/comps/mlsdisk/Cargo.toml b/kernel/comps/mlsdisk/Cargo.toml index cf20b2abf..65c9ec4f4 100644 --- a/kernel/comps/mlsdisk/Cargo.toml +++ b/kernel/comps/mlsdisk/Cargo.toml @@ -6,27 +6,21 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -inherit-methods-macro = {git = "https://github.com/asterinas/inherit-methods-macro", rev = "98f7e3e"} -ostd-pod = { git = "https://github.com/asterinas/ostd-pod", rev = "c4644be", version = "0.1.1" } -component = { path = "../../libs/comp-sys/component" } -aster-block = { path = "../block" } -device-id = { path = "../../libs/device-id" } -ostd = { path = "../../../ostd" } -# Enable `force-soft` feature to disable `AES-NI` and `CLMUL` intrinsics, ensuring that the implementation -# relies solely on software, and in the software implementation, unsafe code is rarely used. -# FIXME: to utilize `AES-NI` and `CLMUL` intrinsics, some specific flags must be added to `RUSTFLAGS`, -# i.e. `-Ctarget-cpu=sandybridge -Ctarget-feature=+aes,+sse2,+sse4.1,+ssse3`. -# This suggests that `Asterinas` should support saving and restoring the `FPU` state within the kernel context, -# a capability it currently lacks. -aes-gcm = { version = "0.9.4", features = ["force-soft"] } -bittle = "0.5.6" -ctr = "0.8.0" -hashbrown = { version = "0.14.3", features = ["serde"] } -lending-iterator = "0.1.7" -log = "0.4" -lru = "0.12.3" -postcard = "1.0.6" -serde = { version = "1.0.192", default-features = false, features = ["alloc", "derive"] } +aes-gcm.workspace = true +aster-block.workspace = true +bittle.workspace = true +component.workspace = true +ctr.workspace = true +device-id.workspace = true +hashbrown.workspace = true +inherit-methods-macro.workspace = true +lending-iterator.workspace = true +lru.workspace = true +log.workspace = true +ostd.workspace = true +ostd-pod.workspace = true +postcard.workspace = true +serde.workspace = true [lints] workspace = true diff --git a/kernel/comps/network/Cargo.toml b/kernel/comps/network/Cargo.toml index 5c0fb3cba..e3482ab06 100644 --- a/kernel/comps/network/Cargo.toml +++ b/kernel/comps/network/Cargo.toml @@ -6,12 +6,12 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -aster-bigtcp = { path = "../../libs/aster-bigtcp" } -aster-softirq = { path = "../softirq" } -bitvec = { version = "1.0.1", default-features = false, features = ["alloc"] } -component = { path = "../../libs/comp-sys/component" } -ostd = { path = "../../../ostd" } -spin = "0.9.4" +aster-bigtcp.workspace = true +aster-softirq.workspace = true +bitvec.workspace = true +component.workspace = true +ostd.workspace = true +spin.workspace = true [lints] workspace = true diff --git a/kernel/comps/pci/Cargo.toml b/kernel/comps/pci/Cargo.toml index b13ef4429..92e973c23 100644 --- a/kernel/comps/pci/Cargo.toml +++ b/kernel/comps/pci/Cargo.toml @@ -6,13 +6,13 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -ostd = { path = "../../../ostd" } -component = { path = "../../libs/comp-sys/component" } -align_ext = { path = "../../../ostd/libs/align_ext" } -log = "0.4" -spin = "0.9.4" -cfg-if = "1.0" -bitflags = "1.3" +align_ext.workspace = true +bitflags.workspace = true +cfg-if.workspace = true +component.workspace = true +log.workspace = true +ostd.workspace = true +spin.workspace = true [target.loongarch64-unknown-none-softfloat.dependencies] fdt = { version = "0.1.5", features = ["pretty-printing"] } diff --git a/kernel/comps/softirq/Cargo.toml b/kernel/comps/softirq/Cargo.toml index 86d29f48c..de96255e2 100644 --- a/kernel/comps/softirq/Cargo.toml +++ b/kernel/comps/softirq/Cargo.toml @@ -6,11 +6,11 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -aster-util = { path = "../../libs/aster-util" } -ostd = { path = "../../../ostd" } -component = { path = "../../libs/comp-sys/component" } -intrusive-collections = "0.9.5" -spin = "0.9.4" +aster-util.workspace = true +component.workspace = true +intrusive-collections.workspace = true +ostd.workspace = true +spin.workspace = true [lints] workspace = true diff --git a/kernel/comps/systree/Cargo.toml b/kernel/comps/systree/Cargo.toml index 8b87e446c..e04a5724a 100644 --- a/kernel/comps/systree/Cargo.toml +++ b/kernel/comps/systree/Cargo.toml @@ -6,12 +6,12 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +aster-util.workspace = true bitflags = "2.5" -ostd = { path = "../../../ostd" } -component = { path = "../../libs/comp-sys/component" } -aster-util = { path = "../../libs/aster-util" } -inherit-methods-macro = { git = "https://github.com/asterinas/inherit-methods-macro", rev = "98f7e3e"} -spin = "0.9" +component.workspace = true +inherit-methods-macro.workspace = true +ostd.workspace = true +spin.workspace = true [lints] workspace = true diff --git a/kernel/comps/time/Cargo.toml b/kernel/comps/time/Cargo.toml index 236764a86..19aee45a0 100644 --- a/kernel/comps/time/Cargo.toml +++ b/kernel/comps/time/Cargo.toml @@ -6,12 +6,12 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -ostd = { path = "../../../ostd" } -aster-util = { path = "../../libs/aster-util" } -component = { path = "../../libs/comp-sys/component" } -log = "0.4" -spin = "0.9.4" -bitflags = "2.5" +aster-util.workspace = true +bitflags.workspace = true +component.workspace = true +log.workspace = true +ostd.workspace = true +spin.workspace = true [target.riscv64imac-unknown-none-elf.dependencies] chrono = { version = "0.4.38", default-features = false } diff --git a/kernel/comps/virtio/Cargo.toml b/kernel/comps/virtio/Cargo.toml index 3f92c8ec2..cd367f02c 100644 --- a/kernel/comps/virtio/Cargo.toml +++ b/kernel/comps/virtio/Cargo.toml @@ -6,25 +6,25 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -bitflags = "1.3" -spin = "0.9.4" -aster-input = { path = "../input" } -aster-block = { path = "../block" } -aster-network = { path = "../network" } -aster-console = { path = "../console" } -aster-util = { path = "../../libs/aster-util" } -aster-rights = { path = "../../libs/aster-rights" } -aster-bigtcp = { path = "../../libs/aster-bigtcp" } -aster-pci = { path = "../pci" } -aster-softirq = { path = "../softirq"} -aster-systree = { path = "../systree" } -device-id = { path = "../../libs/device-id" } -id-alloc = { path = "../../../ostd/libs/id-alloc" } -typeflags-util = { path = "../../libs/typeflags-util" } -ostd = { path = "../../../ostd" } -component = { path = "../../libs/comp-sys/component" } -log = "0.4" -int-to-c-enum = { path = "../../libs/int-to-c-enum" } +aster-bigtcp.workspace = true +aster-block.workspace = true +aster-console.workspace = true +aster-input.workspace = true +aster-network.workspace = true +aster-pci.workspace = true +aster-rights.workspace = true +aster-softirq.workspace = true +aster-systree.workspace = true +aster-util.workspace = true +bitflags.workspace = true +component.workspace = true +int-to-c-enum.workspace = true +spin.workspace = true +device-id.workspace = true +id-alloc.workspace = true +log.workspace = true +ostd.workspace = true +typeflags-util.workspace = true [target.x86_64-unknown-none.dependencies] tdx-guest = { version = "0.2.2", optional = true } diff --git a/kernel/libs/aster-bigtcp/Cargo.toml b/kernel/libs/aster-bigtcp/Cargo.toml index 3bfded6bd..13a015821 100644 --- a/kernel/libs/aster-bigtcp/Cargo.toml +++ b/kernel/libs/aster-bigtcp/Cargo.toml @@ -6,22 +6,14 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -aster-softirq = { path = "../../comps/softirq" } -bitflags = "1.3" -int-to-c-enum = { path = "../int-to-c-enum" } -jhash = { path = "../jhash" } -ostd = { path = "../../../ostd" } -smoltcp = { git = "https://github.com/asterinas/smoltcp", tag = "r_2024-11-08_f07e5b5", default-features = false, features = [ - "alloc", - "log", - "medium-ethernet", - "medium-ip", - "proto-ipv4", - "socket-udp", - "socket-tcp", -] } -spin = "0.9.4" -takeable = "0.2.2" +aster-softirq.workspace = true +bitflags.workspace = true +int-to-c-enum.workspace = true +jhash.workspace = true +ostd.workspace = true +smoltcp.workspace = true +spin.workspace = true +takeable.workspace = true [lints] workspace = true diff --git a/kernel/libs/aster-rights-proc/Cargo.toml b/kernel/libs/aster-rights-proc/Cargo.toml index 0affdb23f..130184c95 100644 --- a/kernel/libs/aster-rights-proc/Cargo.toml +++ b/kernel/libs/aster-rights-proc/Cargo.toml @@ -9,9 +9,9 @@ edition.workspace = true proc-macro = true [dependencies] -proc-macro2 = "1.0" -quote = "1.0" -syn = {version = "1.0.90", features = ["full", "fold"]} +proc-macro2.workspace = true +quote.workspace = true +syn.workspace = true [lints] workspace = true diff --git a/kernel/libs/aster-rights-proc/src/require_attr.rs b/kernel/libs/aster-rights-proc/src/require_attr.rs index 5fb092203..aa66ff636 100644 --- a/kernel/libs/aster-rights-proc/src/require_attr.rs +++ b/kernel/libs/aster-rights-proc/src/require_attr.rs @@ -20,7 +20,7 @@ impl Parse for RequireAttr { fn parse(input: syn::parse::ParseStream) -> syn::Result { let type_set: Type = input.parse()?; let _: Token![>] = input.parse()?; - let required_types = input.parse_terminated(Ident::parse)?; + let required_types = Punctuated::parse_terminated_with(input, Ident::parse)?; Ok(RequireAttr { type_set, required_types, diff --git a/kernel/libs/aster-rights/Cargo.toml b/kernel/libs/aster-rights/Cargo.toml index dca11cd72..66d314c43 100644 --- a/kernel/libs/aster-rights/Cargo.toml +++ b/kernel/libs/aster-rights/Cargo.toml @@ -6,10 +6,10 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -typeflags = { path = "../typeflags" } -typeflags-util = { path = "../typeflags-util" } -bitflags = "1.3" -aster-rights-proc = { path = "../aster-rights-proc" } +aster-rights-proc.workspace = true +bitflags.workspace = true +typeflags.workspace = true +typeflags-util.workspace = true [lints] workspace = true diff --git a/kernel/libs/aster-util/Cargo.toml b/kernel/libs/aster-util/Cargo.toml index 9e73a5aac..6a9763fd0 100644 --- a/kernel/libs/aster-util/Cargo.toml +++ b/kernel/libs/aster-util/Cargo.toml @@ -6,12 +6,12 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -ostd = { path = "../../../ostd" } -typeflags-util = { path = "../typeflags-util" } -aster-rights-proc = { path = "../aster-rights-proc" } -aster-rights = { path = "../aster-rights" } -inherit-methods-macro = { git = "https://github.com/asterinas/inherit-methods-macro", rev = "98f7e3e" } -osdk-heap-allocator = { path = "../../../osdk/deps/heap-allocator" } +aster-rights.workspace = true +aster-rights-proc.workspace = true +inherit-methods-macro.workspace = true +osdk-heap-allocator.workspace = true +ostd.workspace = true +typeflags-util.workspace = true [lints] workspace = true diff --git a/kernel/libs/atomic-integer-wrapper/Cargo.toml b/kernel/libs/atomic-integer-wrapper/Cargo.toml index 8d7e1d570..4cdb0c44b 100644 --- a/kernel/libs/atomic-integer-wrapper/Cargo.toml +++ b/kernel/libs/atomic-integer-wrapper/Cargo.toml @@ -7,9 +7,9 @@ edition.workspace = true proc-macro = true [dependencies] -proc-macro2 = "1.0.86" -quote = "1.0.37" -syn = { version = "2.0.77", features = ["full"] } +proc-macro2.workspace = true +quote.workspace = true +syn.workspace = true [lints] workspace = true diff --git a/kernel/libs/cpio-decoder/Cargo.toml b/kernel/libs/cpio-decoder/Cargo.toml index faabc6766..cb5f67fd7 100644 --- a/kernel/libs/cpio-decoder/Cargo.toml +++ b/kernel/libs/cpio-decoder/Cargo.toml @@ -6,9 +6,9 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -int-to-c-enum = { path = "../../libs/int-to-c-enum" } -core2 = { version = "0.4", default-features = false, features = ["alloc"] } -lending-iterator = "0.1.7" +core2.workspace = true +int-to-c-enum.workspace = true +lending-iterator.workspace = true [lints] workspace = true diff --git a/kernel/libs/device-id/Cargo.toml b/kernel/libs/device-id/Cargo.toml index d2b15a922..5c09fa020 100644 --- a/kernel/libs/device-id/Cargo.toml +++ b/kernel/libs/device-id/Cargo.toml @@ -6,7 +6,7 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -aster-util = { path = "../aster-util" } +aster-util.workspace = true [lints] workspace = true diff --git a/kernel/libs/int-to-c-enum/derive/Cargo.toml b/kernel/libs/int-to-c-enum/derive/Cargo.toml index 49052e8e0..119c4a541 100644 --- a/kernel/libs/int-to-c-enum/derive/Cargo.toml +++ b/kernel/libs/int-to-c-enum/derive/Cargo.toml @@ -12,9 +12,9 @@ description = "int-to-c-enum's proc macros" proc-macro = true [dependencies] -proc-macro2 = "1.0" -quote = "1.0" -syn = { version = "2.0.15", features = ["parsing"] } +proc-macro2.workspace = true +quote.workspace = true +syn.workspace = true [lints] workspace = true diff --git a/kernel/libs/logo-ascii-art/Cargo.toml b/kernel/libs/logo-ascii-art/Cargo.toml index e3d673cf7..fd131ecbd 100644 --- a/kernel/libs/logo-ascii-art/Cargo.toml +++ b/kernel/libs/logo-ascii-art/Cargo.toml @@ -5,7 +5,7 @@ edition.workspace = true [dependencies] # This crate is only needed by `main.rs`, not `lib.rs` -owo-colors = { version = "4.2.2", optional = true } +owo-colors = { workspace = true, optional = true } [features] default = [] diff --git a/kernel/libs/typeflags/Cargo.toml b/kernel/libs/typeflags/Cargo.toml index c87075a76..24e749907 100644 --- a/kernel/libs/typeflags/Cargo.toml +++ b/kernel/libs/typeflags/Cargo.toml @@ -9,11 +9,11 @@ edition.workspace = true proc-macro = true [dependencies] -itertools = "0.10.5" -proc-macro2 = "1.0" -quote = "1.0" -syn = { version = "1.0.90" } -typeflags-util = { path = "../typeflags-util" } +itertools.workspace = true +proc-macro2.workspace = true +quote.workspace = true +syn.workspace = true +typeflags-util.workspace = true [lints] workspace = true diff --git a/kernel/libs/typeflags/src/type_flag.rs b/kernel/libs/typeflags/src/type_flag.rs index 89114559c..195e934e7 100644 --- a/kernel/libs/typeflags/src/type_flag.rs +++ b/kernel/libs/typeflags/src/type_flag.rs @@ -37,7 +37,7 @@ impl Parse for TypeFlagDef { // read content inside brace let content; let _ = braced!(content in input); - let items = content.parse_terminated(TypeFlagItem::parse)?; + let items = Punctuated::parse_terminated_with(&content, TypeFlagItem::parse)?; let res = TypeFlagDef { attributes, diff --git a/kernel/libs/xarray/Cargo.toml b/kernel/libs/xarray/Cargo.toml index 3fea4f7b5..cae91ce87 100644 --- a/kernel/libs/xarray/Cargo.toml +++ b/kernel/libs/xarray/Cargo.toml @@ -6,7 +6,7 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -ostd = { path = "../../../ostd" } +ostd.workspace = true [lints] workspace = true diff --git a/osdk/deps/frame-allocator/Cargo.toml b/osdk/deps/frame-allocator/Cargo.toml index 0036a950f..152dfe060 100644 --- a/osdk/deps/frame-allocator/Cargo.toml +++ b/osdk/deps/frame-allocator/Cargo.toml @@ -8,9 +8,9 @@ license.workspace = true edition.workspace = true [dependencies] -log = "0.4" -ostd = { version = "0.17.0", path = "../../../ostd" } -paste = "1.0.15" +log.workspace = true +ostd.workspace = true +paste.workspace = true [lints] workspace = true diff --git a/osdk/deps/heap-allocator/Cargo.toml b/osdk/deps/heap-allocator/Cargo.toml index ab6e33781..dacae7817 100644 --- a/osdk/deps/heap-allocator/Cargo.toml +++ b/osdk/deps/heap-allocator/Cargo.toml @@ -8,8 +8,8 @@ license.workspace = true edition.workspace = true [dependencies] -log = "0.4" -ostd = { version = "0.17.0", path = "../../../ostd" } +log.workspace = true +ostd.workspace = true [lints] workspace = true diff --git a/osdk/deps/test-kernel/Cargo.toml b/osdk/deps/test-kernel/Cargo.toml index 32714a436..c22fa69cd 100644 --- a/osdk/deps/test-kernel/Cargo.toml +++ b/osdk/deps/test-kernel/Cargo.toml @@ -10,8 +10,8 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -ostd = { version = "0.17.0", path = "../../../ostd" } -owo-colors = "4.0.0" +ostd.workspace = true +owo-colors.workspace = true [lints] workspace = true diff --git a/ostd/Cargo.toml b/ostd/Cargo.toml index c59830060..b24b3a38f 100644 --- a/ostd/Cargo.toml +++ b/ostd/Cargo.toml @@ -16,27 +16,26 @@ default-target = "x86_64-unknown-none" targets = ["x86_64-unknown-none"] [dependencies] -align_ext = { path = "libs/align_ext", version = "0.1.0" } -bit_field = "0.10.1" -bitflags = "1.3" -cfg-if = "1.0" -gimli = { version = "0.28", default-features = false, features = ["read-core"] } -id-alloc = { path = "libs/id-alloc", version = "0.1.0" } -inherit-methods-macro = { git = "https://github.com/asterinas/inherit-methods-macro", rev = "98f7e3e", version = "0.1.0" } -int-to-c-enum = { path = "../kernel/libs/int-to-c-enum", version = "0.1.0" } -intrusive-collections = { version = "0.9.6", features = ["nightly"] } -linux-boot-params = { version = "0.17.0", path = "libs/linux-bzimage/boot-params" } -log = "0.4" -num-traits = { version = "0.2", default-features = false } -ostd-macros = { version = "0.17.0", path = "libs/ostd-macros" } -ostd-test = { version = "0.17.0", path = "libs/ostd-test" } -ostd-pod = { git = "https://github.com/asterinas/ostd-pod", rev = "c4644be", version = "0.1.1" } -spin = "0.9.4" -smallvec = "1.13.2" -volatile = "0.6.1" -bitvec = { version = "1.0", default-features = false, features = ["alloc"] } - -minicov = { version = "0.3", optional = true } +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 # The targets are chosen to prevent the generated machine code from using any # vector or floating-point registers. diff --git a/ostd/libs/id-alloc/Cargo.toml b/ostd/libs/id-alloc/Cargo.toml index 245cdf0cc..b7c6545f0 100644 --- a/ostd/libs/id-alloc/Cargo.toml +++ b/ostd/libs/id-alloc/Cargo.toml @@ -9,7 +9,7 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -bitvec = { version = "1.0", default-features = false, features = ["alloc"] } +bitvec.workspace = true [lints] workspace = true diff --git a/ostd/libs/linux-bzimage/builder/Cargo.toml b/ostd/libs/linux-bzimage/builder/Cargo.toml index cd1d5b277..29d3a3488 100644 --- a/ostd/libs/linux-bzimage/builder/Cargo.toml +++ b/ostd/libs/linux-bzimage/builder/Cargo.toml @@ -9,12 +9,12 @@ edition.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -align_ext = { version = "0.1.0", path = "../../align_ext" } -bitflags = "1.3" -bytemuck = { version = "1.17.0", features = ["derive"] } -libflate = "2.1.0" -serde = { version = "1.0.192", features = ["derive"] } -xmas-elf = "0.10.0" +align_ext.workspace = true +bitflags.workspace = true +bytemuck.workspace = true +libflate = { workspace = true, features = [ "std" ] } +serde.workspace = true +xmas-elf.workspace = true [lints] workspace = true diff --git a/ostd/libs/linux-bzimage/setup/Cargo.toml b/ostd/libs/linux-bzimage/setup/Cargo.toml index 86779a80a..df2304de3 100644 --- a/ostd/libs/linux-bzimage/setup/Cargo.toml +++ b/ostd/libs/linux-bzimage/setup/Cargo.toml @@ -13,15 +13,15 @@ path = "src/main.rs" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -cfg-if = "1.0.0" -core2 = { version = "0.4.0", default-features = false, features = ["nightly"] } -libflate = { version = "2.1.0", default-features = false } -linux-boot-params = { version = "0.17.0", path = "../boot-params" } -uart_16550 = "0.3.0" -xmas-elf = "0.10.0" +cfg-if.workspace = true +core2.workspace = true +libflate.workspace = true +linux-boot-params.workspace = true +log.workspace = true +uart_16550.workspace = true +xmas-elf.workspace = true [target.x86_64-unknown-none.dependencies] -log = "0.4.20" uefi = { version = "0.32.0", features = ["global_allocator", "panic_handler", "logger", "qemu"]} uefi-raw = "0.8.0" tdx-guest = { version = "0.2.2", optional = true } diff --git a/ostd/libs/ostd-macros/Cargo.toml b/ostd/libs/ostd-macros/Cargo.toml index 59eccdee0..a3eb1dd00 100644 --- a/ostd/libs/ostd-macros/Cargo.toml +++ b/ostd/libs/ostd-macros/Cargo.toml @@ -12,10 +12,10 @@ edition.workspace = true proc-macro = true [dependencies] -proc-macro2 = { version = "1.0.95", features = ["span-locations"] } -quote = "1.0.35" -rand = "0.9.2" -syn = { version = "2.0.48", features = ["full"] } +proc-macro2.workspace = true +quote.workspace = true +rand = { workspace = true, features = [ "thread_rng" ] } +syn.workspace = true [lints] workspace = true