summaryrefslogtreecommitdiffstats
path: root/TODO
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2008-04-04 13:05:03 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2008-04-04 14:45:04 +0200
commit101632b2926c614d99302eacc35c198784a0787c (patch)
tree1d7e3e90676eabeb2448872b0c96b2c5ddea5d4c /TODO
parent9c9f3ffd1682c5441e935a2d147ac3d51e20417e (diff)
downloadbarebox-101632b2926c614d99302eacc35c198784a0787c.tar.gz
barebox-101632b2926c614d99302eacc35c198784a0787c.tar.xz
update TODO file
Many things are already done, some new things came up. Signed-off-by: Carsten Schlote <schlote@vahanus.net> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'TODO')
-rw-r--r--TODO68
1 files changed, 55 insertions, 13 deletions
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