Sunday, 28 June 2009

samos pre-emptive scheduling, idle thread


The Kernel is now firing up and the idle thread is running (prints out once every 100,000 iterations in a while loop). This is running on PSIM using it's OPIC Interrupt Controller and debugging out to an emulated Serial Device.

Monday, 22 June 2009

pre-emptive scheduling in samos

In samos I've spent the last week (on holiday) working on the pre-emptive scheduling.

This has been moving on fairly well to the point where the external interrupt on the PowerPC simulator comes in and we interogate the OPIC Interrupt Controller to work out what happened. From there we work out the ISR to run which is the scheduler one and save any state of executing task. When we return from the ISR we enter the Scheduler which selects the next thread and executes it.

The last bit I'm missing is to restore that threads register values but once that's conmplete the scheduler should nicely be able to run the Idle thread all day long.

Not very exciting though so it means I can work on a debugging app for the command line. Maybe that's less exciting that I thought. Either way - interesting! It'll also offer the opertunity to start looking at newlib and CRT again for userland apps.

arduemu on hold

Rich has dropped off the project and my work with my Operating System & Winamp OpenAL plugin is taking up a lot of time.

The current source code for the arduemu is online and I'd really like to carry on so if anyone has some free time and would like to help out I'd love to hear from you!