| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | refactor: promote new architecture to repository root | Richard Qin | 2026-07-10 | 91 | -7417/+0 |
| | | | | | Archive the deprecated implementation under lume-legacy, make the new kernel the default root-level build, and update repository entry points without changing kernel behavior. | ||||
| * | feat: establish bootable new architecture checkpoint | Richard Qin | 2026-07-10 | 65 | -455/+4283 |
| | | | | | Replace the compressed boot path with a relocatable higher-half RISC-V entry, expand memory and SMP support, and add the driver, TTY, VFS, exec, signal, syscall, initramfs, and self-test infrastructure needed for a bootable kernel checkpoint. | ||||
| * | feat: replace early_puts with kprintf in selftest for improved logging | Richard Qin | 2026-05-13 | 1 | -57/+12 |
| | | |||||
| * | feat: implement user-kernel memory copy functions with validation | Richard Qin | 2026-05-13 | 1 | -0/+27 |
| | | |||||
| * | feat: add PID allocator implementation with bitmap-based allocation | Richard Qin | 2026-05-13 | 1 | -0/+29 |
| | | |||||
| * | feat: add syscall interface and syscall numbers for RISC-V LP64 | Richard Qin | 2026-05-13 | 2 | -0/+99 |
| | | |||||
| * | feat: implement WaitQueue class for blocking synchronization | Richard Qin | 2026-05-13 | 2 | -0/+72 |
| | | |||||
| * | feat: add Task Control Block and Task State definitions | Richard Qin | 2026-05-13 | 1 | -0/+109 |
| | | |||||
| * | feat: add scheduler and scheduler class interfaces with core functions | Richard Qin | 2026-05-13 | 2 | -0/+108 |
| | | |||||
| * | feat: implement MI Timer Subsystem with initialization and tick handling | Richard Qin | 2026-05-13 | 1 | -0/+24 |
| | | |||||
| * | feat: add signal subsystem interface and Linux-compatible signal numbers | Richard Qin | 2026-05-13 | 2 | -0/+62 |
| | | |||||
| * | feat: implement IRQ Manager with dynamic interrupt dispatch and atomic ↵ | Richard Qin | 2026-05-13 | 1 | -0/+84 |
| | | | | | handler registration | ||||
| * | feat: implement machine-independent trap subsystem with enums and context ↵ | Richard Qin | 2026-05-13 | 1 | -0/+109 |
| | | | | | structures | ||||
| * | feat: add POSIX memory management constants in mman.h | Richard Qin | 2026-05-13 | 1 | -0/+21 |
| | | |||||
| * | feat: update memblock to use page_map instead of frame_map in documentation ↵ | Richard Qin | 2026-05-13 | 1 | -3/+3 |
| | | | | | and allocation functions | ||||
| * | feat: add boot parameters management with initialization and access functions | Richard Qin | 2026-05-13 | 1 | -0/+1 |
| | | |||||
| * | feat: update Virtual Memory Manager to use page-based allocation and ↵ | Richard Qin | 2026-05-13 | 1 | -8/+22 |
| | | | | | introduce VmFaultCause enum | ||||
| * | feat: refactor Physical Memory Manager to use Page instead of Frame | Richard Qin | 2026-05-13 | 1 | -22/+22 |
| | | |||||
| * | feat: add relocation section and fixup handling in linker script | Richard Qin | 2026-05-13 | 1 | -0/+14 |
| | | |||||
| * | feat: add BootParams structure and related enums for bootloader integration | Richard Qin | 2026-05-13 | 1 | -0/+85 |
| | | |||||
| * | feat: update slab allocator to use Page descriptors instead of Frame | Richard Qin | 2026-05-13 | 1 | -0/+28 |
| | | |||||
| * | feat: add printk and vprintk functions with Linux-style log level parsing | Richard Qin | 2026-05-13 | 1 | -0/+20 |
| | | |||||
| * | feat: add Page structure and PageState enumeration for physical memory ↵ | Richard Qin | 2026-05-13 | 1 | -10/+10 |
| | | | | | management | ||||
| * | feat: add LZ4 decompressor implementation and update linker script | Richard Qin | 2026-05-13 | 1 | -0/+11 |
| | | |||||
| * | feat: add compressed kernel header and implementation for RISC-V architecture | Richard Qin | 2026-05-13 | 1 | -0/+37 |
| | | |||||
| * | feat: add relocation header and implementation for RISC-V architecture | Richard Qin | 2026-05-13 | 1 | -0/+12 |
| | | |||||
| * | feat: add relocation header and implementation for RISC-V architecture | Richard Qin | 2026-05-13 | 1 | -0/+53 |
| | | |||||
| * | feat: enhance KASLR support with early seed metadata and validation checks | Richard Qin | 2026-05-03 | 1 | -0/+12 |
| | | | | | Co-authored-by: Copilot <copilot@github.com> | ||||
| * | feat: implement KASLR support and runtime address mapping for RISC-V ↵ | Richard Qin | 2026-05-03 | 5 | -6/+79 |
| | | | | | | | architecture Co-authored-by: Copilot <copilot@github.com> | ||||
| * | feat: add driver registration subsystem with probe functionality | Richard Qin | 2026-05-02 | 1 | -0/+33 |
| | | |||||
| * | feat: reorganize includes and improve FdtManager documentation | Richard Qin | 2026-05-02 | 1 | -26/+29 |
| | | | | | Co-authored-by: Copilot <copilot@github.com> | ||||
| * | feat: implement hardware random number generation and early PRNG initialization | Richard Qin | 2026-05-02 | 1 | -0/+26 |
| | | |||||
| * | feat: enhance address conversion functions and introduce address types | Richard Qin | 2026-05-02 | 4 | -32/+72 |
| | | | | | Co-authored-by: Copilot <copilot@github.com> | ||||
| * | feat: refactor memory management and integrate memblock | Richard Qin | 2026-05-02 | 1 | -0/+53 |
| | | | | | | | | | | | | - 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: update UART handling and memory management parameters for improved ↵ | Richard Qin | 2026-05-02 | 3 | -7/+9 |
| | | | | | functionality | ||||
| * | fix: change constexpr to const for size_t offset calculation in list_entry | Richard Qin | 2026-05-02 | 1 | -1/+1 |
| | | |||||
| * | feat: add bit manipulation utilities for kernel operations | Richard Qin | 2026-05-02 | 1 | -0/+120 |
| | | |||||
| * | feat: add centralized compiler macros and integrate into rbtree headers | Richard Qin | 2026-05-02 | 3 | -24/+28 |
| | | |||||
| * | feat: implement kernel logging and formatted output subsystems | Richard Qin | 2026-05-02 | 4 | -17/+210 |
| | | |||||
| * | feat: add driver registration table to linker script macros | Richard Qin | 2026-04-29 | 1 | -0/+8 |
| | | |||||
| * | feat: add linker script and common macros for RISC-V architecture | Richard Qin | 2026-04-22 | 1 | -0/+74 |
| | | |||||
| * | feat: update errno.h with comprehensive error codes | Richard Qin | 2026-04-22 | 1 | -3/+114 |
| | | |||||
| * | feat: add boot self-tests for various kernel components | Richard Qin | 2026-04-21 | 1 | -0/+110 |
| | | | | | | | | | | | | | - 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 management | Richard Qin | 2026-04-21 | 1 | -0/+83 |
| | | |||||
| * | feat: implement Physical Memory Manager (PMM) with Buddy System and Per-CPU ↵ | Richard Qin | 2026-04-21 | 1 | -0/+75 |
| | | | | | Cache | ||||
| * | feat: add features header and frame descriptor implementation | Richard Qin | 2026-04-21 | 2 | -0/+99 |
| | | |||||
| * | feat: add basic implementation and enhanced operations of red-black tree ↵ | Richard Qin | 2026-04-21 | 3 | -0/+519 |
| | | | | | from Linux kernel source | ||||
| * | feat: Add a type-safe doubly linked list implementation | Richard Qin | 2026-04-21 | 1 | -0/+292 |
| | | |||||
| * | feat: add string manipulation functions derived from musl libc | Richard Qin | 2026-04-21 | 7 | -0/+224 |
| | | | | | | | | | | | | | | | This commit introduces a variety of string manipulation functions, including: - `memmem`: Searches for a substring in a memory area. - `memmove`: Safely copies memory areas, handling overlaps. - `mempcpy`: Copies memory and returns a pointer to the end of the destination. - `memrchr`: Finds the last occurrence of a character in a memory area. - `memset`: Fills a memory area with a specified value. - `rindex`: Returns the last occurrence of a character in a string. - `stpcpy` and `stpncpy`: Copies strings and returns a pointer to the end. - `strcat`, `strchr`, `strcspn`, `strlcat`, `strlcpy`, `strlen`, `strncat`, `strncmp`, `strncpy`, `strnlen`, `strpbrk`, `strrchr`, `strstr`, `strtok`, and `strtok_r`: Various string manipulation functions for concatenation, searching, and tokenization. Assembly implementations for `memcpy`, `memmove`, and `memset` are also included for optimized performance on x86_64 architectures. | ||||
| * | refactor: clean up errno and types headers for consistency and clarity | Richard Qin | 2026-04-21 | 2 | -15/+5 |
| | | |||||
