Hi, here is the updated status. If you are interested in working on any of them, reply to this message on the list :)
KERNEL AND LOW LEVEL DEVELOPMENT * Implement a proper FDPIC loader with shared libraries support. Nico from OpenWrt is working on this and has already written untested code that should support statically linked binaries (can you put that online somewhere, even if you didn't test?). Once this code works, a possible technique is to use a statically linked FDPIC GDB server from which shared library support will be debugged. => still open. This problem is tedious to tackle and pretty important. * Find out why kernel 2.6.33 freezes when running Busybox init (and fix). The symptom is the printing of the message: "mount: mounting /dev/root on / failed: Invalid argument" followed by a complete system lock-up. If this message is related to the crash, it suggests the mount API might have been changed between 2.6.26 (which works) and 2.6.33. => fixed by Takeshi * Fix SLUB and SLOB memory allocators, which cause this error when enabled: BUG: failure at mm/nommu.c:114/kobjsize()! Kernel panic - not syncing: BUG! If we choose to ignore these problems and keep SLAB, then we should find a way to handle allocations of large memory blocks (would be nice to run Qt4 apps ;) * Fix poll() system call => fixed by Takeshi * Fix /proc/self/exe => fixed by Takeshi * Fix kernel modules => fixed by Richard * Develop an ALSA driver for the AC'97 controller => I have started working on this but there are still major bugs. It could be useful to have a QEMU model of the AC'97 controller to track those down. http://github.com/tmatsuya/linux-2.6/tree/master/sound/soc/milkymist/ * Develop a driver for the TMU2 accelerator * Develop a driver for the PFPU accelerator (low-level, VLIW instruction scheduling etc. should be done in userspace, see below). * Develop a driver for Minimac (the new Ethernet MAC). Takeshi, are you working on this? LIBRARIES * Develop an userspace library to use the TMU2. This should be straightforward. We won't use DirectFB. In case the library is running on systems where the TMU2 is not available (e.g. a PC, for tests), a software or, better, OpenGL implementation should be used. * Develop a userspace library to use the PFPU. This is a more complex task. The library should have a high-level interface that hides the gory details of using the PFPU (e.g. the library must include a compiler and VLIW scheduler). The API should be clean and well-designed and the PFPU should be emulated on systems where it is not available. Basically, we want a floating point numeric computation library that is able to use PFPU acceleration where it is available. * Support TMU2 acceleration (via the library) in Genode FX for scaling images and blitting/moving windows. RENDERER * Port the existing rendering code (in the SoC demo firmware, which was shown on video) to Linux, using SDL and the TMU2 and PFPU libraries plus ALSA for audio input. * Implement more MilkDrop features (wave modes, per-pixel equations, ...). * Test presets and, when they don't match the original, find out why. VJ APPLICATION * Develop a neat user-friendly interface using Genode FX. This is for high level programmers and usability experts :) * Integrate the renderer into the Genode FX-based code. => I have started developing the app (but it's only a start): http://github.com/lekernel/flickernoise RESOURCES * TMU2, PFPU and AC97 cores docs: http://www.milkymist.org/doc/ac97.pdf http://www.milkymist.org/doc/tmu2.pdf http://www.milkymist.org/doc/pfpu.pdf * Genode FX http://www.genode-labs.com/products/fpga-graphics * SDL http://www.libsdl.org/ * Writing an ALSA driver http://www.alsa-project.org/~tiwai/writing-an-alsa-driver Thanks, Sébastien _______________________________________________ http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org IRC: #milkym...@freenode Webchat: www.milkymist.org/irc.html Wiki: www.milkymist.org/wiki
