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.1.1.2 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.1.1.3 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.1.1.3 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