BUGS revision 1.7 1 1.1 christos ChangeLog
2 1.1 christos
3 1.1 christos See the ChangeLog file looking for lines taged with the word FIXME.
4 1.1 christos
5 1.1 christos
6 1.1 christos COREFILE.C:
7 1.1 christos
8 1.1 christos The implementation of corefile.c (defined by corefile.h) isn't the
9 1.1 christos best. It is intended to be functionaly correct rather than fast. One
10 1.1 christos option being considered is to add a data cache to reduce the overhead
11 1.1 christos of the most common case of data read/writes.
12 1.1 christos
13 1.1 christos
14 1.1 christos VEA:
15 1.1 christos
16 1.1 christos Missing VEA system calls.
17 1.1 christos
18 1.6 christos powerpc.igen:
19 1.1 christos
20 1.1 christos Missing or commented out instructions.
21 1.1 christos
22 1.1 christos
23 1.1 christos 64bit:
24 1.1 christos
25 1.1 christos 64bit target untested. 64bit host broken. For instance use of scanf
26 1.1 christos "%x", &long long.
27 1.1 christos
28 1.1 christos
29 1.1 christos
30 1.1 christos hw_*.c:
31 1.1 christos
32 1.1 christos Better and more devices.
33 1.1 christos
34 1.1 christos PORTABILITY:
35 1.1 christos
36 1.1 christos (Notes taken from Michael Meissner): Heavy use of the ## operator -
37 1.7 christos fix using the classic X/**/Y hack; Use of the signed keyword. In
38 1.1 christos particular, signed char has no analogue in classic C (though most
39 1.1 christos implementations of classic C use signed chars); Use of long long which
40 1.1 christos restricts the target compiler to be GCC.
41 1.1 christos
42 1.1 christos
43 1.1 christos TRACING:
44 1.1 christos
45 1.1 christos debug.c: Macro's should be extended to include:
46 1.1 christos
47 1.1 christos IS_*TRACE: True if tracing enabled
48 1.1 christos *TRACE_PREFIX: Outputs just the prefix line
49 1.1 christos
50 1.1 christos hw_trace.c: Flush, replace with a psim_set_tracing or some
51 1.1 christos such program.
52 1.1 christos
53 1.1 christos
54 1.1 christos CIA/NIA:
55 1.1 christos
56 1.1 christos Replace with functions to return/increment the CIA?
57 1.1 christos
58 1.1 christos
59 1.1 christos
60 1.1 christos SMP & GDB:
61 1.1 christos
62 1.1 christos GDB doesn't understand SMP!
63 1.1 christos
64 1.1 christos
65 1.1 christos
66 1.1 christos
67 1.1 christos OVERALL STRUCTURE:
68 1.1 christos
69 1.1 christos A new file pstruct.h is to be created that contains a single flat data
70 1.1 christos structure containing:
71 1.1 christos
72 1.1 christos pstruct {
73 1.1 christos events;
74 1.1 christos core;
75 1.1 christos processor[nr_cpus];
76 1.1 christos monitor;
77 1.1 christos devices;
78 1.1 christos trace;
79 1.1 christos }
80 1.1 christos
81 1.1 christos The CPU's structure, in turn would contain the VM sub structures.
82 1.1 christos
83 1.1 christos When SMP==0, everything would have PSTRUCT passed. In SMP mode,
84 1.1 christos however, there are two choices: PSTRUCT + CPU_NR or PROCESSOR. I
85 1.1 christos suspect the latter is better.
86 1.1 christos
87 1.1 christos It is believed that this would significantly improve performance (at
88 1.1 christos the price of reduced control over object scope).
89 1.1 christos
90 1.1 christos
91 1.1 christos
92 1.1 christos
93 1.1 christos IGEN:
94 1.1 christos
95 1.1 christos Igen at present can't do the following:
96 1.1 christos
97 1.7 christos o duplication is an all or nothing affair.
98 1.1 christos
99 1.1 christos It should be configurable according to
100 1.1 christos the instruction or the sub-table.
101 1.1 christos
102 1.1 christos
103 1.1 christos o Due to the naming, only a single generated
104 1.1 christos simulator can be included in a program.
105 1.1 christos
106 1.1 christos IGEN should be able to generate multiple
107 1.1 christos engines that can all be included in a program
108 1.1 christos
109 1.1 christos o handle alternate architectures.
110 1.1 christos
111 1.1 christos
112 1.1 christos o Igen should support the generation of a
113 1.1 christos disasembler and posibly an assembler.
114 1.1 christos
115 1.1 christos I suggest that the table be extended to
116 1.1 christos include, for each instruction, additional
117 1.1 christos lines describing the extual format of the
118 1.1 christos instruction.
119 1.1 christos
120 1.1 christos One possible format is:
121 1.1 christos
122 1.1 christos "mtlr %RS":SPR.something
123 1.1 christos "mtspr %SPR, %RS"
124