aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNatasha Moongrave <natasha@256phi.eu>2026-02-18 19:30:03 +0100
committerNatasha Moongrave <natasha@256phi.eu>2026-02-18 19:30:03 +0100
commitcc3f06848d521f1602dfb7603ee205b8e549016b (patch)
tree8778e684bc913205d9b822c109cd9680cca064e2
parenta008a0ce567dc0efb55536eb9306c86f3a0551a9 (diff)
fixed some of the stuff by copying directly from the tutorial (mine had errors)
-rw-r--r--StrixKernel/.cargo/config.toml10
-rw-r--r--StrixKernel/.gitignore4
-rw-r--r--StrixKernel/Cargo.lock14
-rw-r--r--StrixKernel/Cargo.toml3
-rw-r--r--StrixKernel/rust-toolchain1
-rw-r--r--StrixKernel/src/lib.rs2
-rw-r--r--StrixKernel/src/main.rs12
-rw-r--r--StrixKernel/src/serial.rs2
-rw-r--r--StrixKernel/src/vga_buffer.rs2
-rw-r--r--StrixKernel/tests/basic_boot.rs2
-rw-r--r--StrixKernel/tests/should_panic.rs2
-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