| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | 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 | |
| | | ||||||
| * | docs: add test and continuous integration specification documents, define ↵ | Richard Qin | 2026-04-21 | 1 | -0/+83 | |
| | | | | | automated testing standards and CI processes | |||||
| * | docs: enhance spinlock documentation with detailed API descriptions for ↵ | Richard Qin | 2026-04-21 | 1 | -8/+17 | |
| | | | | | interrupt management | |||||
| * | docs: add specifications for C++ Kernel Runtime, Flattened Device Tree, ↵ | Richard Qin | 2026-04-21 | 5 | -0/+846 | |
| | | | | | | | | | | | Physical Memory Manager, SLUB Allocator, and Virtual Memory Manager - Introduced `cpp_runtime.md` detailing the C++ ABI stubs required for LumeOS kernel, including panic mechanisms and error paths. - Added `fdt.md` to outline the device tree management for hardware discovery and configuration, including data structures and public APIs. - Created `pmm.md` to specify the physical memory management system based on the buddy system, including frame allocation and concurrency handling. - Developed `slab.md` to describe the SLUB allocator for efficient memory allocation, detailing its structure and public APIs. - Established `vmm.md` to define the virtual memory manager's objectives, dependencies, and core data structures for managing virtual address space. | |||||
| * | 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 documentation for atomic operations and memory order, standardize ↵ | Richard Qin | 2026-04-21 | 2 | -1/+82 | |
| | | | | | lock-free programming requirements | |||||
| * | feat: add .clang-format and .clang-tidy configuration files for code ↵ | Richard Qin | 2026-04-21 | 3 | -2/+84 | |
| | | | | | formatting and linting | |||||
| * | feat: add initial RISC-V architecture support and core kernel functionality | Richard Qin | 2026-04-17 | 24 | -8/+1618 | |
| | | | | | | | | | | | | | | | | | | - 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 | |||||
| * | docs: add global initialization, linker and entry specifications, and ↵ | Richard Qin | 2026-04-17 | 4 | -0/+834 | |
| | | | | | | | | | spinlock documentation - Introduced global initialization sequence documentation outlining the objectives, dependencies, core data structures, public APIs, concurrency contracts, error paths, and state machine for LumeOS. - Created linker and entry documentation defining early memory layout and assembly startup sequence compatible with multiple bootloaders, including API specifications and error handling. - Added spinlock documentation detailing the implementation of spinlocks, concurrency synchronization, memory ordering guarantees, and error handling mechanisms. | |||||
| * | feat: add project conventions | Richard Qin | 2026-04-17 | 1 | -0/+367 | |
| | | ||||||
| * | docs: update README to reflect architectural changes and project goals | Richard Qin | 2026-04-17 | 1 | -46/+11 | |
| | | ||||||
| * | feat: implement FDT-based memory discovery and add comprehensive debug ↵ | Richard Qin | 2026-04-14 | 25 | -380/+1256 | |
| | | | | | logging to exec syscalls | |||||
| * | Merge pull request #7 from Richard-Qin-001/dev/shell | Richard Qin | 2026-01-05 | 101 | -3270/+845 | |
| |\ | | | | | Important: License changed from MIT to GPL. | |||||
| | * | Important: License changed from MIT to GPL. | Richard Qin | 2026-01-05 | 101 | -3270/+845 | |
| |/ | | | | Rewrote the README based on the actual project. | |||||
| * | Merge pull request #6 from Richard-Qin-001/dev/shell | Richard Qin | 2026-01-04 | 71 | -83670/+421 | |
| |\ | | | | | A basically complete operating system has been implemented | |||||
| | * | dev(shell): implement basic shell tools | Richard Qin | 2026-01-04 | 71 | -83670/+421 | |
| |/ | | | | fixed(file-system): fixed read and write bugs | |||||
| * | Merge pull request #5 from Richard-Qin-001/dev/file-system | Richard Qin | 2026-01-04 | 69 | -15880/+77423 | |
| |\ | | | | | feat(file-system): implement read and write FAT32 File System and basic shell | |||||
| | * | feat(file-system): implement read and write FAT32 File System and basic shell | Richard Qin | 2026-01-04 | 69 | -15880/+77423 | |
| |/ | ||||||
| * | Merge pull request #4 from Richard-Qin-001/dev/shell | Richard Qin | 2026-01-03 | 125 | -1067/+36090 | |
| |\ | | | | | | | | | Rebuilt the system's underlying structure; it is now stable enough to merge. The system now supports a read-only file system and has a simple shell implemented. | |||||
| | * | Fix: critical malloc size calculation bug | Richard Qin | 2026-01-03 | 22 | -8596/+8703 | |
| | | | | | | | | | | | | | | | | | | | | | Summary: - Fixed an integer arithmetic error in malloc() where 'nunits' was initialized to 0, causing incorrect heap sizing. - This bug caused malloc to return pointers pointing to unmapped memory pages, leading to Store Page Fault (scause 15) at process boundaries. - Switched memory allocator logic to use byte-based size calculation instead of K&R style units to prevent off-by-one errors. Improvements: - Shell now starts successfully without segfaults. | |||||
| | * | dev(sell): add simple libc and implement shell | Richard Qin | 2026-01-02 | 66 | -1279/+28717 | |
| | | | | | | | | | please see the log for detail. | |||||
| | * | dev(file-system): establish VFS and Read-only FAT32 File System | Richard Qin | 2026-01-02 | 43 | -682/+2253 | |
| | | | ||||||
| | * | dev(device): implement VirtIO | Richard Qin | 2026-01-01 | 42 | -619/+1897 | |
| | | | | | | | | | See dev log for detail | |||||
| | * | dev: PILC implementation | Richard Qin | 2025-12-31 | 6 | -0/+94 | |
| | | | ||||||
| | * | dev log | Richard Qin | 2025-12-31 | 1 | -0/+37 | |
| | | | ||||||
| | * | dev:Refactor Memory Management and Process Management | Richard Qin | 2025-12-31 | 52 | -924/+2090 | |
| | | | ||||||
| | * | dev(spinlock): refactoring the implementation of locks | Richard Qin | 2025-12-30 | 4 | -116/+257 | |
| | | | ||||||
| | * | dev(pmm.h): refactor header file | Richard Qin | 2025-12-30 | 1 | -4/+44 | |
| | | | ||||||
| | * | feat(types): defined a type alias | Richard Qin | 2025-12-30 | 1 | -15/+20 | |
| | | | ||||||
| | * | Merge branch 'main' into feature/stdlib | Richard Qin | 2025-12-29 | 1 | -73/+115 | |
| | |\ | |/ |/| | ||||||
| * | | feat(README): Update README file | Richard Qin | 2025-12-29 | 1 | -73/+115 | |
| | | | ||||||
| | * | feat(stdlib): standard I/O Implementation | Richard Qin | 2025-12-28 | 5 | -0/+3146 | |
| |/ | ||||||
| * | fixed(vm): page allocation error | Richard Qin | 2025-12-28 | 3 | -1/+1 | |
| | | ||||||
| * | fixed(proc):Fix the page table mapping error during process fork | Richard Qin | 2025-12-28 | 5 | -5/+11 | |
| | | ||||||
| * | feat(syscall): implement functional sys_write using copyin for user console ↵ | Richard Qin | 2025-12-28 | 3 | -6/+24 | |
| | | | | | output | |||||
| * | feat(user): add user-space build system and init process to test fork/wait | Richard Qin | 2025-12-28 | 16 | -16/+391 | |
| | | ||||||
| * | feat(syscall): Implement syscall dispatch and process lifecycle ↵ | Richard Qin | 2025-12-28 | 21 | -128/+633 | |
| | | | | | (exit/wait/sleep) | |||||
