[Milkymist-devel] Updated software task list, 18/03/10
Sébastien Bourdeauducq
sebastien.bourdeauducq at lekernel.net
Thu Mar 18 05:45:42 PDT 2010
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
More information about the Devel
mailing list