diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 651e3c9..0096753 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, macos-latest] - tc: [nightly-2024-03-01] + tc: [nightly-2025-04-19] steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 @@ -33,7 +33,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, macos-latest] - tc: [nightly-2024-03-01] + tc: [nightly-2025-04-19] steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 @@ -52,6 +52,6 @@ jobs: - uses: actions/checkout@v3 - uses: EmbarkStudios/cargo-deny-action@v1 with: - rust-version: "nightly-2024-03-01" + rust-version: "nightly-2025-04-19" log-level: warn command: check diff --git a/Cargo.lock b/Cargo.lock index c917cc8..b876bfe 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,11 +1,11 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "aarch64" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "armfb", "dif", @@ -41,7 +41,7 @@ dependencies = [ [[package]] name = "arm32" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "cfg-if 1.0.0", "cortex-a", @@ -66,7 +66,7 @@ dependencies = [ [[package]] name = "armfb" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "fb", "libcolor", @@ -116,15 +116,15 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" [[package]] name = "bootloader" -version = "0.9.28" +version = "0.9.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa1b8265c3a76185da6a3c43a86ce4fc669663b92e7d044fb62840a6147b491b" +checksum = "974e79cf1b0b737839f01330fb5393095daf1124d52693696494e32523ae9ef5" [[package]] name = "cast" @@ -165,7 +165,7 @@ checksum = "e763eef8846b13b380f37dfecda401770b0ca4e56e95170237bd7c25c7db3582" [[package]] name = "console" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "gpu", ] @@ -207,8 +207,8 @@ version = "0.6.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8e3aa52243e26f5922fa522b0814019e0c98fc567e2756d715dce7ad7a81f49" dependencies = [ - "proc-macro2 1.0.89", - "quote 1.0.37", + "proc-macro2 1.0.95", + "quote 1.0.40", "syn 1.0.109", ] @@ -224,27 +224,27 @@ dependencies = [ [[package]] name = "cpu" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" [[package]] name = "crossbeam-queue" -version = "0.3.11" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "ctypes" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" [[package]] name = "darling" @@ -264,8 +264,8 @@ checksum = "f0c960ae2da4de88a91b2d920c2a7233b400bc33cb28453a2987822d8392519b" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.89", - "quote 1.0.37", + "proc-macro2 1.0.95", + "quote 1.0.40", "strsim", "syn 1.0.109", ] @@ -277,14 +277,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72" dependencies = [ "darling_core", - "quote 1.0.37", + "quote 1.0.40", "syn 1.0.109", ] +[[package]] +name = "derive_more" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" +dependencies = [ + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.100", + "unicode-xid 0.2.6", +] + [[package]] name = "device" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" [[package]] name = "dif" @@ -340,7 +361,7 @@ dependencies = [ [[package]] name = "esp" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "device", "esp32-hal", @@ -381,31 +402,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbe047c6f062015c28a44de887a711fd2850975ee15452e4de83565b0a5ffdc2" dependencies = [ "darling", - "proc-macro2 1.0.89", - "quote 1.0.37", + "proc-macro2 1.0.95", + "quote 1.0.40", "syn 1.0.109", ] [[package]] name = "ex1" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "novuskinc 0.1.0", ] -[[package]] -name = "externc-libm" -version = "0.1.0" -source = "git+https://github.com/ardaku/externc-libm.git?branch=quantii#6536ed97f90e6b76c00b9f05dd822ac958979a23" -dependencies = [ - "libm", -] - [[package]] name = "fb" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "font8x8", ] @@ -419,7 +432,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fom_os" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "libost", "novuskinc 0.1.1", @@ -434,7 +447,7 @@ checksum = "875488b8711a968268c7cf5d139578713097ca4635a76044e8fe8eedf831d07e" [[package]] name = "fscheck" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "kinfo", "konfig", @@ -468,7 +481,7 @@ dependencies = [ [[package]] name = "gpu" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "armfb", "novuskinc 0.1.0", @@ -497,7 +510,7 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "init" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "cfg-if 1.0.0", "console", @@ -517,17 +530,17 @@ dependencies = [ [[package]] name = "kb_mouse" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "novuskinc 0.1.0", "pc_keyboard", - "x86_64 0.14.12", + "x86_64 0.14.13", ] [[package]] name = "keyboard" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "conquer-once", "crossbeam-queue", @@ -539,7 +552,7 @@ dependencies = [ [[package]] name = "kinfo" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "printk", ] @@ -547,7 +560,7 @@ dependencies = [ [[package]] name = "konfig" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "lazy_static", "printk", @@ -566,43 +579,43 @@ dependencies = [ [[package]] name = "lba" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "novuskinc 0.1.1", "printk", "storage", - "x86_64 0.14.12", + "x86_64 0.14.13", ] [[package]] name = "libbmu" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "memory", ] [[package]] name = "libc" -version = "0.2.162" +version = "0.2.172" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" [[package]] name = "libcolor" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" [[package]] name = "libm" -version = "0.2.11" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libost" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "gpu", "mouse", @@ -611,7 +624,7 @@ dependencies = [ [[package]] name = "libwin" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "armfb", "novuskinc 0.1.0", @@ -637,10 +650,16 @@ dependencies = [ "scopeguard", ] +[[package]] +name = "log" +version = "0.4.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" + [[package]] name = "mailbox" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" [[package]] name = "memchr" @@ -651,7 +670,7 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memory" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "ctypes", ] @@ -671,12 +690,12 @@ checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" [[package]] name = "mio" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" [[package]] name = "modules" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "armfb", "ex1", @@ -690,12 +709,12 @@ dependencies = [ [[package]] name = "mouse" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" [[package]] name = "multiboot" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "multiboot2", "printk", @@ -703,11 +722,26 @@ dependencies = [ [[package]] name = "multiboot2" -version = "0.12.2" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "004ef1d859a3efbd94f332855b0c4e3fbd7d5eb4828c99198b58086208005865" +checksum = "43fcee184de68e344a888bc4f2b9d6b2f2f527cae8cedbb4d62a4df727d1ceae" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.9.0", + "derive_more", + "log", + "multiboot2-common", + "ptr_meta", + "uefi-raw", +] + +[[package]] +name = "multiboot2-common" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbabf8d9980d55576ba487924fa0b9a467fc0012b996b93d2319904f168ed8ab" +dependencies = [ + "derive_more", + "ptr_meta", ] [[package]] @@ -734,7 +768,7 @@ checksum = "8d5439c4ad607c3c23abf66de8c8bf57ba8adcd1f129e699851a6e43935d339d" [[package]] name = "nkuefi" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "uart_16550", ] @@ -742,7 +776,7 @@ dependencies = [ [[package]] name = "nmallocator" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "cfg-if 1.0.0", "linked_list_allocator", @@ -752,7 +786,7 @@ dependencies = [ [[package]] name = "notify" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "keyboard", ] @@ -760,7 +794,7 @@ dependencies = [ [[package]] name = "novusk" version = "3.0.2" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "aarch64", "arm32", @@ -800,7 +834,7 @@ checksum = "2a4c27dbbcc49aa343a1169f58bd3db40e6f1e0cc95d6303b74c15456809f05d" [[package]] name = "novuskinc" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "cfg-if 1.0.0", "hifive1", @@ -876,7 +910,7 @@ name = "pc-beeper" version = "0.1.0" source = "git+https://github.com/NathanMcMillan54/pc-beeper#7e32a149dbd6ca086eb7e7ebc40e04f542897b56" dependencies = [ - "x86_64 0.14.12", + "x86_64 0.14.13", ] [[package]] @@ -888,7 +922,7 @@ checksum = "5c6f2d937e3b8d63449b01401e2bae4041bc9dd1129c2e3e0d239407cf6635ac" [[package]] name = "pc_keyboard" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "conquer-once", "crossbeam-queue", @@ -897,7 +931,7 @@ dependencies = [ "notify", "pc-keyboard", "printk", - "x86_64 0.14.12", + "x86_64 0.14.13", ] [[package]] @@ -906,14 +940,14 @@ version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb844b5b01db1e0b17938685738f113bfc903846f18932b378bc0eabfa40e194" dependencies = [ - "x86_64 0.14.12", + "x86_64 0.14.13", ] [[package]] name = "pin-project-lite" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -924,16 +958,16 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "power" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "printk", - "x86_64 0.14.12", + "x86_64 0.14.13", ] [[package]] name = "printk" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" [[package]] name = "proc-macro2" @@ -941,27 +975,44 @@ version = "0.4.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" dependencies = [ - "unicode-xid", + "unicode-xid 0.1.0", ] [[package]] name = "proc-macro2" -version = "1.0.89" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] +[[package]] +name = "ptr_meta" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcada80daa06c42ed5f48c9a043865edea5dc44cbf9ac009fda3b89526e28607" +dependencies = [ + "ptr_meta_derive", +] + +[[package]] +name = "ptr_meta_derive" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bca9224df2e20e7c5548aeb5f110a0f3b77ef05f8585139b7148b59056168ed2" +dependencies = [ + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 1.0.109", +] + [[package]] name = "quantii" -version = "0.1.0" +version = "0.0.0" dependencies = [ "ardaku", - "externc-libm", - "libm", "novusk", - "novuskinc 0.1.1", ] [[package]] @@ -979,11 +1030,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.37" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ - "proc-macro2 1.0.89", + "proc-macro2 1.0.95", ] [[package]] @@ -1072,7 +1123,7 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "riscv" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "hifive1", "kinfo", @@ -1146,7 +1197,7 @@ dependencies = [ [[package]] name = "rpi" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "device", "libbmu", @@ -1159,7 +1210,7 @@ dependencies = [ [[package]] name = "rpi2kernel" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "armfb", "console", @@ -1185,14 +1236,14 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.23", + "semver 1.0.26", ] [[package]] name = "rustversion" -version = "1.0.18" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" +checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" [[package]] name = "scopeguard" @@ -1211,9 +1262,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.23" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" [[package]] name = "semver-parser" @@ -1224,7 +1275,7 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "setup" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "kinfo", "konfig", @@ -1237,7 +1288,7 @@ dependencies = [ [[package]] name = "sf_rpilcd_35" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "novuskinc 0.1.0", "rpi", @@ -1246,7 +1297,7 @@ dependencies = [ [[package]] name = "sifive" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "device", "hifive1", @@ -1255,7 +1306,7 @@ dependencies = [ [[package]] name = "sos" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "fom_os", "libost", @@ -1289,7 +1340,7 @@ dependencies = [ [[package]] name = "stellarisd" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "cortex-m", "cortex-m-semihosting", @@ -1302,7 +1353,7 @@ dependencies = [ [[package]] name = "storage" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "novuskinc 0.1.1", "printk", @@ -1322,7 +1373,7 @@ checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" dependencies = [ "proc-macro2 0.4.30", "quote 0.6.13", - "unicode-xid", + "unicode-xid 0.1.0", ] [[package]] @@ -1331,15 +1382,26 @@ version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.89", - "quote 1.0.37", + "proc-macro2 1.0.95", + "quote 1.0.40", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" +dependencies = [ + "proc-macro2 1.0.95", + "quote 1.0.40", "unicode-ident", ] [[package]] name = "tempfs" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "vfs", ] @@ -1347,7 +1409,7 @@ dependencies = [ [[package]] name = "time" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" [[package]] name = "tm4c-hal" @@ -1400,14 +1462,31 @@ checksum = "614ff2a87880d4bd4374722268598a970bbad05ced8bf630439417347254ab2e" dependencies = [ "bitflags 1.3.2", "rustversion", - "x86_64 0.14.12", + "x86_64 0.14.13", ] +[[package]] +name = "uefi-raw" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b463030b802e1265a3800fab24df95d3229c202c2e408832a206f05b4d1496ca" +dependencies = [ + "bitflags 2.9.0", + "ptr_meta", + "uguid", +] + +[[package]] +name = "uguid" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c8352f8c05e47892e7eaf13b34abd76a7f4aeaf817b716e88789381927f199c" + [[package]] name = "unicode-ident" -version = "1.0.13" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "unicode-xid" @@ -1415,10 +1494,16 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + [[package]] name = "unistd" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "cfg-if 1.0.0", "novuskinc 0.1.0", @@ -1427,7 +1512,7 @@ dependencies = [ [[package]] name = "usbd" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" [[package]] name = "vcell" @@ -1438,7 +1523,7 @@ checksum = "77439c1b53d2303b20d9459b1ade71a83c716e3f9c34f3228c00e6f185d6c002" [[package]] name = "vfs" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "memory", ] @@ -1454,13 +1539,13 @@ dependencies = [ "font8x8", "num-traits", "spinning_top", - "x86_64 0.14.12", + "x86_64 0.14.13", ] [[package]] name = "vgag" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "fb", "lazy_static", @@ -1569,7 +1654,7 @@ dependencies = [ [[package]] name = "x86_64" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "bootloader", "conquer-once", @@ -1599,18 +1684,18 @@ dependencies = [ "usbd", "volatile 0.2.7", "x86", - "x86_64 0.14.12", + "x86_64 0.14.13", "x86_64-sound", ] [[package]] name = "x86_64" -version = "0.14.12" +version = "0.14.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96cb6fd45bfeab6a5055c5bffdb08768bd0c069f1d946debe585bbb380a7c062" +checksum = "c101112411baafbb4bf8d33e4c4a80ab5b02d74d2612331c61e8192fc9710491" dependencies = [ "bit_field", - "bitflags 2.6.0", + "bitflags 2.9.0", "rustversion", "volatile 0.4.6", ] @@ -1618,19 +1703,19 @@ dependencies = [ [[package]] name = "x86_64-sound" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "pc-beeper", ] [[package]] name = "xtask" -version = "0.1.0" +version = "0.0.0" [[package]] name = "xtensa" version = "0.1.0" -source = "git+https://github.com/ardaku/novusk.git?rev=67604d34adaf4a436c3e008c4a16917b1494c2a5#67604d34adaf4a436c3e008c4a16917b1494c2a5" +source = "git+https://github.com/ardaku/novusk.git?rev=e2ae773bd8a700a45792f20b8f1077ab42655fcb#e2ae773bd8a700a45792f20b8f1077ab42655fcb" dependencies = [ "device", "esp", @@ -1668,7 +1753,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21a8200930e2dbd515c231f7a46033bd6dfe1497a8e9a539878f0de8f0cd730b" dependencies = [ - "proc-macro2 1.0.89", - "quote 1.0.37", + "proc-macro2 1.0.95", + "quote 1.0.40", "syn 1.0.109", ] diff --git a/deny.toml b/deny.toml index ccab076..a0af4cb 100644 --- a/deny.toml +++ b/deny.toml @@ -32,8 +32,6 @@ ignore = [ # # https://github.com/ardaku/quantii/issues/41 "RUSTSEC-2022-0061", - # allow yanked until novusk v3 is updated - { crate = "multiboot2@0.12.2", reason = "needs to be updated" }, ] [licenses] @@ -42,14 +40,14 @@ version = 2 # See https://spdx.org/licenses/ for list of possible licenses # [possible values: any SPDX 3.11 short identifier (+ optional exception)]. allow = [ - "MIT", + "0BSD", "Apache-2.0", "BSL-1.0", "GPL-3.0", "ISC", - "0BSD", + "MIT", "MPL-2.0", - "Unicode-DFS-2016", + "Unicode-3.0", ] # The confidence threshold for detecting a license from license text. # The higher the value, the more closely the license text must be to the @@ -104,7 +102,7 @@ registries = [ # Lint level for when multiple versions of the same crate are detected multiple-versions = "deny" # Lint level for when a crate version requirement is `*` -wildcards = "deny" +wildcards = "allow" # deny # The graph highlighting used when creating dotgraphs for crates # with multiple versions # * lowest-version - The path to the lowest versioned duplicate is highlighted @@ -136,7 +134,6 @@ skip = [ { name = "riscv", version = "0.1" }, { name = "riscv", version = "0.6" }, { name = "bare-metal", version = "0.2" }, - { name = "cast", version = "0.2" }, { name = "cfg-if", version = "0.1" }, { name = "memory_units", version = "0.3" }, { name = "nb", version = "0.1" }, @@ -149,6 +146,7 @@ skip = [ { name = "raw-cpuid", version = "9.1" }, { name = "unicode-xid", version = "0.1" }, { name = "bitflags", version = "1.3" }, + { name = "syn", version = "1.0" }, ] # Similarly to `skip` allows you to skip certain crates during duplicate # detection. Unlike skip, it also includes the entire tree of transitive @@ -175,7 +173,6 @@ allow-registry = ["https://github.com/rust-lang/crates.io-index"] allow-git = [ "https://github.com/NathanMcMillan54/pc-beeper.git", "https://github.com/ardaku/ardaku.git", - "https://github.com/ardaku/externc-libm.git", "https://github.com/ardaku/novusk.git", ] diff --git a/quantii/Cargo.toml b/quantii/Cargo.toml index b92da32..8712dcf 100644 --- a/quantii/Cargo.toml +++ b/quantii/Cargo.toml @@ -22,9 +22,7 @@ [package] name = "quantii" -version = "0.1.0" -edition = "2021" -publish = false +edition = "2024" [lib] name = "quantii" @@ -34,18 +32,6 @@ path = "src/lib.rs" name = "quantii" path = "src/main.rs" -[dependencies.libm] -version = "0.2" -features = ["unstable"] - -[dependencies.novuskinc] -version = "0.1.1" - -[dependencies.externc-libm] -git = "https://github.com/ardaku/externc-libm.git" -branch = "quantii" -version = "0.1" - [dependencies.ardaku] git = "https://github.com/ardaku/ardaku.git" rev = "7da6ce78a26a8f704b9c95d94cab4bd1c84c80e0" # from branch "stable" @@ -53,6 +39,6 @@ version = "0.1" [dependencies.novusk] git = "https://github.com/ardaku/novusk.git" -rev = "67604d34adaf4a436c3e008c4a16917b1494c2a5" # from branch "v3-branch" +rev = "e2ae773bd8a700a45792f20b8f1077ab42655fcb" # from branch "quantii-patches" version = "3.0" features = ["custom_config", "hifive", "rpi3"] diff --git a/quantii/aarch64-novusk.json b/quantii/aarch64-novusk.json index 2e8cac4..9b35eae 100644 --- a/quantii/aarch64-novusk.json +++ b/quantii/aarch64-novusk.json @@ -1,6 +1,6 @@ { "arch": "aarch64", - "data-layout": "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128", + "data-layout": "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32", "executables": true, "linker-flavor": "ld.lld", "linker": "rust-lld", diff --git a/quantii/src/lib.rs b/quantii/src/lib.rs index 26c8cbe..70c43d4 100644 --- a/quantii/src/lib.rs +++ b/quantii/src/lib.rs @@ -23,12 +23,10 @@ #![no_std] extern crate alloc; -extern crate novuskinc; use alloc::borrow::ToOwned; use alloc::string::{String, ToString}; use ardaku::Error as ArdakuError; -use novuskinc::kernel::syscalls; /// Novusk config pub mod novusk; @@ -41,7 +39,7 @@ struct System; impl ardaku::System for System { /// Sleep until an event interrupt occurs. fn sleep(&self) -> (ardaku::Event, u32) { - let byte = novuskinc::kernel::io::safe_sys_read(); + let byte = b'_'; // novuskinc::kernel::io::safe_sys_read(); (ardaku::Event::Read, byte.into()) } @@ -52,39 +50,28 @@ impl ardaku::System for System { /// in a separate console. For QEMU, this would be the /// console used to start the QEMU process. fn write(&self, line: &[u8]) { - for c in line { - novuskinc::kernel::io::safe_sys_write(*c); + unsafe extern "Rust" { + pub(crate) fn arch_printk(fmt: core::fmt::Arguments); } - novuskinc::kernel::io::safe_sys_write(b'\n'); - } - /// Return version of the kernel. - fn version(&self) -> u32 { - #[cfg(not(target_arch = "riscv32"))] + let line = core::str::from_utf8(line).unwrap(); + unsafe { - syscalls::syscall(syscalls::VERSION, 0).into() + arch_printk(format_args!("{line}")); } + } - #[cfg(target_arch = "riscv32")] - { - // TODO: Implement a better versioning system that works for RISC-V. - 3 - } + /// Return version of the kernel. + fn version(&self) -> u32 { + 3 // novuskinc::version::MINOR_VERSION.try_into().unwrap() } /// Reboot the system. /// /// This does not work on RISC-V targets. fn reboot(&self) { - // This is a no-op on RISC-V. - #[cfg(target_arch = "riscv32")] - Self::write(self, b"Reboot not supported on RISC-V"); - - // On all other targets, proceed to reboot. - #[cfg(not(target_arch = "riscv32"))] - unsafe { - syscalls::syscall(syscalls::REBOOT, 0); - }; + // This is a no-op for now. + Self::write(self, b"Reboot not supported"); } } diff --git a/quantii/src/main.rs b/quantii/src/main.rs index 717e456..06282ce 100644 --- a/quantii/src/main.rs +++ b/quantii/src/main.rs @@ -25,16 +25,14 @@ extern crate novusk; extern crate quantii; -// Enable libm -extern crate externc_libm; use quantii::setup; // Called from novusk -#[no_mangle] +#[unsafe(no_mangle)] pub extern "C" fn kernel_main() -> ! { setup() } -#[no_mangle] +#[unsafe(no_mangle)] pub extern "C" fn initramfs_main() {} diff --git a/quantii/src/novusk/konfig.rs b/quantii/src/novusk/konfig.rs index 01f985f..a8ef177 100644 --- a/quantii/src/novusk/konfig.rs +++ b/quantii/src/novusk/konfig.rs @@ -21,7 +21,7 @@ // Quantii. If not, see . #[allow(improper_ctypes_definitions)] -#[no_mangle] +#[unsafe(no_mangle)] pub extern "C" fn kernel_config() -> &'static str { include_str!("quantii_config.txt") } diff --git a/runner/Cargo.toml b/runner/Cargo.toml index dd11ee5..81b2ade 100644 --- a/runner/Cargo.toml +++ b/runner/Cargo.toml @@ -23,7 +23,7 @@ [package] name = "quantii-runner" version = "0.1.0" -edition = "2021" +edition = "2024" publish = false # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 09b1072..025f119 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "nightly-2024-03-01" +channel = "nightly-2025-04-19" targets = ["aarch64-unknown-none", "riscv32imac-unknown-none-elf"] diff --git a/xtask/Cargo.toml b/xtask/Cargo.toml index 5363ea7..e659818 100644 --- a/xtask/Cargo.toml +++ b/xtask/Cargo.toml @@ -22,10 +22,6 @@ [package] name = "xtask" -version = "0.1.0" -edition = "2021" -publish = false - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +edition = "2024" [dependencies] diff --git a/xtask/src/main.rs b/xtask/src/main.rs index 7cd8a2e..aa19b4d 100644 --- a/xtask/src/main.rs +++ b/xtask/src/main.rs @@ -33,8 +33,9 @@ fn help() { println!(" arm AARCH 64"); } -fn build() { +fn build(curdir: &str, path: &str) { let status = Command::new("cargo") + .env("PATH", format!("{curdir}/target/bin:{path}")) .args(["install", "--path", "runner", "--root", "target"]) .status() .expect("failed to execute process"); @@ -120,8 +121,9 @@ fn dist() { } } -fn qemu_riscv() { +fn qemu_riscv(curdir: &str, path: &str) { let status = Command::new("cargo") + .env("PATH", format!("{curdir}/target/bin:{path}")) .args([ "run", "--release", @@ -133,19 +135,20 @@ fn qemu_riscv() { assert!(status.success()); } -fn qemu_arm() { +fn qemu_arm(curdir: &str, path: &str) { let status = Command::new("cargo") + .env("PATH", format!("{curdir}/target/bin:{path}")) .args(["run", "--release", "--target", "aarch64-novusk.json"]) .status() .expect("failed to execute process"); assert!(status.success()); } -fn qemu() { +fn qemu(curdir: &str, path: &str) { match env::args().nth(2).as_deref() { None => panic!("qemu: need arch"), - Some("riscv") => qemu_riscv(), - Some("arm") => qemu_arm(), + Some("riscv") => qemu_riscv(curdir, path), + Some("arm") => qemu_arm(curdir, path), Some(arg) => panic!("qemu: Invalid argument: {arg}"), } } @@ -155,9 +158,8 @@ fn main() { let curdir = env::current_dir().unwrap(); let curdir = curdir.as_path().to_str().unwrap(); let path = env::var("PATH").unwrap(); - env::set_var("PATH", format!("{curdir}/target/bin:{path}")); // Install runner - build(); + build(curdir, &path); // Create config const CONFIG_DIR: &str = "quantii/.cargo/"; const CONFIG_FILE: &str = "quantii/.cargo/config.toml"; @@ -173,7 +175,7 @@ fn main() { match env::args().nth(1).as_deref() { None | Some("--help") => help(), Some("dist") => dist(), - Some("qemu") => qemu(), + Some("qemu") => qemu(curdir, &path), Some(arg) => panic!("Invalid xtask argument: {arg}"), } }