See also: Kernel Index, HAL, Init
This directory contains architecture-specific implementations.
Supported Architectures
Currently only i686 (Intel 32-bit) has concrete implementations. x86_64 and aarch64 are planned but not yet implemented.
i686 Architecture (kernel/arch/i686/)
Directory Structure
| Directory | Contents |
|---|---|
|
Kernel entry point ( |
|
GDT, IDT, ISR stubs, IRQ handlers, PIT (i8253), PIC (i8259), TSS, scheduler context switch, usermode entry |
|
PS/2 controller driver, serial port driver |
|
Port I/O wrappers (inb/outb/inw/outw), interrupt control |
|
Paging (page tables), TLB invalidation, stack operations, virtual memory layout definitions |
|
Signal frame setup on user stack, sigreturn trampoline |
|
|
|
VGA text mode driver (80x25 character display) |
Key Files
-
linker.ld— Kernel linker script defining memory layout -
rust-target.json— Rust target configuration (for potential Rust kernel components) -
cpu/isrs_gen.c/cpu/isrs_gen.inc— Auto-generated ISR stubs (generated bycpu/mkisrs.sh) -
mem/vm_layout.h— Virtual memory layout constants
Typical Work in This Area
-
Bring up a new CPU architecture target (x86_64, aarch64)
-
Adjust interrupt, syscall, and context-switch assembly paths
-
Tune paging and trap behavior for architecture-specific semantics