summaryrefslogtreecommitdiffstats
path: root/TODO
blob: d77cf184923802ae249fe1a0341b6ad9877c1874 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
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
[ ] Clean up make system. Currently I think there are many things from the
    Linux make system which are not needed for U-Boot.
[ ] 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.
[ ] 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)
[ ] 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.
[ ] Add documentation for:
	[ ] driver model
	[ ] device parameter
	[ ] big picture
[ ] 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
    it. With this we would not have to copy uimages to memory.
[ ] setting a variable:
     bla=500   -> OK
     bla = 500 -> Unknown command 'bla' - try 'help'
     bla= 500 -> Unknown command '500' - try 'help'
[ ] 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?

DONE
----

[x] Rename vmlinux -> u-boot
[x] Implement current work directory
[x] ARCH=linux should catch ctrl-c
[x] Implement 'rm'
[x] the mount command currently does not accept a full path (i.e. /dev/nor0) but
    only a device id string (nor0). This sucks.
[x] FS support is not optional eventhough the Kconfig system claims it.
[x] U-Boot used to have support for different consoles. The old code was huge and
    ineffective, so I removed it. Reimplement it using the driver model.
[x] Mount without options should show mounted filesystems
[x] Add/fix help texts for commands
[x] mw is broken. Add common option parsing for mm/md
[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