Add interrupts and IDT and react to double, page, general prot faults

and breakpoints, add keyboard support through the keyboar interrupt, add
paging memory management and a Frame Allocator, add a generic arch
module that initializes arch-specific things, fix framebuffer and
serialconsole being accessed from multiple places, move serial to driver
since its not actually a serial console.
This commit is contained in:
csd4ni3l
2026-03-24 13:48:31 +01:00
parent e28b898d79
commit 269d900d97
17 changed files with 334 additions and 74 deletions

17
kernel/Cargo.lock generated
View File

@@ -10,6 +10,8 @@ dependencies = [
"lazy_static",
"limine",
"micromath",
"pc-keyboard",
"pic8259",
"spin 0.10.0",
"x86_64",
]
@@ -71,6 +73,21 @@ version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3c8dda44ff03a2f238717214da50f65d5a53b45cd213a7370424ffdb6fae815"
[[package]]
name = "pc-keyboard"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0ca629cbb3f0d5b699c338f0129ff78c9bfd7ea8b1258ad529bff490dc8ed5a"
[[package]]
name = "pic8259"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62d9a86c292b165f757e47e7fd66855def189b2564609bc4203727b27c33db22"
dependencies = [
"x86_64",
]
[[package]]
name = "rustversion"
version = "1.0.22"