diff options
| author | Natasha Moongrave <natasha@256phi.eu> | 2026-02-18 19:30:03 +0100 |
|---|---|---|
| committer | Natasha Moongrave <natasha@256phi.eu> | 2026-02-18 19:30:03 +0100 |
| commit | cc3f06848d521f1602dfb7603ee205b8e549016b (patch) | |
| tree | 8778e684bc913205d9b822c109cd9680cca064e2 | |
| parent | a008a0ce567dc0efb55536eb9306c86f3a0551a9 (diff) | |
fixed some of the stuff by copying directly from the tutorial (mine had errors)
| -rw-r--r-- | StrixKernel/.cargo/config.toml | 10 | ||||
| -rw-r--r-- | StrixKernel/.gitignore | 4 | ||||
| -rw-r--r-- | StrixKernel/Cargo.lock | 14 | ||||
| -rw-r--r-- | StrixKernel/Cargo.toml | 3 | ||||
| -rw-r--r-- | StrixKernel/rust-toolchain | 1 | ||||
| -rw-r--r-- | StrixKernel/src/lib.rs | 2 | ||||
| -rw-r--r-- | StrixKernel/src/main.rs | 12 | ||||
| -rw-r--r-- | StrixKernel/src/serial.rs | 2 | ||||
| -rw-r--r-- | StrixKernel/src/vga_buffer.rs | 2 | ||||
| -rw-r--r-- | StrixKernel/tests/basic_boot.rs | 2 | ||||
| -rw-r--r-- | StrixKernel/tests/should_panic.rs | 2 | ||||
| -rw-r--r-- | StrixKernel/x86_64-strix_os.json (renamed from x86_64-strix.json) | 2 |
12 files changed, 33 insertions, 23 deletions
diff --git a/StrixKernel/.cargo/config.toml b/StrixKernel/.cargo/config.toml new file mode 100644 index 0000000..c9fae1b --- /dev/null +++ b/StrixKernel/.cargo/config.toml @@ -0,0 +1,10 @@ +[unstable] +json-target-spec = true +build-std = ["core", "compiler_builtins"] +build-std-features = ["compiler-builtins-mem"] + +[build] +target = "x86_64-strix_os.json" + +[target.'cfg(target_os = "none")'] +runner = "bootimage runner" diff --git a/StrixKernel/.gitignore b/StrixKernel/.gitignore new file mode 100644 index 0000000..a7afaa8 --- /dev/null +++ b/StrixKernel/.gitignore @@ -0,0 +1,4 @@ +/target +**/*.rs.bk + +.vscode diff --git a/StrixKernel/Cargo.lock b/StrixKernel/Cargo.lock index 3cf33fb..9c42f8d 100644 --- a/StrixKernel/Cargo.lock +++ b/StrixKernel/Cargo.lock @@ -4,9 +4,9 @@ version = 4 [[package]] name = "bit_field" -version = "0.10.3" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e4b40c7323adcfc0a41c4b88143ed58346ff65a288fc144329c5c45e05d70c6" +checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" [[package]] name = "bitflags" @@ -16,15 +16,15 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.11.0" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" +checksum = "6a65b545ab31d687cff52899d4890855fec459eb6afe0da6417b8a18da87aa29" [[package]] name = "bootloader" -version = "0.9.34" +version = "0.9.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13f6a8a495d2f93fe3d6eb3a224f9aa749a63cfd746ed03eb5ddcbd00ade7d8f" +checksum = "7bdfddac270bbdd45903296bc1caf29a7fdce6b326aaf0bbab7f04c5f98b7447" [[package]] name = "lazy_static" @@ -95,7 +95,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c101112411baafbb4bf8d33e4c4a80ab5b02d74d2612331c61e8192fc9710491" dependencies = [ "bit_field", - "bitflags 2.11.0", + "bitflags 2.9.2", "rustversion", "volatile 0.4.6", ] diff --git a/StrixKernel/Cargo.toml b/StrixKernel/Cargo.toml index 3aa6d3b..cd7e04a 100644 --- a/StrixKernel/Cargo.toml +++ b/StrixKernel/Cargo.toml @@ -1,6 +1,7 @@ [package] name = "strix_os" version = "0.1.0" +authors = ["Philipp Oppermann <dev@phil-opp.com>"] edition = "2024" [[test]] @@ -33,4 +34,4 @@ test-args = [ "-display", "none", ] -test-success-exit-code = 33 # (0x10 << 1) | 1
\ No newline at end of file +test-success-exit-code = 33 # (0x10 << 1) | 1 diff --git a/StrixKernel/rust-toolchain b/StrixKernel/rust-toolchain new file mode 100644 index 0000000..bf867e0 --- /dev/null +++ b/StrixKernel/rust-toolchain @@ -0,0 +1 @@ +nightly diff --git a/StrixKernel/src/lib.rs b/StrixKernel/src/lib.rs index 0b659ea..fd3630d 100644 --- a/StrixKernel/src/lib.rs +++ b/StrixKernel/src/lib.rs @@ -67,4 +67,4 @@ pub extern "C" fn _start() -> ! { #[panic_handler] fn panic(info: &PanicInfo) -> ! { test_panic_handler(info) -}
\ No newline at end of file +} diff --git a/StrixKernel/src/main.rs b/StrixKernel/src/main.rs index 3d3130f..ce5f1a8 100644 --- a/StrixKernel/src/main.rs +++ b/StrixKernel/src/main.rs @@ -1,5 +1,3 @@ -// main.rs - #![no_std] #![no_main] #![feature(custom_test_frameworks)] @@ -7,14 +5,12 @@ #![reexport_test_harness_main = "test_main"] use strix_os::println; -use::strix_os::print; use core::panic::PanicInfo; #[unsafe(no_mangle)] pub extern "C" fn _start() -> ! { println!("Hello World{}", "!"); - println!("StrixOS is now active"); - // panic!("Oopsie we panickied :3"); + println!("The Strix OS kernel is now online"); #[cfg(test)] test_main(); @@ -26,7 +22,7 @@ pub extern "C" fn _start() -> ! { #[cfg(not(test))] #[panic_handler] fn panic(info: &PanicInfo) -> ! { - println!("{}", info); + println!("Oppsie woopsie it appears something {}", info); loop {} } @@ -38,7 +34,5 @@ fn panic(info: &PanicInfo) -> ! { #[test_case] fn trivial_assertion() { - println!("trivial assertion... "); assert_eq!(1, 1); - println!("[ok]"); -}
\ No newline at end of file +} diff --git a/StrixKernel/src/serial.rs b/StrixKernel/src/serial.rs index e8aeb33..e8807df 100644 --- a/StrixKernel/src/serial.rs +++ b/StrixKernel/src/serial.rs @@ -34,4 +34,4 @@ macro_rules! serial_println { ($fmt:expr) => ($crate::serial_print!(concat!($fmt, "\n"))); ($fmt:expr, $($arg:tt)*) => ($crate::serial_print!( concat!($fmt, "\n"), $($arg)*)); -}
\ No newline at end of file +} diff --git a/StrixKernel/src/vga_buffer.rs b/StrixKernel/src/vga_buffer.rs index 0f3e22f..70f2952 100644 --- a/StrixKernel/src/vga_buffer.rs +++ b/StrixKernel/src/vga_buffer.rs @@ -190,4 +190,4 @@ fn test_println_output() { let screen_char = WRITER.lock().buffer.chars[BUFFER_HEIGHT - 2][i].read(); assert_eq!(char::from(screen_char.ascii_character), c); } -}
\ No newline at end of file +} diff --git a/StrixKernel/tests/basic_boot.rs b/StrixKernel/tests/basic_boot.rs index e29dcea..3707458 100644 --- a/StrixKernel/tests/basic_boot.rs +++ b/StrixKernel/tests/basic_boot.rs @@ -22,4 +22,4 @@ fn panic(info: &PanicInfo) -> ! { #[test_case] fn test_println() { println!("test_println output"); -}
\ No newline at end of file +} diff --git a/StrixKernel/tests/should_panic.rs b/StrixKernel/tests/should_panic.rs index 3cbe0a8..ad58af2 100644 --- a/StrixKernel/tests/should_panic.rs +++ b/StrixKernel/tests/should_panic.rs @@ -22,4 +22,4 @@ fn panic(_info: &PanicInfo) -> ! { serial_println!("[ok]"); exit_qemu(QemuExitCode::Success); loop {} -}
\ No newline at end of file +} diff --git a/x86_64-strix.json b/StrixKernel/x86_64-strix_os.json index a66b07b..9d67ab3 100644 --- a/x86_64-strix.json +++ b/StrixKernel/x86_64-strix_os.json @@ -13,4 +13,4 @@ "disable-redzone": true, "features": "-mmx,-sse,+soft-float", "rustc-abi": "x86-softfloat" -} + }
\ No newline at end of file |
