| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | feat: add timer interrupt enable/disable functions for RISC-V architecture | Richard Qin | 2026-05-02 | 1 | -0/+15 |
| | | |||||
| * | 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 | 7 | -51/+796 |
| | | |||||
| * | feat: add tiny printf implementation for embedded systems | Richard Qin | 2026-05-02 | 2 | -0/+1043 |
| | | |||||
| * | 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 | 3 | -1/+163 |
| | | |||||
| * | feat: update errno.h with comprehensive error codes | Richard Qin | 2026-04-22 | 1 | -3/+114 |
| | | |||||
| * | feat: enhance kernel initialization with FDT parsing and self-test integration | Richard Qin | 2026-04-21 | 1 | -22/+41 |
| | | |||||
| * | feat: add boot self-tests for various kernel components | Richard Qin | 2026-04-21 | 10 | -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 management | Richard Qin | 2026-04-21 | 3 | -0/+388 |
| | | |||||
| * | feat: add SLUB allocator implementation with KmemCache management | Richard Qin | 2026-04-21 | 2 | -0/+404 |
| | | |||||
| * | feat: implement Physical Memory Manager (PMM) with Buddy System and Per-CPU ↵ | Richard Qin | 2026-04-21 | 2 | -0/+558 |
| | | | | | Cache | ||||
| * | feat: add minimal C++ ABI stubs for freestanding kernel | Richard Qin | 2026-04-21 | 2 | -14/+39 |
| | | |||||
| * | feat: refactor Spinlock implementation to use atomic operations for lock ↵ | Richard Qin | 2026-04-21 | 2 | -6/+7 |
| | | | | | management | ||||
| * | feat: add initial implementation of PLIC and UART drivers | Richard Qin | 2026-04-21 | 2 | -0/+68 |
| | | |||||
| * | feat: add features header and frame descriptor implementation | Richard Qin | 2026-04-21 | 3 | -1/+101 |
| | | |||||
| * | feat: add basic implementation and enhanced operations of red-black tree ↵ | Richard Qin | 2026-04-21 | 4 | -0/+1115 |
| | | | | | 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 | 56 | -0/+2624 |
| | | | | | | | | | | | | | | | 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 |
| | | |||||
| * | feat: implement DeviceNode and FdtManager classes for device tree management | Richard Qin | 2026-04-21 | 2 | -0/+721 |
| | | |||||
| * | feat: add DeviceNode, FdtManager, and FdtProperty classes for device tree ↵ | Richard Qin | 2026-04-21 | 3 | -0/+169 |
| | | | | | management | ||||
| * | feat: add address conversion and console initialization helpers | Richard Qin | 2026-04-21 | 2 | -0/+86 |
| | | |||||
| * | feat: implement atomic wrapper for __atomic builtins | Richard Qin | 2026-04-21 | 1 | -0/+66 |
| | | |||||
| * | feat: add global compile-time configuration header for LumeOS | Richard Qin | 2026-04-21 | 1 | -0/+34 |
| | | |||||
| * | feat: implement SV39 page table interface and operations for RISC-V architecture | Richard Qin | 2026-04-21 | 2 | -0/+222 |
| | | |||||
| * | feat: add RISC-V architecture configuration header with memory layout constants | Richard Qin | 2026-04-21 | 2 | -6/+41 |
| | | |||||
| * | feat: Update Makefile and module.mk files to include additional source files ↵ | Richard Qin | 2026-04-21 | 7 | -6/+93 |
| | | | | | and improve build process | ||||
| * | feat: add .clang-format and .clang-tidy configuration files for code ↵ | Richard Qin | 2026-04-21 | 2 | -0/+58 |
| | | | | | formatting and linting | ||||
| * | feat: add initial RISC-V architecture support and core kernel functionality | Richard Qin | 2026-04-17 | 22 | -0/+1610 |
| - Implement MMU hardware primitives for RISC-V SV39 in mmu.h - Create trap vector control primitives in trap.h - Define trap frame structure for RISC-V in trapframe.h - Add assembly routines for context switching in swtch.S - Implement trap vector entry/exit in trap_vector.S - Introduce basic error number definitions in errno.h - Provide placement new/delete operators in new.h - Define kernel panic handler in panic.h and implement in panic.cc - Establish basic type definitions in types.h - Create the kernel main entry point in main.cc with global initialization - Add synchronization primitives using spinlocks in spinlock.h and spinlock.cc - Define per-CPU state tracking for interrupts in cpu_state.h - Create a linker script for the kernel in linker.ld - Update module makefiles for kernel and library components | |||||
