Home | History | Annotate | Line # | Download | only in ppc
BUGS revision 1.1
      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  christos ppc-instructions:
     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  christos fix using the clasic 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  christos 	o	duplication is an all or nothing afair.
     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