The Symbian has released the kernel as open source! The development environment consists of:
Open source kernel and other complementary packages
RVCT 4.0 compiler: free for developers and companies of less than 20 employees
Open source simulation environment based on QEMU
Open source base support package for the low cost Beagle Board
The kit has everything required for Symbian kernel development. I’m planning on testing the new kit and investigating if it would be possible to make my own memory driver to flush the cache for executing code without creating a special memory chunk for the code and using the IMB_Range deal.
Why the this kind of driver is required, if the there’s already exist an API for self modifying code? Well, it would solve the memory mapping issue, which I explained on the post: Why Symbian is so slow compared to Linux.
The driver would give significant boost for all applications relying on dynamic recompilation, or self modifying code. This would give a big performance boost for emulators such as gpsp and psx4all. I think that the psx4all would probably be playable with the special memory driver.
Developing a driver:
The first phase would be to implement a test software, and the driver with the QEMU. If I’ll get this far, then I could think about purchasing the BeagleBoard, which could be used for verifying the driver functionality with the actual hardware. If the driver works on the HW, then it would probably work on the actual phone too. However, the Symbian platform security will be a big problem preventing the installation of the driver into an actual phone.