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