Milkymist software task list
sebastien.bourdeauducq at lekernel.net
Sun Feb 21 06:37:38 EST 2010
here is a list of pending software sub-tasks. If you are interested in working
on any of them, reply to devel at lists.milkymist.org :)
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.
Once this code works, a possible technique is to use a statically linked FDPIC
GDB server from which shared library support will be debugged.
* 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.
* 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
* Fix /proc/self/exe
* Develop an ALSA driver for the AC'97 controller
* Develop a driver for the TMU2 accelerator
* Develop a driver for the PFPU accelerator (low-level driver only. VLIW
instruction scheduling etc. should be done in userspace, see below).
* Develop an userspace library to use the TMU2. This should be
straightforward. Maybe we'll want to integrate this into DirectFB (depending
on the relevance and quality of 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-thinked 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, maybe DirectFB) in Genode FX for
scaling images and blitting/moving windows.
* 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
* Implement more MilkDrop features (wave modes, per-pixel equations, ...).
* Test presets and, when they don't match the original, find out why.
* 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.
* TMU2, PFPU and AC97 cores docs:
* Genode FX
* ALSA API for AC97 codecs
More information about the discussion