aboutsummaryrefslogtreecommitdiff
path: root/mirai/boot
AgeCommit message (Collapse)AuthorFilesLines
2026-02-25Add Global Descriptor Table (GDT) and Task State Segment (TSS) implementationBobby39-0/+1093
- Introduced GDT constants, including selectors, access rights, and flags. - Created GDT entry structures for kernel and user segments, along with TSS descriptors. - Implemented GDT initialization and loading functions. - Developed boot sequence phases for CPU and memory initialization. - Added boot information structure to manage memory regions and kernel details. - Implemented TSS management, including core-specific TSS setup and stack allocation. - Established state management for boot sequence phases and TSS.
2026-02-24Bunch of stuff moved as .old for new arch changeBobby9-564/+0
2026-02-23feat: Enhance Kata memory management with stack growth support and ↵Bobby1-1/+3
additional user stack properties
2026-02-20feat: Refactor path handling to use location utilities and update related ↵Bobby1-2/+2
structures - Replaced path references with location in various modules for consistency. - Updated attachment management to use location instead of path. - Enhanced I/O operations to handle location parameters. - Removed deprecated path utilities and integrated location utilities. - Adjusted limits and parameters for kata and attachment management.
2026-02-20feat: Implement CMOS/RTC and CPUID operations, add PIT driver, and enhance ↵Bobby1-0/+5
AFS with disk info retrieval
2026-02-20refactor: Update resource management in Makefile and adjust font pathsBobby1-1/+1
2026-02-15Refactor Kata Memory Management and SchedulerBobby1-1/+1
- Updated memory management in `memory.zig` to improve virtual buffer allocation and deallocation. - Removed `sensei.zig` and refactored scheduling logic into new files: `queue.zig`, `sensei.zig`, and `waker.zig`. - Introduced `attachment.zig` for managing attachments with new constants and limits. - Created `pool.zig` for managing the Kata pool, including creation and dissolution of Katas. - Enhanced `types.zig` to define new structures and enums for Katas and their states. - Improved context switching in `shift.zig` to streamline Kata execution state management. - Updated file references and imports across the codebase to reflect new structure.
2026-02-15Refactor Crimson Panic Handler and Exception ManagementBobby1-1/+1
- Renamed panic.zig to crimson.zig for clarity and restructured panic handling functions. - Moved exception handling logic from exceptions.zig to a new exception.zig file. - Updated imports across the codebase to reflect the new file structure. - Introduced a new types.zig file to define Context and ExceptionFrame structures. - Added formatting utilities in format.zig for better register and stack frame representation. - Implemented screen rendering functions in render.zig for displaying error messages and system state during panic. - Consolidated color definitions in colors.zig and added new constants for better readability. - Removed obsolete exception handling code and integrated it into the new structure.
2026-02-15Refactor Multiboot Integration and Enhance Terminal FunctionalityBobby13-630/+557
- Updated multiboot imports to use the new directory structure. - Refactored font handling to utilize new PSF constants and terminal limits. - Improved terminal implementation by integrating ASCII and color constants. - Introduced a new GDT implementation with proper segment definitions. - Added framebuffer and memory parsing for multiboot protocol. - Enhanced boot sequence with structured message handling and error reporting. - Established constants for terminal dimensions and boot limits. - Created a dedicated TSS implementation for task management.
2026-02-15Refactor I/O operations and update driver importsBobby4-14/+14
- Renamed I/O port functions for clarity: `write_port_byte` to `out_byte`, `read_port_byte` to `in_byte`, `write_port_word` to `out_word`, `read_port_word` to `in_word`, `write_port_long` to `out_long`, and `read_port_long` to `in_long`. - Updated import paths for serial, ahci, ata, gpt, keyboard, terminal, and other drivers to reflect new directory structure. - Replaced instances of `read_file_by_path` with `view_unit_at` in various files for consistency. - Added new utility functions for AHCI FIS setup and defined types for AHCI and PCI. - Introduced string copy utilities for handling strings from Kata pointers.
2026-02-13Refactor interrupt handling and syscall entryBobby1-19/+2
- Moved ISR and IRQ handler definitions to a new assembly file (isr.zig). - Simplified IDT setup by using ISR and IRQ handlers from isr.zig. - Replaced inline assembly for IRQ handlers with calls to new ISR functions. - Introduced a new context switching mechanism in context.zig for Kata execution. - Updated syscall entry handling in entry.zig to streamline context saving and restoring. - Removed redundant context structures and functions from shift.zig. - Improved clarity and organization of syscall and interrupt handling code.
2026-01-28refactor: Replace inline assembly with CPU and I/O functions across multiple ↵Bobby2-15/+9
modules
2026-01-28fix: Correct typo in boot message textBobby1-1/+1
2026-01-28feat: Remove delay function and its usage in boot sequence and message replayBobby1-15/+0
2026-01-27feat: Dynamically calculate kernel end address using linker symbolBobby1-1/+1
2026-01-27Refactor memory management and system constantsBobby1-2/+2
- Moved memory-related constants from `constants.zig` to `system/constants.zig` for better organization. - Introduced `system/limits.zig` to centralize system-wide limits and constants. - Updated various modules to use the new `system` module for accessing constants and limits. - Added validation functions for user pointers and memory ranges in `system/limits.zig`. - Enhanced file handling in `afs.zig` with a new function to get file size by path. - Improved error handling and validation in various invocations and memory management functions. - Marked the end of the kernel in the linker script for memory management.
2026-01-23feat: Integrate memory constants across modules for improved configuration ↵Bobby1-22/+6
management
2026-01-23feat: Remove debug print statements across various modules to clean up outputBobby1-4/+1
2026-01-23feat: Remove debug print statements across various invocations and the schedulerBobby1-2/+0
2026-01-22feat: Implement keyboard input handling and shell functionalityBobby2-0/+11
- Added framebuffer initialization and retrieval functions in multiboot2.zig. - Integrated framebuffer support into the boot sequence. - Refactored keyboard driver to use a circular buffer for input and added blocking behavior for kata waiting on keyboard input. - Enhanced kata management to support blocking and waking katas based on keyboard input. - Introduced a new invocation for reading a character from the keyboard (getkeychar). - Implemented a simple shell (ash) that reads user input and echoes it back. - Updated syscall handling to include the new getkeychar invocation. - Improved memory management for loading programs and handling user/kernel stacks. - Added functionality to wake katas waiting for specific events, such as the dissolution of other katas.
2025-12-30feat: refactor Pulse init system to improve loading sequence and remove ↵Bobby1-23/+24
debug code
2025-12-30feat: improve panic diagnostics, memory paging, and system task loadingBobby2-0/+29
2025-12-16separate invocations; moved helper functions to utils; created invocations ↵Bobby1-7/+2
for spawn, wait for kata handling; added required fields in kata
2025-12-12file descriptors, IO, and more invocationsBobby1-0/+5
2025-12-11added thematic crimson in boot sequenceBobby1-0/+3
2025-12-11updated sequence to init hikariBobby1-0/+5
2025-12-09invocations (syscalls) using syscall/sysretBobby2-0/+9
2025-12-09kata (processes) and sensei (scheduler) using CFS lite systemBobby1-0/+15
2025-12-09add gdt and tssBobby3-1/+278
2025-12-09crimson panic handler for mirai; move exception handling from idt to crimsonBobby1-0/+2
2025-12-08clean up and update boot sequenceBobby1-128/+81
2025-12-01implement GPT parser, ACHI and PCI drivers, update AFS to use AHCIBobby1-58/+91
2025-12-01fix inconsistencies in shell and nav commandBobby1-1/+1
2025-12-01clean up main with simulated boot sequenceBobby1-0/+223
2025-11-28bring framebuffer and terminal backBobby1-0/+61
2025-11-28modify multiboot for hybrid kernel (identity + higher half)Bobby1-50/+30
2025-11-27add akiba filesystem with ata, serial, and vga driversBobby1-0/+87