summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* feat: refactor Physical Memory Manager to use Page instead of FrameRichard Qin2026-05-132-150/+149
|
* feat: add KASLR configuration options and implement LZ4 compression in ↵Richard Qin2026-05-132-0/+244
| | | | pack_image script
* feat: add relocation section and fixup handling in linker scriptRichard Qin2026-05-131-0/+14
|
* feat: add BootParams structure and related enums for bootloader integrationRichard Qin2026-05-131-0/+85
|
* feat: enhance UART driver and FDT parser with MMU support and default UART ↵Richard Qin2026-05-132-6/+22
| | | | settings
* feat: add support for Copy-On-Write in SV39 page table managementRichard Qin2026-05-132-6/+89
|
* feat: update slab allocator to use Page descriptors instead of FrameRichard Qin2026-05-133-51/+79
|
* feat: add printk and vprintk functions with Linux-style log level parsingRichard Qin2026-05-132-0/+70
|
* feat: add Page structure and PageState enumeration for physical memory ↵Richard Qin2026-05-131-10/+10
| | | | management
* feat: add LZ4 decompressor implementation and update linker scriptRichard Qin2026-05-133-0/+95
|
* feat: add compressed kernel header and implementation for RISC-V architectureRichard Qin2026-05-132-0/+508
|
* feat: add relocation header and implementation for RISC-V architectureRichard Qin2026-05-132-1/+58
|
* feat: add relocation header and implementation for RISC-V architectureRichard Qin2026-05-132-0/+153
|
* feat: refactor KASLR computation and enhance validation checksRichard Qin2026-05-131-62/+145
|
* feat: add LumeOS compressed kernel header and update boot entry logicRichard Qin2026-05-131-7/+38
|
* feat: update Makefile for improved kernel build process and relocation handlingRichard Qin2026-05-131-8/+50
|
* feat: remove unused linker script for RISC-V architectureRichard Qin2026-05-031-111/+0
|
* feat: enhance KASLR support with early seed metadata and validation checksRichard Qin2026-05-033-6/+178
| | | | Co-authored-by: Copilot <copilot@github.com>
* feat: implement KASLR support and runtime address mapping for RISC-V ↵Richard Qin2026-05-0312-36/+258
| | | | | | architecture Co-authored-by: Copilot <copilot@github.com>
* feat: add Kconfig infrastructure for kernel configuration managementRichard Qin2026-05-034-5/+269
|
* feat: add self-test for random number generationRichard Qin2026-05-021-0/+49
|
* fix: update physical and virtual address handling in self-testsRichard Qin2026-05-023-54/+44
| | | | Co-authored-by: Copilot <copilot@github.com>
* feat: add klog self-test suite with various test casesRichard Qin2026-05-021-0/+175
|
* fix: correct UART address conversion in early_putc functionRichard Qin2026-05-021-1/+1
|
* feat: add driver registration subsystem with probe functionalityRichard Qin2026-05-022-0/+60
|
* feat: reorganize includes and improve FdtManager documentationRichard Qin2026-05-022-443/+490
| | | | Co-authored-by: Copilot <copilot@github.com>
* feat: implement hardware random number generation and early PRNG initializationRichard Qin2026-05-024-0/+190
|
* feat: enhance address conversion functions and introduce address typesRichard Qin2026-05-024-32/+72
| | | | Co-authored-by: Copilot <copilot@github.com>
* feat: refactor memory management and integrate memblockRichard Qin2026-05-026-425/+735
| | | | | | | | | | | - Updated physical memory management (PMM) to utilize memblock for memory layout and frame allocation. - Enhanced the virtual memory manager (VMM) to allocate the frame map from memblock, ensuring it starts at the correct virtual address without relocation. - Improved frame allocation and deallocation functions to handle physical addresses more consistently. - Adjusted the slab allocator to correctly convert between physical and virtual addresses. - Refined page fault handling to ensure proper frame allocation and address translation. - Streamlined the initialization process for PMM and VMM, ensuring a more robust setup of memory structures. Co-authored-by: Copilot <copilot@github.com>
* feat: add RISC-V configuration and memory management enhancementsRichard Qin2026-05-026-15/+112
| | | | Co-authored-by: Copilot <copilot@github.com>
* feat: update C++ standard to C++23 and enhance toolchain detection in MakefileRichard Qin2026-05-022-12/+28
|
* feat: update UART handling and memory management parameters for improved ↵Richard Qin2026-05-027-26/+58
| | | | functionality
* feat: replace panic.h with klog.h for improved logging in multiple filesRichard Qin2026-05-027-7/+7
|
* feat: add SBI interface with ecall and timer functions for RISC-V architectureRichard Qin2026-05-021-0/+39
|
* feat: add timer interrupt enable/disable functions for RISC-V architectureRichard Qin2026-05-021-0/+15
|
* fix: change constexpr to const for size_t offset calculation in list_entryRichard Qin2026-05-021-1/+1
|
* feat: add bit manipulation utilities for kernel operationsRichard Qin2026-05-021-0/+120
|
* feat: add centralized compiler macros and integrate into rbtree headersRichard Qin2026-05-023-24/+28
|
* feat: implement kernel logging and formatted output subsystemsRichard Qin2026-05-027-51/+796
|
* feat: add tiny printf implementation for embedded systemsRichard Qin2026-05-022-0/+1043
|
* feat: add driver registration table to linker script macrosRichard Qin2026-04-291-0/+8
|
* feat: add linker script and common macros for RISC-V architectureRichard Qin2026-04-223-1/+163
|
* feat: update errno.h with comprehensive error codesRichard Qin2026-04-221-3/+114
|
* feat: enhance kernel initialization with FDT parsing and self-test integrationRichard Qin2026-04-211-22/+41
|
* feat: add boot self-tests for various kernel componentsRichard Qin2026-04-2110-0/+1314
| | | | | | | | | | | | - Implemented a self-test runner in `selftest.cc` to invoke all test suites. - Added tests for atomic operations in `test_atomic.cc`, covering construction, store/load, exchange, arithmetic, and compare-and-swap. - Created tests for the Flattened Device Tree (FDT) in `test_fdt.cc`, verifying node access and compatibility queries. - Developed a comprehensive Physical Memory Manager (PMM) test suite in `test_pmm.cc`, including allocation, deallocation, reference counting, and boundary conditions. - Implemented Red-Black Tree tests in `test_rbtree.cc`, validating insertion, deletion, and iteration. - Added Slab Allocator tests in `test_slab.cc`, covering various allocation sizes, edge cases, and operator overloads. - Created Spinlock tests in `test_spinlock.cc`, ensuring proper locking behavior and interrupt state preservation. - Developed Virtual Memory Area (VMA) tests in `test_vma.cc`, validating region mapping, unmapping, and fault handling. - Added tests for Virtual Memory Management (VMM) in `test_vmm.cc`, verifying address translation and page alignment.
* feat: add Virtual Memory Manager and Virtual Memory Area managementRichard Qin2026-04-213-0/+388
|
* feat: add SLUB allocator implementation with KmemCache managementRichard Qin2026-04-212-0/+404
|
* feat: implement Physical Memory Manager (PMM) with Buddy System and Per-CPU ↵Richard Qin2026-04-212-0/+558
| | | | Cache
* feat: add minimal C++ ABI stubs for freestanding kernelRichard Qin2026-04-212-14/+39
|
* feat: refactor Spinlock implementation to use atomic operations for lock ↵Richard Qin2026-04-212-6/+7
| | | | management