Tested#1
Merged
veighnsche merged 5 commits intomasterfrom Jan 11, 2026
Merged
Conversation
- Enable CPACR_EL1.FPEN before any Rust code runs - Fix movz/movk sequence for 0xFFFF_8000_0000_0000 constant - Flush entire 16KB page table region (256 cache lines) - Set VBAR_EL1 before jumping to Rust - Split DTB memory regions around kernel physical range Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
handle_irq_dispatch was a TODO stub returning false, causing the timer IRQ (27) to spam "Unhandled IRQ" infinitely. Now delegates to los_hal::aarch64::gic::dispatch() which calls registered handlers. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The syscall layer needs hooks to resolve executables from initramfs and spawn processes. These were defined but never registered, causing "resolve_initramfs_executable: hook not set" and ENOSYS on shell spawn. Added register_process_hooks() in init.rs that sets: - RESOLVE_EXECUTABLE_HOOK: reads ELF from initramfs by path - SPAWN_FROM_ELF_HOOK: creates UserTask from ELF data - SPAWN_FROM_ELF_WITH_ARGS_HOOK: creates UserTask with argv/envp Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Added secondary input hook to HAL console that allows VirtIO keyboard input to be used in addition to UART. The kernel registers the VirtIO keyboard as secondary input after device initialization. Changes: - HAL: Added set_secondary_input() callback for alternate input sources - HAL: read_byte() now checks secondary input before UART - Kernel: Registers VirtIO keyboard as secondary input after virtio init Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Two issues preventing userspace entry: 1. GPF with error code 0x28 (GDT index 5 = TSS) - Limine's segment selectors were still loaded after our lgdt - Added segment reload via far return (CS) and mov (DS/ES/SS/FS/GS) - Now properly sets kernel segments (CS=0x08, others=0x10) 2. #UD on SSE instructions (xorps) - SSE/FPU wasn't explicitly enabled after GDT reload - Added CR0.MP, cleared CR0.EM, set CR4.OSFXSR and CR4.OSXMMEXCPT - Added fninit to initialize FPU state Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.