| Age | Commit message (Collapse) | Author | Files | Lines |
|
- Refactored CPU context structure for better readability.
- Enhanced corpse and exception structures with clearer formatting.
- Improved frame structure for consistency.
- Added interrupt flag operations for enabling and disabling interrupts.
- Implemented IDT (Interrupt Descriptor Table) operations including loading and setting gates.
- Created PIC (Programmable Interrupt Controller) initialization and masking functions.
- Developed PIT (Programmable Interval Timer) driver with initialization and handler functions.
- Established common interrupt handler structure and exception handling stubs.
- Added hardware IRQ handling for IRQs 0-15.
- Introduced IDT entry and gate descriptor types for better organization.
- Ensured proper handling of interrupt and exception vectors.
|
|
- 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.
|
|
|
|
|
|
|
|
page tables
|
|
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.
|
|
AFS with disk info retrieval
|
|
- 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.
|
|
- 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.
|
|
- Introduced ATA constants and limits for commands, status registers, and device signatures.
- Added keyboard constants and limits for scancodes and buffer size.
- Implemented PCI configuration constants and limits for device enumeration.
- Created I/O port constants for serial communication and keyboard interaction.
- Developed AHCI driver for SATA devices, including port operations and command handling.
- Implemented ATA PIO block device driver for reading sectors.
- Added PS/2 keyboard driver with scancode handling and input buffering.
- Created serial port driver for outputting data and formatted printing.
- Developed VGA text mode driver for character display and screen management.
|
|
PCI drivers
|
|
|
|
- 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.
|
|
management
|
|
improved readability
|
|
|
|
- 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|