summaryrefslogtreecommitdiffstats
path: root/c/PROBLEMS
blob: f09a9b04f6380b070c52b22b29bbb00ae2c6573e (plain) (blame)
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
74
75
#
#  $Id$
#

This is the list of outstanding problems in this release.

+   The POSIX threads and real-time extensions are tested but this is
    the first release with them included.  They are not enabled by 
    default.  The environment variable RTEMS_HAS_POSIX_API must be
    set to "yes" and the C language macro RTEMS_POSIX_API must be defined
    before this api is included in the build.

+   The shell scripts runtest and difftest do not work properly when 
    testing "debug" executables.

+   AMD 29k port is based on a non-GNU toolset.
 
+   The test spfatal is out of date and as a result will NOT execute
    correctly.  The addition of POSIX and consequent ongoing initialization
    reorganization makes it pointless to fix this until the POSIX support
    is completely in place.

+   The m68k family has become quite large and an understanding of the 
    compatibility of the peripherals on the various members of the 683xx 
    family would allow someone to designate some of the drivers submitted
    for the gen683xx BSPs as useful on other members.

+   The only supported i960 family member is the CA.  No support for the
    floating point support found in other family members is present.
    This also implies that RTEMS may "think" of something as generic
    across the i960 family when in fact it is specific to the CA.
    To make matters worse, the i960 target board owned by the RTEMS Project
    is now broken and as a result even the i960CA is a "compile only" port.

+   Some of the BSPs still define RAM_START and RAM_END in the bsp.h file.
    It is better to define these in the linkcmds file.  It is also nice
    to use the linkcmds file to place overlays for on-board hardware.

+   The __read(), __write(), etc. routines should be renamed __rtems_read(),
    etc. to avoid potential naming conflicts.  [NOTE: This is already
    necessary under some versions of Linux with the unix port.]

+   The __read() system call in all of the BSPs using single
    character input/output needs to be smarter.  The following
    issues need to be addressed:

       + echoing of characters on input
       + CR/NL echoing
       + backspaces
       + tabs

+   UNIX port notes:

       + sometimes a stray SIGALRM is reported as spfatal completes.

       + There are conflicts between the names of native library routines
         which MUST be used and those in the POSIX support.  This must
         be addressed. 

+   Some of the tests may execute correctly and not produce the exact
    ordering of lines in the screen file.  This appears to be a combination
    of a number of factors including buffering, processor speed, IO
    device overhead, and clock interrupt rate.

+   The compiler configuration files (c/make/gcc-XYZ.cfg) are largely
    the same when the different targets have the same CPU.  It would
    be desirable to have a gcc-CPU.cfg or gcc-CPU_MODEL.cfg (e.g.
    gcc-m68k.cfg or gcc-m68020.cfg) and have the file gcc-TARGET.cfg
    include this and possibly override default settings.
 
+   The clock device drivers should really avoid doing the division
    by 1000 in the clock tick ISR to convert microseconds into
    milliseconds.  This only applies to clock drivers which generate
    an ISR each millisecond and only call rtems_clock_tick every
    so many ISRs.