ToDo
Version 41,
changed by reisswolf.
08/11/2008.
Show version history
GNU / Buildroot Tool Chain
- support for Execute in Place ("XIP") for nommu flavor (needs completely position independent code ("PIC") support by the Compiler)
Kernel Arch
- Every pieces of nios2 code should be reviewed and compared again those of m68knommu or other arch.
Files to be revised: - Coding style clean up.
- Optional MPU support.
- Optional "full" Linux with MMU
- Would providing architecture specific "atomic" code instead of using the code in "asm-general be beneficial ?
- Is there a way to support hardware for some atomic instructions for Kernel mutex/spinlioc and FUTEX ? (see multi-threading)
Kernel Drivers
- All drivers should use platform driver model.
Drivers to be revised:
- Opencore I2C driver, there is the driver in mainline kernel, but we need platform data and testing.
=== done, also all drivers are in new driver form mainline ===
- SPI driver, the old one is useless. The new one should be developed.
- DMA interface driver, the old one is useless.
- NEEK LCD framebuffer
- NEEK touch screen driver
- "programmable timer" driver for "tickless Linux" (the appropriate hardware needs to designed, too)
- ioremap as a macro to inline it if nommu
File Systems
- cifs (Samba) client (hangs)
Make / Configuration System
- Add NEEK to board selection
=== done ===
- When XIP is available move as many apps as possible into busybox by default (init, shell, ...)
- When XIP is available use a better shell than sash by default
- Makefile glitch: 10 times "Making symlinks in include/". Once seems to be enough.
- Better integration of the definition of the pof file to be used
User Space Libs and Apps
- Compiling error when gdb-server is activate
=== gdbserver is not enabled as default any more ===
- More "user friendly" FTP server by enabling ls in busybox on default and adding password for root (and a user uclinux) in passwd
- Start inetd and boa in rc on default (no harm done, if they can't run due to not Ethernet configured)
- "haserl" does not compile (Makefile problem)
=== partly solved === (On some systems a dummy file "NEWS" seems to be necessary.) - "haserl" does not work
=== partly solved === (After adding a line syslog("Haserl start") in main() it works due to a miracle. It only works if the syslog daemon is running) - "haserl" very slow
=== partly solved === (by stand alone "echo", see appropriate Wiki page. A real solution would need XIP) - Support for dynamic linking
Beside potential space and speed benefits this would solve some queer licensing issues regarding glibc.
multi-threading Support
- NPTL
- provide a decent architecture-aware "atomic" code for FUTX (disble interrupt -> do stuff -> enable interrupt) instead of using the code in "asm-general". This is a decent way to go if no MPU is used, as di/ei can be done in user land. If with "full" Linux the MPU is activated (and thus di/ei is privilidged and only executable in Kernel space) we would need to have hardware support for some atomic instructions.
- at best have Altera add some atomic instructions to the NIOS arch
GDB
- remote debugging user space application via Kernel based GDB stub
- using a serial link alternatively to Ethernet
- debugging Multi-threaded Applications does not seem to be possible at all (very high priority !)
- integration in NIOS II Studio
- debugging the Kernel and Kernel modules
- integration in NIOS II Studio
Documentation
- "make help" should create a decent output. At least listing the available make targets including the "_only" and "_clean" stuff.
- how to modify the various real-time configuration files
- RC (easy: /vendor)
- passwd (easy: /vendor)
- initd.conf
- services
-
stuff in vendors/Altera/nios2nommu/romfs_list
- ...
- inittab / rc
=== see appropriate Wiki page ===
- how to save the Kernel and application/library configuration in a way that it survives a "git checkout -f" or "git clean -d" or "make real_clean"
- ...
Politics
- Have Altera and/or SLS mirror (or run) the GIT server (with HTTP support)
- Communicate with SLS about company <-> community collaboration and preserving a common code base
- Suggest NIOS arch for inclusion into the main line Kernel
- Method to assign to-do issues to programmers and to track progress
- A great deal of the necessary documentation is not specific to the NIOS arch. There should be a central uCLinux-dist documentation Wiki for that.
Hide quick tip X
Quick Tip: Link to Other Wiki Pages
Use the Link function to link to an existing wiki page, a new wiki page, a document, or a URL.
| |
File |
By |
Size |
Attached |
Ver. |
|