9
0
Fork 0

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>
This commit is contained in:
Sascha Hauer 2008-04-04 13:05:03 +02:00
parent 9c9f3ffd16
commit 101632b292
1 changed files with 55 additions and 13 deletions

68
TODO
View File

@ -4,35 +4,37 @@ TODO
[ ] ask jbe about: [ ] ask jbe about:
./commands/Makefile:40:obj-$(CONFIG_SIMPLE_PARSER) += setenv.o ./commands/Makefile:40:obj-$(CONFIG_SIMPLE_PARSER) += setenv.o
[ ] bark on partition not ending on flash sector boundaries [ ] 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 [ ] 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 [ ] Clean up make system. Currently I think there are many things from the
Linux make system which are not needed for U-Boot. 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 [ ] get/set for nonextisting parameters crashes
[ ] There is a xmalloc function which panics when out of memory. Use this [ ] 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 function where we don't want to check for oom. Same applies to
strdup/xstrdup. strdup/xstrdup.
[ ] cleanup common.h. There are far too many things in it where we better have [ ] cleanup common.h. There are far too many things in it where we better have
a seperate header file. a seperate header file.
(Use doxygen to track header file hierachy)
[ ] Rewrite network stack. The one-loop-for-all-protocols stack is just too [ ] Rewrite network stack. The one-loop-for-all-protocols stack is just too
ugly and big and uses thousands of global variables. Identify common ugly and big and uses thousands of global variables. Identify common
functions and make a loop per network protocol functions and make a loop per network protocol
[-] Cleanup cpu/*. Many functions there are not cpu specific. For example the [-] 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) 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/* [ ] Board support should go to arch/*/boards/*
[ ] Move SoC specific header files from include/ to include/asm/arch/ [ ] 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. [ ] Several .c/.h files do not have GNU/copyright headers.
[ ] The cramfs driver currently uses direct memory accesses instead of read(). [ ] The cramfs driver currently uses direct memory accesses instead of read().
This disqualifies it for real block devices. This disqualifies it for real block devices.
@ -40,6 +42,8 @@ TODO
[ ] driver model [ ] driver model
[ ] device parameter [ ] device parameter
[ ] big picture [ ] 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. [ ] realloc seems to crash without further notice when out of memory.
[ ] implement a mmap() function. Of course we cannot really mmap without mmu, [ ] 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 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 [ ] command line editing is somewhat broken
[ ] how to select a ethernet channel for tftp when more than one interface [ ] how to select a ethernet channel for tftp when more than one interface
of this type exists in the system? 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 DONE
---- ----
@ -70,4 +100,16 @@ DONE
[x] Implement a info command for malloced space. Use it to find memory holes. [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 [x] patch hush.c so that you can get/set device parameters with dev.param= and remove
get/set applets 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