From 101632b2926c614d99302eacc35c198784a0787c Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Fri, 4 Apr 2008 13:05:03 +0200 Subject: update TODO file Many things are already done, some new things came up. Signed-off-by: Carsten Schlote Signed-off-by: Sascha Hauer --- TODO | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 55 insertions(+), 13 deletions(-) (limited to 'TODO') diff --git a/TODO b/TODO index d77cf18492..4fd8ffd163 100644 --- a/TODO +++ b/TODO @@ -4,35 +4,37 @@ TODO [ ] ask jbe about: ./commands/Makefile:40:obj-$(CONFIG_SIMPLE_PARSER) += setenv.o [ ] bark on partition not ending on flash sector boundaries -[ ] rsc: switching on CONFIG_AUTO_COMPLETE fails, because env_complete() - isn't there [ ] distclean doesn't work without a config -[ ] Every driver should have a remove function +[ ] Every driver should have a remove function. + (It must have. Currently there is no provision to given to remove my + interrupt handlers and to reset all hardware in use, before the target + OS is called. csc 21.03.2008 19:50:34) +[ ] Global shutdown_drivers() function is needed to carefully clean up all + interrupt handlers and reset hardware to initial post reset or otherwise + save state. + (Ideally the hardware is set back to post-reset state after this call. + Run-up and run-down should be reentrant, so if bootm is failing the system + can re-initialize devices. csc 21.03.2008 19:48:49) [ ] Clean up make system. Currently I think there are many things from the Linux make system which are not needed for U-Boot. + (Please retain definitions and related for module loading and relocation, so + that special U-Boot modules containing an ELF object can be linked to the + running U-Boot. csc 21.03.2008 19:52:49) [ ] get/set for nonextisting parameters crashes [ ] There is a xmalloc function which panics when out of memory. Use this function where we don't want to check for oom. Same applies to strdup/xstrdup. [ ] cleanup common.h. There are far too many things in it where we better have a seperate header file. + (Use doxygen to track header file hierachy) [ ] Rewrite network stack. The one-loop-for-all-protocols stack is just too ugly and big and uses thousands of global variables. Identify common functions and make a loop per network protocol [-] Cleanup cpu/*. Many functions there are not cpu specific. For example the cache functions for arm are common for most arm processors. (done for ARM) + (I will check this for m68k arch - csc 21.03.2008 19:56:24) [ ] Board support should go to arch/*/boards/* [ ] Move SoC specific header files from include/ to include/asm/arch/ -[ ] The header files in include/asm-linux/ are i386 specific. Make it work on - your i-Book (bigendian...) -[ ] Globbing support? Might be too expensive, but on the other hand, if you - have the space, why not? -[ ] Implement protect/unprotect support for cfi devices. -[ ] Implement a command 'countdown' or similar. It should delay the boot - process and interrupt it if a certain string is received. The string could - be any key, ctrl-c or a certain string. Maybe like this: - countdown -m msg -t timeout -x [ctrl-c|anykey|string] - If done, remove the corresponding stuff from common/main.c [ ] Several .c/.h files do not have GNU/copyright headers. [ ] The cramfs driver currently uses direct memory accesses instead of read(). This disqualifies it for real block devices. @@ -40,6 +42,8 @@ TODO [ ] driver model [ ] device parameter [ ] big picture +[ ] Add example driver and filesystem for reference purposes. Or denote a driver + and a filesystem to be the reference. [ ] realloc seems to crash without further notice when out of memory. [ ] implement a mmap() function. Of course we cannot really mmap without mmu, but for memory mapped devices like nor flash we could provide a pointer to @@ -51,6 +55,32 @@ TODO [ ] command line editing is somewhat broken [ ] how to select a ethernet channel for tftp when more than one interface of this type exists in the system? +[ ] Cleanup headers. I propose to rearrange the files in a way to reflect the + organisation of the source tree. This requires changing the include paths + in nearly all files, therefore a merge window for this change must be + opened and merge in of all other topic branches must happen before. + Week 23 or 42 issue? csc, 21.03.2008 19:36:06 +[ ] Merge similiar information into a single common and a single arch dependant + file. E.g. all those general typedefs should be located in include types.h + and arch/asm/types.h. csc 21.03.2008 19:38:57 +[ ] Get rid of the current linux include dir. It should only contain information + required to boot linux. csc 21.03.2008 19:39:02 +[ ] Unify source headers to show up the GPL lic stuff followed by a doxygen file + description. +[ ] Enhance and complete doxygen comments. +[ ] Eliminate all #ifdef CONFIG_??? in C code. Disabled APIs should be defined + as empty macros, so that code is removed by the compiler, not the + preprocessor. + The #ifdefs should be located in their related header files only. +[ ] Create an example board, which implements all functions stubs required + to compile a full U-Boot build. Functions are just stubs containing a + panic() call - Real code must be filled in accordingly. + Can be copied as starting point for a new target board. +[ ] Add generic PCI bios code and a PCI bus driver model. The driver should + be configured by an appropriate platformconfig. Detected PCI buses and + devices should be represented as a hierachical tree in /dev +[ ] Work out, how to mount driver on PCI devices. The mechanism should be + transparent to the driver code. DONE ---- @@ -70,4 +100,16 @@ DONE [x] Implement a info command for malloced space. Use it to find memory holes. [x] patch hush.c so that you can get/set device parameters with dev.param= and remove get/set applets +[x] rsc: switching on CONFIG_AUTO_COMPLETE fails, because env_complete() + isn't there +[x] The header files in include/asm-linux/ are i386 specific. Make it work on + your i-Book (bigendian...) +[x] Globbing support? Might be too expensive, but on the other hand, if you + have the space, why not? +[x] Implement protect/unprotect support for cfi devices. +[x] Implement a command 'countdown' or similar. It should delay the boot + process and interrupt it if a certain string is received. The string could + be any key, ctrl-c or a certain string. Maybe like this: + countdown -m msg -t timeout -x [ctrl-c|anykey|string] + If done, remove the corresponding stuff from common/main.c -- cgit v1.2.3