diff --git a/Cargo.lock b/Cargo.lock index 7853ecbe..a530567c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,11 +4,11 @@ version = 4 [[package]] name = "aarch64-cpu" -version = "10.0.0" +version = "11.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a21cd0131c25c438e19cd6a774adf7e3f64f7f4d723022882facc2dee0f8bc9" +checksum = "44171e22925ec72b63d86747bc3655c7849a5b8d865c980222128839f45ac034" dependencies = [ - "tock-registers 0.9.0", + "tock-registers 0.10.1", ] [[package]] @@ -107,16 +107,16 @@ dependencies = [ [[package]] name = "arm-gic-driver" -version = "0.15.11" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dac353a1d007bb25a96f1b8af6d694927901f4ff6c5d54a6252a784f3032bf0" +checksum = "1d09177e7ffff6c78aee3db4816fb478255c5d579f916d72f914c243b797e68e" dependencies = [ "aarch64-cpu", "bitflags 2.10.0", "enum_dispatch", "log", "paste", - "tock-registers 0.9.0", + "tock-registers 0.10.1", ] [[package]] @@ -163,7 +163,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] @@ -227,14 +227,14 @@ dependencies = [ "axconfig-gen", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] name = "axcpu" -version = "0.3.0-preview.4" +version = "0.3.0-preview.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "627bdaa84f4a3c10e4e3858e7e671463d4dbeac6867643340a06d56d8ce24d24" +checksum = "bf99fd0321a4e2a0eb1fb2a1a53ae47ea10a9c31a969545575ce302291934ea0" dependencies = [ "aarch64-cpu", "axbacktrace", @@ -245,11 +245,11 @@ dependencies = [ "loongArch64", "memory_addr", "page_table_entry", - "page_table_multiarch 0.5.8", + "page_table_multiarch", "percpu", - "riscv", + "riscv 0.16.0", "static_assertions", - "tock-registers 0.9.0", + "tock-registers 0.10.1", "x86", "x86_64", ] @@ -280,7 +280,7 @@ dependencies = [ "axdriver_vsock", "axhal", "cfg-if", - "crate_interface", + "crate_interface 0.1.4", "log", "smallvec", ] @@ -460,8 +460,9 @@ dependencies = [ "linkme", "log", "memory_addr", - "page_table_multiarch 0.5.7", + "page_table_multiarch", "percpu", + "spin 0.10.0", ] [[package]] @@ -491,7 +492,7 @@ name = "axlog" version = "0.2.0" dependencies = [ "cfg-if", - "crate_interface", + "crate_interface 0.1.4", "kspin", "log", ] @@ -514,7 +515,7 @@ dependencies = [ "log", "memory_addr", "memory_set", - "page_table_multiarch 0.5.7", + "page_table_multiarch", ] [[package]] @@ -548,14 +549,14 @@ dependencies = [ [[package]] name = "axplat" -version = "0.3.1-pre.1" +version = "0.3.1-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31df7b8c3331809075cb9997984768d3e1b636d31dfaf5ff74d813d0aa7a6ecb" +checksum = "f972b5688b51e8865a33f5282a8e481bfa3f1d1065e0877f8e33532a90680370" dependencies = [ "axplat-macros", "bitflags 2.10.0", "const-str", - "crate_interface", + "crate_interface 0.3.0", "handler_table", "kspin", "memory_addr", @@ -564,9 +565,9 @@ dependencies = [ [[package]] name = "axplat-aarch64-peripherals" -version = "0.3.1-pre.1" +version = "0.3.1-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063e1f4279666685604d0b4b0e95f3cf03a1d4ffe50fd7182cd0609723378c7e" +checksum = "0e2b95a4afcb0af021f7044d56684f88ef22f9d7d64a787b89654e1476803289" dependencies = [ "aarch64-cpu", "arm-gic-driver", @@ -578,15 +579,14 @@ dependencies = [ "kspin", "lazyinit", "log", - "page_table_entry", "spin 0.10.0", ] [[package]] name = "axplat-aarch64-qemu-virt" -version = "0.3.1-pre.1" +version = "0.3.1-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2b8a9933a69632d59fb677f906630c9b480ead703feb22fcac1b2cc93323b87" +checksum = "04e3ca1ed89c348ca64b347a185409d1002195713a59f89ded6f78d97cab5927" dependencies = [ "axconfig-macros", "axcpu", @@ -598,9 +598,9 @@ dependencies = [ [[package]] name = "axplat-loongarch64-qemu-virt" -version = "0.3.1-pre.1" +version = "0.3.1-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76805b4c143ed980152f4a5de57077052c8972a156aab1db55f88681a2b914ae" +checksum = "1752817afe5b6e90d3c0824f14f02fd07115f3d07c915411afd87aa978fa204e" dependencies = [ "axconfig-macros", "axcpu", @@ -622,14 +622,14 @@ checksum = "f90dfaee06a112fe4f810c60af1a86bc080af2172185b491cacc307b84dff748" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] name = "axplat-riscv64-qemu-virt" -version = "0.3.1-pre.1" +version = "0.3.1-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5cf5f4d4ef9d0b1752dc922f574c0aadfdf20873e194744c1d5cc13b1a36e79" +checksum = "14a13b1ffa5ba4da587243119dd96aeafac90625e1c37d7b542d52ad6a600324" dependencies = [ "axconfig-macros", "axcpu", @@ -637,7 +637,7 @@ dependencies = [ "kspin", "lazyinit", "log", - "riscv", + "riscv 0.16.0", "riscv_goldfish", "riscv_plic", "sbi-rt", @@ -646,9 +646,9 @@ dependencies = [ [[package]] name = "axplat-riscv64-visionfive2" -version = "0.1.0-pre.1" +version = "0.1.0-pre.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbe6b2ca955246cad4d51b8fd89804e117a293753ce5cd3705c70a974398f2ea" +checksum = "662ba689afa1972ce4addf32f7873c0aa7bc4ca11be17b69977f677805a2d356" dependencies = [ "axconfig-macros", "axcpu", @@ -656,7 +656,7 @@ dependencies = [ "kspin", "lazyinit", "log", - "riscv", + "riscv 0.14.0", "riscv_goldfish", "riscv_plic", "sbi-rt", @@ -665,9 +665,9 @@ dependencies = [ [[package]] name = "axplat-x86-pc" -version = "0.3.1-pre.1" +version = "0.3.1-pre.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d65d6c1bd49e83e3422ee00691ba4962a844ed603394f677054fd98fb2a8fe7f" +checksum = "be02ad620dd705988d71af91c6a6865ae0c897a833ddebb6d458f6aa68bb1b4d" dependencies = [ "axconfig-macros", "axcpu", @@ -690,9 +690,9 @@ dependencies = [ [[package]] name = "axpoll" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d06a0cf7cffe0e87c338f41d59bd0a05fa75cf9c4799b4107fa0fc6cf27d8d23" +checksum = "f3970d53be0955ea3e995b9ef4ec10778b061ee89671395c74e6ceb8e0798602" dependencies = [ "bitflags 2.10.0", "linux-raw-sys", @@ -717,7 +717,7 @@ dependencies = [ "axplat", "axtask", "chrono", - "crate_interface", + "crate_interface 0.1.4", "ctor_bare", "indoc", "percpu", @@ -753,7 +753,7 @@ dependencies = [ "axsched", "cfg-if", "cpumask", - "crate_interface", + "crate_interface 0.1.4", "event-listener", "extern-trait", "futures-util", @@ -763,6 +763,7 @@ dependencies = [ "log", "memory_addr", "percpu", + "spin 0.10.0", ] [[package]] @@ -788,7 +789,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] @@ -811,7 +812,7 @@ checksum = "d3ca019570363e800b05ad4fd890734f28ac7b72f563ad8a35079efb793616f8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] @@ -864,7 +865,7 @@ checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] @@ -910,9 +911,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.57" +version = "4.5.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6899ea499e3fb9305a65d5ebf6e3d2248c5fab291f300ad0a704fbe142eae31a" +checksum = "63be97961acde393029492ce0be7a1af7e323e6bae9511ebfac33751be5e6806" dependencies = [ "clap_builder", "clap_derive", @@ -920,9 +921,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.57" +version = "4.5.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b12c8b680195a62a8364d16b8447b01b6c2c8f9aaf68bee653be34d4245e238" +checksum = "7f13174bda5dfd69d7e947827e5af4b0f2f94a4a3ee92912fba07a66150f21e2" dependencies = [ "anstream", "anstyle", @@ -939,14 +940,14 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] name = "clap_lex" -version = "0.7.7" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32" +checksum = "3a822ea5bc7590f9d40f1ba12c0dc3c2760f3482c6984db1573ad11031420831" [[package]] name = "colorchoice" @@ -971,9 +972,9 @@ checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" [[package]] name = "const-str" -version = "0.6.4" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "451d0640545a0553814b4c646eb549343561618838e9b42495f466131fe3ad49" +checksum = "18f12cc9948ed9604230cdddc7c86e270f9401ccbe3c2e98a4378c5e7632212f" [[package]] name = "const_fn" @@ -1016,7 +1017,18 @@ checksum = "70272a03a2cef15589bac05d3d15c023752f5f8f2da8be977d983a9d9e6250fb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", +] + +[[package]] +name = "crate_interface" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51e5c7109dea31fc91ab584e99752baa997f76d46e49bab0a17b5e9679248df7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.115", ] [[package]] @@ -1048,7 +1060,7 @@ checksum = "9a49d5cd78b1c748184d41407b14a58af8403c13328ff2b9f49b0a418c24e3ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] @@ -1115,7 +1127,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] @@ -1146,7 +1158,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.114", + "syn 2.0.115", "unicode-xid", ] @@ -1177,7 +1189,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] @@ -1188,7 +1200,7 @@ checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] @@ -1219,13 +1231,23 @@ dependencies = [ [[package]] name = "extern-trait" -version = "0.2.0" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd3bc9641ace0d852a93f2699f342c935b825146acb63049b92d06e57aa9aebd" +dependencies = [ + "extern-trait-impl", + "typeid", +] + +[[package]] +name = "extern-trait-impl" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba8f5038f5845165d06fe1453fe4130ad546d3314818bbda57e208e7b0cffe08" +checksum = "c89ddc8cd109db4196b4751cce7fc34380d55f095fcd5d634c708485fe4c820f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] @@ -1275,7 +1297,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] @@ -1472,7 +1494,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d10c55bedf6789bc3748e0d8756ee639df1ae25144fd3525ed311044bd9a739f" dependencies = [ "cfg-if", - "crate_interface", + "crate_interface 0.1.4", ] [[package]] @@ -1502,9 +1524,9 @@ checksum = "17f03abfebdaaf0fad16790237a0348baf84886d3ade460db13bae59e614a180" [[package]] name = "libc" -version = "0.2.180" +version = "0.2.182" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" +checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" [[package]] name = "libloading" @@ -1539,14 +1561,14 @@ checksum = "e5cec0ec4228b4853bb129c84dbf093a27e6c7a20526da046defc334a1b017f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] name = "linux-raw-sys" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "lock_api" @@ -1680,7 +1702,7 @@ checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] @@ -1716,14 +1738,14 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] name = "page_table_entry" -version = "0.5.8" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3af51afffbce2ea801b0830b29fcea77068e821521f13c5e3e4734585abcc061" +checksum = "8e9a63b9b86d32f64c3874a90936939281d045ef1751d0aca3d82d5e4e06b2ef" dependencies = [ "aarch64-cpu", "bitflags 2.10.0", @@ -1733,8 +1755,9 @@ dependencies = [ [[package]] name = "page_table_multiarch" -version = "0.5.7" -source = "git+https://github.com/arceos-org/page_table_multiarch.git?tag=dev-v05#4594a765e361bca2a8b6ef6773a37ae6d8539840" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42c5b75d5d9bdbee44c827b0dd2766fa3d478a76b9c6735419228089d1b24536" dependencies = [ "arrayvec", "axerrno 0.1.2", @@ -1742,21 +1765,7 @@ dependencies = [ "log", "memory_addr", "page_table_entry", - "riscv", - "x86", -] - -[[package]] -name = "page_table_multiarch" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a012c0bb9b8b0c4887d0b90f37cf8164537b69bb5560ecdcf4ada0c3b64e3976" -dependencies = [ - "arrayvec", - "log", - "memory_addr", - "page_table_entry", - "riscv", + "riscv 0.16.0", "x86", ] @@ -1788,7 +1797,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] @@ -1825,7 +1834,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] @@ -1847,7 +1856,7 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] @@ -1867,7 +1876,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", "version_check", "yansi", ] @@ -1883,18 +1892,18 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.2" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +checksum = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" dependencies = [ "rand_core", ] [[package]] name = "rand_core" -version = "0.9.5" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +checksum = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" [[package]] name = "raw-cpuid" @@ -1962,10 +1971,23 @@ dependencies = [ "critical-section", "embedded-hal", "paste", - "riscv-macros", + "riscv-macros 0.2.0", "riscv-pac", ] +[[package]] +name = "riscv" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9251433e48c39d2133cbaff3ae7809ce6a1ecbc8225ca7da33d96d10cf360582" +dependencies = [ + "critical-section", + "embedded-hal", + "paste", + "riscv-macros 0.4.0", + "riscv-types", +] + [[package]] name = "riscv-macros" version = "0.2.0" @@ -1974,7 +1996,18 @@ checksum = "e8c4aa1ea1af6dcc83a61be12e8189f9b293c3ba5a487778a4cd89fb060fdbbc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", +] + +[[package]] +name = "riscv-macros" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d47d1fb716349455b8e5e3ebbf1eff95344dbdf9f782a4e1359d2f16f51e3dce" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.115", ] [[package]] @@ -1983,6 +2016,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8188909339ccc0c68cfb5a04648313f09621e8b87dc03095454f1a11f6c5d436" +[[package]] +name = "riscv-types" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3f2ad9f15a07f4a0e1677124f9120ce7e83ab7e1ca7186af0ca9da529b62e80" + [[package]] name = "riscv_goldfish" version = "0.1.1" @@ -2214,7 +2253,7 @@ dependencies = [ "num_enum", "rand", "ringbuf", - "riscv", + "riscv 0.16.0", "scope-local", "slab", "spin 0.10.0", @@ -2286,9 +2325,9 @@ dependencies = [ [[package]] name = "starry-signal" -version = "0.2.4-preview.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ca4375da151b08a60f80291ea5a705e8c4e3e70195d26d26796210722c0f25" +checksum = "f72adf2bff529986c36c6b3920332afbefd0f6f6178855347f1bac15f4304d37" dependencies = [ "axcpu", "bitflags 2.10.0", @@ -2304,9 +2343,9 @@ dependencies = [ [[package]] name = "starry-vm" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8a92583dcf89ba82f59714f082c3639eb3c66514f5381c1d729a077c5ce2c33" +checksum = "3596dd192ef0b8c6790c5d3d1c69746c3f94afef46907a5314f1a478917daf53" dependencies = [ "axerrno 0.2.2", "bytemuck", @@ -2349,7 +2388,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] @@ -2378,9 +2417,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.114" +version = "2.0.115" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" +checksum = "6e614ed320ac28113fa64972c4262d5dbc89deacdfd00c34a3e4cea073243c12" dependencies = [ "proc-macro2", "quote", @@ -2410,7 +2449,7 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] @@ -2419,12 +2458,6 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "696941a0aee7e276a165a978b37918fd5d22c55c3d6bda197813070ca9c0f21c" -[[package]] -name = "tock-registers" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b9e2fdb3a1e862c0661768b7ed25390811df1947a8acbfbefe09b47078d93c4" - [[package]] name = "tock-registers" version = "0.10.1" @@ -2455,6 +2488,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" +[[package]] +name = "typeid" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" + [[package]] name = "uart_16550" version = "0.4.0" @@ -2477,9 +2516,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +checksum = "537dd038a89878be9b64dd4bd1b260315c1bb94f4d784956b81e27a088d9a09e" [[package]] name = "unicode-segmentation" @@ -2546,7 +2585,7 @@ checksum = "65c67ce935f3b4329e473ecaff7bab444fcdc3d1d19f8bae61fabfa90b84f93e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] @@ -2674,7 +2713,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", ] [[package]] @@ -2685,5 +2724,5 @@ checksum = "4122cd3169e94605190e77839c9a40d40ed048d305bfdc146e7df40ab0f3e517" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.115", ] diff --git a/Cargo.toml b/Cargo.toml index e17a0c9a..c04695bb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -56,12 +56,12 @@ bitflags = "2.10" bytemuck = { version = "1.23", features = ["unsound_ptr_pod_impl"] } cfg-if = "1.0" event-listener = { version = "5.4.0", default-features = false } -extern-trait = "0.2" +extern-trait = "0.4" hashbrown = "0.16" kspin = "0.1" lazy_static = { version = "1.5", features = ["spin_no_std"] } linkme = "0.3.33" -linux-raw-sys = { version = "0.11", default-features = false, features = [ +linux-raw-sys = { version = "0.12", default-features = false, features = [ "no_std", "general", "net", @@ -73,8 +73,8 @@ scope-local = "0.1" slab = { version = "0.4.9", default-features = false } spin = "0.10" starry-process = "0.2" -starry-signal = "0.2.4-preview.1" -starry-vm = "0.2" +starry-signal = "0.3" +starry-vm = "0.3" starry-core = { path = "./core" } starry-api = { path = "./api" } diff --git a/api/Cargo.toml b/api/Cargo.toml index 551bc8ff..73fa91ef 100644 --- a/api/Cargo.toml +++ b/api/Cargo.toml @@ -50,10 +50,7 @@ linkme.workspace = true linux-raw-sys = { workspace = true, features = ["ioctl", "loop_device"] } memory_addr.workspace = true num_enum = { version = "0.7", default-features = false } -rand = { version = "0.9.1", default-features = false, features = [ - "alloc", - "small_rng", -] } +rand = { version = "0.10", default-features = false, features = ["alloc"] } ringbuf = { version = "0.4.8", default-features = false, features = ["alloc"] } scope-local.workspace = true slab.workspace = true @@ -70,4 +67,4 @@ starry-core.workspace = true x86 = "0.52" [target.'cfg(any(target_arch = "riscv32", target_arch = "riscv64"))'.dependencies] -riscv = "0.14" +riscv = "0.16" diff --git a/api/src/syscall/task/clone.rs b/api/src/syscall/task/clone.rs index 06b50e2c..af91a761 100644 --- a/api/src/syscall/task/clone.rs +++ b/api/src/syscall/task/clone.rs @@ -220,7 +220,7 @@ pub fn sys_clone( if flags.contains(CloneFlags::CHILD_CLEARTID) { thr.set_clear_child_tid(child_tid); } - *new_task.task_ext_mut() = Some(unsafe { AxTaskExt::from_impl(thr) }); + *new_task.task_ext_mut() = Some(AxTaskExt::from_impl(thr)); let task = spawn_task(new_task); add_task_to_table(&task); diff --git a/api/src/syscall/task/schedule.rs b/api/src/syscall/task/schedule.rs index c7f737a3..a7643585 100644 --- a/api/src/syscall/task/schedule.rs +++ b/api/src/syscall/task/schedule.rs @@ -87,7 +87,7 @@ pub fn sys_clock_nanosleep( } pub fn sys_sched_getaffinity(pid: i32, cpusetsize: usize, user_mask: *mut u8) -> AxResult { - if cpusetsize * 8 < axconfig::plat::CPU_NUM { + if cpusetsize * 8 < axhal::cpu_num() { return Err(AxError::InvalidInput); } @@ -109,11 +109,11 @@ pub fn sys_sched_setaffinity( cpusetsize: usize, user_mask: *const u8, ) -> AxResult { - let size = cpusetsize.min(axconfig::plat::CPU_NUM.div_ceil(8)); + let size = cpusetsize.min(axhal::cpu_num().div_ceil(8)); let user_mask = vm_load(user_mask, size)?; let mut cpu_mask = AxCpuMask::new(); - for i in 0..(size * 8).min(axconfig::plat::CPU_NUM) { + for i in 0..(size * 8).min(axhal::cpu_num()) { if user_mask[i / 8] & (1 << (i % 8)) != 0 { cpu_mask.set(i, true); } diff --git a/api/src/vfs/dev/mod.rs b/api/src/vfs/dev/mod.rs index c9a04d9d..dbd0c8d4 100644 --- a/api/src/vfs/dev/mod.rs +++ b/api/src/vfs/dev/mod.rs @@ -19,7 +19,7 @@ use axfs_ng_vfs::{DeviceId, Filesystem, NodeFlags, NodeType, VfsResult}; use axsync::Mutex; #[cfg(feature = "dev-log")] pub use log::bind_dev_log; -use rand::{RngCore, SeedableRng, rngs::SmallRng}; +use rand::{Rng, SeedableRng, rngs::SmallRng}; use starry_core::vfs::{Device, DeviceOps, DirMaker, DirMapping, SimpleDir, SimpleFs}; const RANDOM_SEED: &[u8; 32] = b"0123456789abcdef0123456789abcdef"; diff --git a/arceos b/arceos index 3ee403f6..0f5f53a3 160000 --- a/arceos +++ b/arceos @@ -1 +1 @@ -Subproject commit 3ee403f6f5b91f04355d7681b0a9bd4861a0697a +Subproject commit 0f5f53a35e5e71dc6b628fc99d8c694f2252f427 diff --git a/core/src/task.rs b/core/src/task.rs index 3b366a83..9b36b781 100644 --- a/core/src/task.rs +++ b/core/src/task.rs @@ -157,7 +157,7 @@ impl Thread { } #[extern_trait] -unsafe impl TaskExt for Box { +impl TaskExt for Box { fn on_enter(&self) { let scope = self.proc_data.scope.read(); unsafe { ActiveScope::set(&scope) }; @@ -184,7 +184,7 @@ pub trait AsThread { impl AsThread for TaskInner { fn try_as_thread(&self) -> Option<&Thread> { self.task_ext() - .map(|ext| unsafe { ext.downcast_ref::>() }.as_ref()) + .map(|ext| ext.downcast_ref::>().as_ref()) } } diff --git a/src/entry.rs b/src/entry.rs index bacd15bb..86fba54f 100644 --- a/src/entry.rs +++ b/src/entry.rs @@ -60,7 +60,7 @@ pub fn run_initproc(args: &[String], envs: &[String]) -> i32 { } let thr = Thread::new(pid, proc_data); - *task.task_ext_mut() = Some(unsafe { AxTaskExt::from_impl(thr) }); + *task.task_ext_mut() = Some(AxTaskExt::from_impl(thr)); let task = spawn_task(task); add_task_to_table(&task);