clicky icon indicating copy to clipboard operation
clicky copied to clipboard

ide: Use Spawner for updating registers, add delay

Open jeanthom opened this issue 9 months ago • 0 comments

I recently noticed that iPodLinux was struggling to boot due to the IDE IRQ handler being set right after sending IDE commands, causing the IDE IRQ to be not handled properly. A little delay and exposing register updates makes iPodLinux boot go a little further.

This PR introduces a task_spawner member to IDE driver for deferring operation. It also adds basic implementations of Recal/ReadNativeMax.

A significant amount of code is due to the use of Arc<RwLock<IdeRegs>> for thread safety.

Work in ReadSectors still needs to be done to consider hda initialization in iPodLinux to be completely working.

jeanthom avatar May 25 '25 09:05 jeanthom