Skip to content

Conversation

@jeanthom
Copy link
Collaborator

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> for thread safety.

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

I recently noticed that iPodLinux was struggling to boot due to the IDE
IRQ handling being set right after sending IDE commands.

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.

This PR allows iPodLinux hda initialization to go a little further, but
work in ReadSectors still needs to be done.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants