From 027a6fe904bfe4edaa75084ef04065b57e9849c5 Mon Sep 17 00:00:00 2001 From: Eemeli <eemeli.o.lehtonen@utu.fi> Date: Tue, 27 Dec 2022 18:56:23 +0200 Subject: [PATCH] Revert "bootloader + bootloader_api" This reverts commit cbbe3e18c8d68e082a85269d85ca8b7182a9cb5d. --- .cargo/config.toml | 2 - Cargo.lock | 699 ------------------------------------- Cargo.toml | 30 +- kernel/.dir-locals.el | 3 - kernel/Cargo.toml | 12 - kernel/src/framebuffer.rs | 62 ---- kernel/src/idt.rs | 8 - kernel/src/instructions.rs | 10 - kernel/src/main.rs | 10 - os/.cargo/config.toml | 2 - os/.dir-locals.el | 3 - os/Cargo.toml | 13 - os/build.rs | 24 -- os/src/main.rs | 22 -- rust-toolchain.toml | 2 - 15 files changed, 19 insertions(+), 883 deletions(-) delete mode 100644 .cargo/config.toml delete mode 100644 Cargo.lock delete mode 100644 kernel/.dir-locals.el delete mode 100644 kernel/Cargo.toml delete mode 100644 kernel/src/framebuffer.rs delete mode 100644 kernel/src/idt.rs delete mode 100644 kernel/src/instructions.rs delete mode 100644 kernel/src/main.rs delete mode 100644 os/.cargo/config.toml delete mode 100644 os/.dir-locals.el delete mode 100644 os/Cargo.toml delete mode 100644 os/build.rs delete mode 100644 os/src/main.rs delete mode 100644 rust-toolchain.toml diff --git a/.cargo/config.toml b/.cargo/config.toml deleted file mode 100644 index dfa84e8..0000000 --- a/.cargo/config.toml +++ /dev/null @@ -1,2 +0,0 @@ -[unstable] -bindeps = true diff --git a/Cargo.lock b/Cargo.lock deleted file mode 100644 index 4297217..0000000 --- a/Cargo.lock +++ /dev/null @@ -1,699 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "anyhow" -version = "1.0.68" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - -[[package]] -name = "bit_field" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcb6dd1c2376d2e096796e234a70e17e94cc2d5d54ff8ce42b28cef1d0d359a4" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitvec" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] - -[[package]] -name = "bootloader" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8880371b6167e7b3aaf341ee9a2f41de1e09215e9e6fb2460d10ee080edda6d" -dependencies = [ - "anyhow", - "fatfs", - "gpt", - "llvm-tools", - "mbrman", - "tempfile", -] - -[[package]] -name = "bootloader_api" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "babfb07dea4565842980315ad530a023aa348db43d03dfa104a70fdaca97d48e" - -[[package]] -name = "build_const" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ae4235e6dac0694637c763029ecea1a2ec9e4e06ec2729bd21ba4d9c863eb7" - -[[package]] -name = "bumpalo" -version = "3.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" - -[[package]] -name = "byteorder" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" - -[[package]] -name = "cc" -version = "1.0.78" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "chrono" -version = "0.4.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" -dependencies = [ - "iana-time-zone", - "js-sys", - "num-integer", - "num-traits", - "time", - "wasm-bindgen", - "winapi", -] - -[[package]] -name = "codespan-reporting" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" -dependencies = [ - "termcolor", - "unicode-width", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" - -[[package]] -name = "crc" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d663548de7f5cca343f1e0a48d14dcfb0e9eb4e079ec58883b7251539fa10aeb" -dependencies = [ - "build_const", -] - -[[package]] -name = "cxx" -version = "1.0.85" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5add3fc1717409d029b20c5b6903fc0c0b02fa6741d820054f4a2efa5e5816fd" -dependencies = [ - "cc", - "cxxbridge-flags", - "cxxbridge-macro", - "link-cplusplus", -] - -[[package]] -name = "cxx-build" -version = "1.0.85" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c87959ba14bc6fbc61df77c3fcfe180fc32b93538c4f1031dd802ccb5f2ff0" -dependencies = [ - "cc", - "codespan-reporting", - "once_cell", - "proc-macro2", - "quote", - "scratch", - "syn", -] - -[[package]] -name = "cxxbridge-flags" -version = "1.0.85" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69a3e162fde4e594ed2b07d0f83c6c67b745e7f28ce58c6df5e6b6bef99dfb59" - -[[package]] -name = "cxxbridge-macro" -version = "1.0.85" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e7e2adeb6a0d4a282e581096b06e1791532b7d576dcde5ccd9382acf55db8e6" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "fastrand" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" -dependencies = [ - "instant", -] - -[[package]] -name = "fatfs" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e18f80a87439240dac45d927fd8f8081b6f1e34c03e97271189fa8a8c2e96c8f" -dependencies = [ - "bitflags", - "byteorder", - "chrono", - "log", -] - -[[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - -[[package]] -name = "getrandom" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" -dependencies = [ - "cfg-if", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", -] - -[[package]] -name = "gpt" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dd7365d734a70ac5dd7be791b0c96083852188df015b8c665bb2dadb108a743" -dependencies = [ - "bitflags", - "crc", - "log", - "uuid", -] - -[[package]] -name = "hyperion" -version = "0.1.0" -dependencies = [ - "bootloader", - "hyperion_kernel", - "ovmf-prebuilt", -] - -[[package]] -name = "hyperion_kernel" -version = "0.1.0" -dependencies = [ - "bootloader_api", - "spin", - "x86_64", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.53" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "winapi", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" -dependencies = [ - "cxx", - "cxx-build", -] - -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "js-sys" -version = "0.3.60" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "libc" -version = "0.2.139" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" - -[[package]] -name = "link-cplusplus" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" -dependencies = [ - "cc", -] - -[[package]] -name = "llvm-tools" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955be5d0ca0465caf127165acb47964f911e2bc26073e865deb8be7189302faf" - -[[package]] -name = "lock_api" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "mbrman" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4b239f4755d00466e3ac1d55ddeaf77a66c7580352fc6cbc40d56c218fc94a9" -dependencies = [ - "bincode", - "bitvec", - "serde", - "serde-big-array", - "thiserror", -] - -[[package]] -name = "num-integer" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" -dependencies = [ - "autocfg", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" -dependencies = [ - "autocfg", -] - -[[package]] -name = "once_cell" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" - -[[package]] -name = "ovmf-prebuilt" -version = "0.1.0-alpha.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa50141d081512ab30fd9e7e7692476866df5098b028536ad6680212e717fa8d" - -[[package]] -name = "proc-macro2" -version = "1.0.49" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "radium" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" - -[[package]] -name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags", -] - -[[package]] -name = "remove_dir_all" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -dependencies = [ - "winapi", -] - -[[package]] -name = "rustversion" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" - -[[package]] -name = "scopeguard" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" - -[[package]] -name = "scratch" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" - -[[package]] -name = "serde" -version = "1.0.152" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde-big-array" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3323f09a748af288c3dc2474ea6803ee81f118321775bffa3ac8f7e65c5e90e7" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_derive" -version = "1.0.152" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "spin" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6002a767bff9e83f8eeecf883ecb8011875a21ae8da43bffb817a57e78cc09" -dependencies = [ - "lock_api", -] - -[[package]] -name = "syn" -version = "1.0.107" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - -[[package]] -name = "tempfile" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" -dependencies = [ - "cfg-if", - "fastrand", - "libc", - "redox_syscall", - "remove_dir_all", - "winapi", -] - -[[package]] -name = "termcolor" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "thiserror" -version = "1.0.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "time" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" -dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi", -] - -[[package]] -name = "unicode-ident" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" - -[[package]] -name = "unicode-width" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" - -[[package]] -name = "uuid" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" -dependencies = [ - "getrandom", -] - -[[package]] -name = "volatile" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3ca98349dda8a60ae74e04fd90c7fb4d6a4fbe01e6d3be095478aa0b76f6c0c" - -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasm-bindgen" -version = "0.2.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "wyz" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" -dependencies = [ - "tap", -] - -[[package]] -name = "x86_64" -version = "0.14.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "100555a863c0092238c2e0e814c1096c1e5cf066a309c696a87e907b5f8c5d69" -dependencies = [ - "bit_field", - "bitflags", - "rustversion", - "volatile", -] diff --git a/Cargo.toml b/Cargo.toml index ae0b0bb..099d9f7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,11 +1,19 @@ -[workspace] -members = ["kernel", "os"] -default-members = ["os"] - -# [profile.dev.package.hyperion_kernel] -# opt-level = 3 -# debug = false -# debug-assertions = false -# overflow-checks = false -# incremental = false -# codegen-units = 16 +[package] +name = "hyperion" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[lib] +crate-type = ["staticlib"] + +[profile.release] +debug = 1 + +[dependencies] + + +[build-dependencies] +#cc = "1.0.78" +nasm-rs = "0.2.4" diff --git a/kernel/.dir-locals.el b/kernel/.dir-locals.el deleted file mode 100644 index df82ef1..0000000 --- a/kernel/.dir-locals.el +++ /dev/null @@ -1,3 +0,0 @@ -((nil . ((lsp-rust-analyzer-cargo-target . "x86_64-unknown-none") - (lsp-rust-all-targets . nil) - (lsp-rust-analyzer-cargo-all-targets . nil)))) diff --git a/kernel/Cargo.toml b/kernel/Cargo.toml deleted file mode 100644 index 32232e0..0000000 --- a/kernel/Cargo.toml +++ /dev/null @@ -1,12 +0,0 @@ -[package] -name = "hyperion_kernel" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -bootloader_api = "0.11.0" -#bitflags = "1.3.2" -x86_64 = "0.14.10" -spin = "0.9.4" diff --git a/kernel/src/framebuffer.rs b/kernel/src/framebuffer.rs deleted file mode 100644 index 619f913..0000000 --- a/kernel/src/framebuffer.rs +++ /dev/null @@ -1,62 +0,0 @@ -use bootloader_api::{ - info::{FrameBuffer, Optional}, - BootInfo, -}; -use spin::Mutex; - -// - -pub fn init(boot_info: &'static mut BootInfo) { - let mut framebuffer = Optional::None; - core::mem::swap(&mut boot_info.framebuffer, &mut framebuffer); - - if let Some(framebuffer) = framebuffer.into_option() { - init_with(framebuffer); - } -} - -pub fn init_with(framebuffer: FrameBuffer) { - *FRAMEBUFFER.lock() = Some(framebuffer); -} - -pub fn clear() { - let mut fb = FRAMEBUFFER.lock(); - if let Some(fb) = &mut *fb { - fb.buffer_mut().fill(0); - } -} - -pub fn print_char(character: u8) { - let mut fb = FRAMEBUFFER.lock(); - if let Some(fb) = &mut *fb { - let px = fb.info().bytes_per_pixel; - let row = px * fb.info().stride; - - for y in 0..8 { - for x in 0..8 { - for channel in 0..4 { - fb.buffer_mut()[channel + x * px + y * row] = FONT[character as usize][y][x]; - } - } - } - } -} - -// - -static FRAMEBUFFER: Mutex<Option<FrameBuffer>> = Mutex::new(None); - -static FONT: [[[u8; 8]; 8]; 256] = { - let mut font = [[[0; 8]; 8]; 256]; - font[b'H' as usize] = [ - [0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF], - [0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF], - [0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF], - [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF], - [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF], - [0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF], - [0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF], - [0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF], - ]; - font -}; diff --git a/kernel/src/idt.rs b/kernel/src/idt.rs deleted file mode 100644 index eb266e1..0000000 --- a/kernel/src/idt.rs +++ /dev/null @@ -1,8 +0,0 @@ -use x86_64::structures::idt::{InterruptDescriptorTable, InterruptStackFrame}; - -pub fn init() { - let mut idt = InterruptDescriptorTable::new(); - idt.breakpoint.set_handler_fn(breakpoint_handler); -} - -extern "x86-interrupt" fn breakpoint_handler(stack_frame: InterruptStackFrame) {} diff --git a/kernel/src/instructions.rs b/kernel/src/instructions.rs deleted file mode 100644 index a56dbf9..0000000 --- a/kernel/src/instructions.rs +++ /dev/null @@ -1,10 +0,0 @@ -use core::arch::asm; - -// - -/// Halts the CPU and never returns -pub fn hlt() -> ! { - loop { - unsafe { asm!("hlt") } - } -} diff --git a/kernel/src/main.rs b/kernel/src/main.rs deleted file mode 100644 index fd63769..0000000 --- a/kernel/src/main.rs +++ /dev/null @@ -1,10 +0,0 @@ -#![no_std] -#![no_main] - -const CONFIG: bootloader_api::BootloaderConfig = { - let mut config = bootloader_api::BootloaderConfig::new_default(); - config.kernel_stack_size = 4096 * 4; // 16KiB - config -}; - -bootloader_api::entry_point!(hyperion_kernel::kernel_main, config = &CONFIG); diff --git a/os/.cargo/config.toml b/os/.cargo/config.toml deleted file mode 100644 index dfa84e8..0000000 --- a/os/.cargo/config.toml +++ /dev/null @@ -1,2 +0,0 @@ -[unstable] -bindeps = true diff --git a/os/.dir-locals.el b/os/.dir-locals.el deleted file mode 100644 index 7baa4f3..0000000 --- a/os/.dir-locals.el +++ /dev/null @@ -1,3 +0,0 @@ -((nil . ((lsp-rust-analyzer-cargo-target . nil) - (lsp-rust-all-targets . nil) - (lsp-rust-analyzer-cargo-all-targets . nil)))) diff --git a/os/Cargo.toml b/os/Cargo.toml deleted file mode 100644 index 5794f1a..0000000 --- a/os/Cargo.toml +++ /dev/null @@ -1,13 +0,0 @@ -[package] -name = "hyperion" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -ovmf-prebuilt = "0.1.0-alpha.1" - -[build-dependencies] -hyperion_kernel = { path = "../kernel", artifact = "bin", target = "x86_64-unknown-none" } -bootloader = "0.11.0" diff --git a/os/build.rs b/os/build.rs deleted file mode 100644 index 05e5ce8..0000000 --- a/os/build.rs +++ /dev/null @@ -1,24 +0,0 @@ -use std::{env::var_os, path::PathBuf}; - -// - -fn main() { - let out_dir = PathBuf::from(var_os("OUT_DIR").unwrap()); - let kernel = PathBuf::from(var_os("CARGO_BIN_FILE_HYPERION_KERNEL").unwrap()); - - // create an UEFI disk image (optional) - let uefi_path = out_dir.join("uefi.img"); - bootloader::UefiBoot::new(&kernel) - .create_disk_image(&uefi_path) - .unwrap(); - - // create a BIOS disk image (optional) - let bios_path = out_dir.join("bios.img"); - bootloader::BiosBoot::new(&kernel) - .create_disk_image(&bios_path) - .unwrap(); - - // pass the disk image paths as env variables to the `main.rs` - println!("cargo:rustc-env=UEFI_PATH={}", uefi_path.display()); - println!("cargo:rustc-env=BIOS_PATH={}", bios_path.display()); -} diff --git a/os/src/main.rs b/os/src/main.rs deleted file mode 100644 index 56ba2c0..0000000 --- a/os/src/main.rs +++ /dev/null @@ -1,22 +0,0 @@ -use std::{env::args, process::Command}; - -// - -fn main() { - let uefi_path = env!("UEFI_PATH"); - let bios_path = env!("BIOS_PATH"); - - let uefi = !args().find(|s| s == "--bios").is_some(); - - let mut cmd = Command::new("qemu-system-x86_64"); - if uefi { - cmd.arg("-bios") - .arg(ovmf_prebuilt::ovmf_pure_efi()) - .arg("-drive") - .arg(format!("format=raw,file={uefi_path}")); - } else { - cmd.arg("-drive") - .arg(format!("format=raw,file={bios_path}")); - } - cmd.spawn().unwrap().wait().unwrap(); -} diff --git a/rust-toolchain.toml b/rust-toolchain.toml deleted file mode 100644 index 5d56faf..0000000 --- a/rust-toolchain.toml +++ /dev/null @@ -1,2 +0,0 @@ -[toolchain] -channel = "nightly" -- GitLab