AHCI Poll-Only Bootstrap Implementation#2
Conversation
- Create shared kernel/libs/storage/ahci.h to centralize HBA structures. - Enforce volatile register access in all AHCI/SATAPI hardware structures. - Implement ahci_wait_status() with register selection (PxTFD/PxIS). - Update ahci.c and satapi.c to use robust polling with safety timeouts. - Ensure PxIS is cleared (write-1-to-clear) before issuing commands. - Verify Task B: Ensure physical addresses are used for PRDT DMA entries. - Add handoff log to main.c: [INIT] AHCI Polling Success - Handoff to Orchestrator. - Resolve Init-Stall by avoiding interrupt-dependence during bootstrap. Co-authored-by: rtech-technologies <254326487+rtech-technologies@users.noreply.github.com>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
This submission implements the AHCI Poll-only Bootstrap required to break the OSx2 Init-Stall. Key improvements include the centralization of AHCI hardware structures in a shared header with 'volatile' qualifiers, the implementation of a robust 'ahci_wait_status' polling mechanism that targets specific registers (PxTFD or PxIS), and the enforcement of explicit PxIS clearing before hardware commands are issued. These changes allow the AHCI driver to successfully register hardware during the synchronous Loader Phase without waiting for unconfigured interrupts. The handoff log in main.c and functional verification ensure the system reaches the RSL Shell as expected.
PR created automatically by Jules for task 2512881173350761431 started by @rtech-technologies