Welcome, guest ( Login )

WikiHome » ToDo

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:
    • file1...
    • file2...
  • 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:
    • driver1...
    • driver2...
  • 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.

Attachments (0)

  File By Size Attached Ver.