diff options
| author | salmonik <salmonik@tuta.io> | 2026-07-31 02:41:54 +0200 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-07-31 02:41:54 +0200 |
| commit | d253a15ca4a1da092277fe0060a550788616aae7 (patch) | |
| tree | 7b61314675d95aeb028f4da36556cecda44b9e60 | |
| parent | fix: ISR dispatch calling convention + PS/2 interrupt enable (diff) | |
| download | rs-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-- | Cargo.lock | 2 | ||||
| -rw-r--r-- | Cargo.toml | 2 | ||||
| -rw-r--r-- | src/shell.rs | 6 |
3 files changed, 5 insertions, 5 deletions
| @@ -4,4 +4,4 @@ version = 4 | |||
| 4 | 4 | ||
| 5 | [[package]] | 5 | [[package]] |
| 6 | name = "raisernics" | 6 | name = "raisernics" |
| 7 | version = "0.1.0" | 7 | version = "0.2.0" |
| @@ -1,6 +1,6 @@ | |||
| 1 | [package] | 1 | [package] |
| 2 | name = "raisernics" | 2 | name = "raisernics" |
| 3 | version = "0.1.0" | 3 | version = "0.2.0" |
| 4 | edition = "2021" | 4 | edition = "2021" |
| 5 | 5 | ||
| 6 | [profile.release] | 6 | [profile.release] |
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. |
| 9 | pub fn run() -> ! { | 9 | pub 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 | ||
| 126 | fn cmd_info() { | 126 | fn 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"); |
