summaryrefslogtreecommitdiffstats
path: root/c/PROBLEMS
blob: d81a084b554545aa42fb43e602ccd38c26af26f6 (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
#
#  $Id$
#

This is the list of outstanding problems in this release.

+   The m68000 support is not quite complete yet.  The missing piece
    inside the executive proper is support for the software interrupt 
    stack.  Also, 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 gen68302 BSP as useful on other
    members.

+   The only i960 family member tested 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.

+   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:

       + Some of the tests run correctly when run interactively but
         the screen and output do not match when the output is 
         redirected to a file.

       + sometimes a stray SIGALRM is reported as spfatal completes.

       + multiple BSPs need to be merged into a single source one.

       + CPU code appears to not set the interrupt level correctly
         when doing a context initialization and sigsetjmp should be used.

       + General cleanup and reorganization to enhance portability.

       +  Currently the routines which need to make access to the 
          native library (not newlib) are spread across a number of 
          directories.  There should be a "unix_XYZ" wrapper for every 
          one of these routines so there is only 1 directory which directly 
          references the "real" native library.

+   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.
 
+   The MP code for the Message Manager copies the message buffer
    in and out of the MPCI packet at at least two unecessary times:
 
      + as part of some send requests
      + on a non-successful receive response