OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-6.8/] [sim/] [ppc/] [BUGS] - Diff between revs 827 and 840

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 827 Rev 840
ChangeLog
ChangeLog
See the ChangeLog file looking for lines taged with the word FIXME.
See the ChangeLog file looking for lines taged with the word FIXME.
COREFILE.C:
COREFILE.C:
The implementation of corefile.c (defined by corefile.h) isn't the
The implementation of corefile.c (defined by corefile.h) isn't the
best.  It is intended to be functionaly correct rather than fast.  One
best.  It is intended to be functionaly correct rather than fast.  One
option being considered is to add a data cache to reduce the overhead
option being considered is to add a data cache to reduce the overhead
of the most common case of data read/writes.
of the most common case of data read/writes.
VEA:
VEA:
Missing VEA system calls.
Missing VEA system calls.
ppc-instructions:
ppc-instructions:
Missing or commented out instructions.
Missing or commented out instructions.
64bit:
64bit:
64bit target untested. 64bit host broken.  For instance use of scanf
64bit target untested. 64bit host broken.  For instance use of scanf
"%x", &long long.
"%x", &long long.
hw_*.c:
hw_*.c:
Better and more devices.
Better and more devices.
PORTABILITY:
PORTABILITY:
(Notes taken from Michael Meissner): Heavy use of the ## operator -
(Notes taken from Michael Meissner): Heavy use of the ## operator -
fix using the clasic X/**/Y hack; Use of the signed keyword.  In
fix using the clasic X/**/Y hack; Use of the signed keyword.  In
particular, signed char has no analogue in classic C (though most
particular, signed char has no analogue in classic C (though most
implementations of classic C use signed chars); Use of long long which
implementations of classic C use signed chars); Use of long long which
restricts the target compiler to be GCC.
restricts the target compiler to be GCC.
TRACING:
TRACING:
debug.c: Macro's should be extended to include:
debug.c: Macro's should be extended to include:
        IS_*TRACE:      True if tracing enabled
        IS_*TRACE:      True if tracing enabled
        *TRACE_PREFIX:  Outputs just the prefix line
        *TRACE_PREFIX:  Outputs just the prefix line
hw_trace.c: Flush, replace with a psim_set_tracing or some
hw_trace.c: Flush, replace with a psim_set_tracing or some
        such program.
        such program.
CIA/NIA:
CIA/NIA:
Replace with functions to return/increment the CIA?
Replace with functions to return/increment the CIA?
SMP & GDB:
SMP & GDB:
GDB doesn't understand SMP!
GDB doesn't understand SMP!
OVERALL STRUCTURE:
OVERALL STRUCTURE:
A new file pstruct.h is to be created that contains a single flat data
A new file pstruct.h is to be created that contains a single flat data
structure containing:
structure containing:
                pstruct {
                pstruct {
                        events;
                        events;
                        core;
                        core;
                        processor[nr_cpus];
                        processor[nr_cpus];
                        monitor;
                        monitor;
                        devices;
                        devices;
                        trace;
                        trace;
                }
                }
The CPU's structure, in turn would contain the VM sub structures.
The CPU's structure, in turn would contain the VM sub structures.
When SMP==0, everything would have PSTRUCT passed.  In SMP mode,
When SMP==0, everything would have PSTRUCT passed.  In SMP mode,
however, there are two choices: PSTRUCT + CPU_NR or PROCESSOR.  I
however, there are two choices: PSTRUCT + CPU_NR or PROCESSOR.  I
suspect the latter is better.
suspect the latter is better.
It is believed that this would significantly improve performance (at
It is believed that this would significantly improve performance (at
the price of reduced control over object scope).
the price of reduced control over object scope).
IGEN:
IGEN:
Igen at present can't do the following:
Igen at present can't do the following:
        o       duplication is an all or nothing afair.
        o       duplication is an all or nothing afair.
                It should be configurable according to
                It should be configurable according to
                the instruction or the sub-table.
                the instruction or the sub-table.
        o       Due to the naming, only a single generated
        o       Due to the naming, only a single generated
                simulator can be included in a program.
                simulator can be included in a program.
                IGEN should be able to generate multiple
                IGEN should be able to generate multiple
                engines that can all be included in a program
                engines that can all be included in a program
        o       handle alternate architectures.
        o       handle alternate architectures.
        o       Igen should support the generation of a
        o       Igen should support the generation of a
                disasembler and posibly an assembler.
                disasembler and posibly an assembler.
                I suggest that the table be extended to
                I suggest that the table be extended to
                include, for each instruction, additional
                include, for each instruction, additional
                lines describing the extual format of the
                lines describing the extual format of the
                instruction.
                instruction.
                One possible format is:
                One possible format is:
                        "mtlr %RS":SPR.something
                        "mtlr %RS":SPR.something
                        "mtspr %SPR, %RS"
                        "mtspr %SPR, %RS"
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.