summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-07-31 02:41:54 +0200
committersalmonik <salmonik@tuta.io>2026-07-31 02:41:54 +0200
commitd253a15ca4a1da092277fe0060a550788616aae7 (patch)
tree7b61314675d95aeb028f4da36556cecda44b9e60 /src
parentfix: ISR dispatch calling convention + PS/2 interrupt enable (diff)
downloadrs-dos-d253a15ca4a1da092277fe0060a550788616aae7.tar.gz
rs-dos-d253a15ca4a1da092277fe0060a550788616aae7.zip
bump: 0.1.0 → 0.2.0 — working interrupt handling
Interrupts are functional: PIT timer (~100 Hz), PS/2 keyboard IRQ with lock-free SPSC ring buffer, PIC remapped, IDT with 64-bit interrupt gates. Kernel runs cleanly with no exceptions.
Diffstat (limited to '')
-rw-r--r--src/shell.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/shell.rs b/src/shell.rs
index f21525e..2f8b8f7 100644
--- a/src/shell.rs
+++ b/src/shell.rs
@@ -7,8 +7,8 @@ const LINE_BUF_SIZE: usize = 256;
7 7
8/// Run the shell forever. 8/// Run the shell forever.
9pub fn run() -> ! { 9pub fn run() -> ! {
10 gop_println!("raisernics v0.1 — type 'help' for commands"); 10 gop_println!("raisernics v0.2 — type 'help' for commands");
11 serial_println!("========== raisernics v0.1 =========="); 11 serial_println!("========== raisernics v0.2 ==========");
12 12
13 loop { 13 loop {
14 // Print prompt 14 // Print prompt
@@ -125,7 +125,7 @@ fn cmd_clear() {
125 125
126fn cmd_info() { 126fn cmd_info() {
127 // Test that the global allocator works: build a String on the heap 127 // Test that the global allocator works: build a String on the heap
128 let mut s = alloc::string::String::from("raisernics v0.1"); 128 let mut s = alloc::string::String::from("raisernics v0.2");
129 s.push_str(" — RNG custom kernel"); 129 s.push_str(" — RNG custom kernel");
130 gop_println!("{}", s); 130 gop_println!("{}", s);
131 gop_println!("arch: x86_64, freestanding, no userspace"); 131 gop_println!("arch: x86_64, freestanding, no userspace");