24 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
90ccd7c4db Address code review feedback
- Define EFI_MEMORY_DESCRIPTOR struct for better code clarity
- Use PAGE_SIZE constant instead of magic number 4096
- Add check in freePage() to prevent usedPages underflow

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 23:22:08 +00:00
copilot-swe-agent[bot]
4051edd198 Parse UEFI memory map to detect actual available RAM
- Implement proper memory detection by parsing UEFI memory map
- Mark only usable memory regions as free (EfiConventionalMemory, Boot/Loader services)
- Initialize bitmap with all pages marked as used, then free only available regions
- Calculate totalPages based on highest usable address from memory map
- Add 128MB fallback if memory map is unavailable
- Now works correctly with any RAM amount from 0 to 64GB

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 23:20:46 +00:00
copilot-swe-agent[bot]
0093b10138 Add bounds checking to prevent buffer overflow in bitmap access
- Add safety check in allocPage() before accessing pageBitmap
- Add safety check in freePage() before accessing pageBitmap
- Prevents potential buffer overflow when bitmap size limits are reached

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 23:09:23 +00:00
copilot-swe-agent[bot]
c81d08c2a8 Add support for 64GB of RAM
- Update BITMAP_SIZE from 32768 to 2097152 bytes (2MB bitmap)
- Update totalPages calculation to support 64GB (16M pages)
- Update documentation to reflect 64GB memory support
- Memory manager now supports any amount up to 64GB

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 23:07:55 +00:00
copilot-swe-agent[bot]
80f64d151d Fix consistency issues identified in code review
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 22:56:58 +00:00
copilot-swe-agent[bot]
8f1c71311d Add detailed docstrings to all kernel implementation files
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 22:54:05 +00:00
copilot-swe-agent[bot]
2b2dafef02 Add detailed docstrings to bootloader and kernel header files
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 22:48:09 +00:00
copilot-swe-agent[bot]
a9d2cba0c5 Add Clang compiler support alongside GCC
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 21:59:29 +00:00
copilot-swe-agent[bot]
a0683c0722 Complete C++ conversion - all files now use classes
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 21:45:50 +00:00
copilot-swe-agent[bot]
7bf2b3a059 Convert MetalOS from C to C++ with class-based design
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 21:43:30 +00:00
copilot-swe-agent[bot]
408053665d Remove Makefiles and update documentation for pure CMake build system
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 20:54:40 +00:00
copilot-swe-agent[bot]
be0439448e Fix CMake build system to work properly
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 20:51:52 +00:00
copilot-swe-agent[bot]
08fc016b8b Address code review feedback
- Add comment about GLOB usage in kernel/CMakeLists.txt
- Improve clarity of optional screenshot capture in qemu-test.yml
- All code review comments addressed
- Security scan passed with 0 alerts

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 20:42:52 +00:00
copilot-swe-agent[bot]
1d0537c57a Fix CMake kernel build and clarify SMP support in ROADMAP
- Fix kernel/CMakeLists.txt to find source files in src/ directory
- Add NASM support to CMake for assembling .asm files
- Update ROADMAP.md to reflect that SMP is intentionally included
- CMake and Makefile now consistent in handling kernel sources

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 20:40:49 +00:00
2434d078a5 Merge branch 'main' into copilot/update-kernel-folder-files 2025-12-28 20:28:01 +00:00
copilot-swe-agent[bot]
3613efb642 Add basic multicore/SMP support for 6-core/12-thread systems
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 20:21:54 +00:00
copilot-swe-agent[bot]
193a9786ba Fix code review issues: heap allocation, I/O consistency, PCI scan optimization
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 20:09:39 +00:00
copilot-swe-agent[bot]
13a0783533 Add memory, PCI, and timer modules to kernel
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 20:06:55 +00:00
copilot-swe-agent[bot]
05027725c7 Add CMake, Ninja, and Conan build system support
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 20:03:54 +00:00
copilot-swe-agent[bot]
5c8cf64442 Add CMake, Ninja, and Conan support with kernel modules (GDT, interrupts)
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 20:03:46 +00:00
copilot-swe-agent[bot]
bfa3d5b033 Remove console module entirely
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 19:46:18 +00:00
copilot-swe-agent[bot]
f022199068 Fix: Remove unused font_8x8 const variable to resolve build error
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 19:33:53 +00:00
copilot-swe-agent[bot]
012327c7e7 Embrace extreme minimalism - cut everything unnecessary
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 17:48:51 +00:00
copilot-swe-agent[bot]
e66ef697f7 Create foundational structure for MetalOS - Phase 1 complete
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 17:43:20 +00:00