| 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.
|
|
exception raising
- Added `hardware.zig` for raising hardware exceptions from vectors and interrupts.
- Introduced `raise.zig` to consolidate exception raising functions.
- Created `resource.zig` for raising resource-related exceptions (memory, CPU, file limits).
- Developed `software.zig` for raising software exceptions (assertions, aborts, user-defined).
- Implemented `actions.zig` for parsing and encoding reply actions.
- Added `catch.zig` for handling received exceptions.
- Created `reply.zig` for constructing and sending exception replies.
- Developed `recover` module for managing recovery operations (resume, skip, terminate).
- Implemented rendering modules for displaying exception and context information.
- Established global state management in `state.zig` for tracking exceptions.
- Defined various types (context, exception, frame, identity, port) in `types` directory.
|
|
- 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.
|
|
protection functionalities
|
|
functionality
|
|
|
|
support
|
|
|
|
|
|
page tables
|
|
cleanup
|
|
additional user stack properties
|
|
|
|
|
|
Attachments
|
|
|
|
destruction logic
|
|
|
|
|
|
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.
|
|
|
|
|
|
reads and update version to v1.0.0
|
|
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 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.
|
|
- 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.
|
|
utilities
|
|
- 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.
|
|
- Removed the old GPT partition table parser and replaced it with a new implementation in `mirai/fs/gpt/gpt.zig` that adheres to the latest standards.
- Introduced a new AFS (Akiba File System) driver in `mirai/fs/afs/afs.zig`, including operations for reading, writing, and managing clusters and entries.
- Added utilities for handling AFS locations, clusters, and cache operations in `mirai/fs/afs/location.zig`, `mirai/fs/afs/cluster.zig`, and `mirai/fs/afs/cache.zig`.
- Implemented read and write operations for AFS in `mirai/fs/afs/read.zig` and `mirai/fs/afs/write.zig`, including functions for managing unit sizes and stack entries.
- Introduced type definitions for AFS structures in `mirai/fs/afs/types.zig` and updated the existing types in `mirai/fs/gpt/types.zig`.
- Added endian conversion utilities in `mirai/utils/bytes/endian.zig` to facilitate byte order handling.
- Enhanced utility functions for converting integer types in `mirai/utils/types/int.zig`.
|
|
- Updated terminal.zig to improve console output management with cursor and scrolling functionality.
- Introduced new graphics constants in graphics.zig for better color and terminal configuration management.
- Simplified framebuffer operations in video.zig by utilizing pixel utilities for pixel manipulation.
- Removed obsolete file descriptor and location utilities to streamline the codebase.
- Added pixel utilities for efficient pixel and framebuffer operations, including filling and clearing rectangles.
- Enhanced character rendering and line management in terminal graphics.
|
|
- Implemented `viewstack` invocation to list contents of a stack.
- Created `attach` invocation for opening attachments with device and unit handling.
- Added `getkeychar` invocation to read a single character from the keyboard.
- Developed `mark` invocation to write to attachments with color support.
- Introduced `seal` invocation to close attachments.
- Implemented `view` invocation to read from attachments.
- Added `wipe` invocation to clear the terminal screen.
- Created `exit` invocation to dissolve a Kata and seal attachments.
- Implemented `postman` invocation for letter passing between parent and child Katas.
- Added `spawn` invocation to create new Katas from executables.
- Implemented `wait` invocation to wait for child Katas to dissolve.
- Added `yield` invocation to voluntarily give up CPU time to Sensei.
- Introduced utility functions for location resolution and path handling.
- Added memory copy and slice utilities for efficient data manipulation.
- Implemented random number generation utilities.
- Added string comparison utilities for easier string handling.
- Introduced integer and pointer conversion utilities for type safety.
- Implemented result handling utilities for invocation results.
|
|
|
|
- Updated `mi.zig` to default target path to an empty string.
- Improved context switching in `context.zig` by restoring registers from the context struct.
- Enhanced `loader.zig` to inherit current location from the parent Kata.
- Simplified `getkeychar.zig` by removing unnecessary serial import and error handling.
- Added new invocations: `getlocation.zig` for retrieving current stack location and `postman.zig` for letter passing between Katas.
- Introduced `setlocation.zig` to change current stack location with path resolution.
- Created `nav.zig` for navigating the filesystem with commands to print current location or change it.
- Added `nav.zon` for binary metadata.
- Updated `limits.zig` to define maximum letter length.
- Enhanced `ash.zig` to process navigation letters and improved command execution flow.
- Updated syscall interface in `sys.zig` to handle variable arguments for invocations.
|
|
reporting and alignment
|
|
entry points
|
|
- 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.
|
|
functions with a unified syscall interface
|
|
with function calls
|
|
modules
|
|
PCI drivers
|