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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [exec/] [score/] [cpu/] [powerpc/] [old_exception_processing/] [README] - Rev 213

Go to most recent revision | Compare with Previous | Blame | View Log

#
#  $Id: README,v 1.2 2001-09-27 11:59:29 chris Exp $
#

There are various issues regarding this port:



1) Legal

This port is written by Andrew Bray <andy@i-cubed.co.uk>, and
is copyright 1995 i-cubed ltd.

This port was later updated by Joel Sherrill <joel@OARcorp.com>
to test the support for the PPC603, PPC603e, and MPC604.  This
was tested on the PowerPC simulator PSIM and a VMEbus single board
computer.

2) CPU support.

This release fully supports the PPC403GA, PPC403GB, PPC603, PPC603e,
MPC604, MPC750, and numerous MPC8xx processors.  A good faith attempt
has been made to include support other models based upon available
documentation including the MPC5xx.  There are two interrupt structures
supported by the PowerPC port.  The newer structure is supported by
all the MPC750 and MPC604 BSPs.  This structure is required to use
the RDBG remote debugging support.

This port was originally written and tested on the PPC403GA (using
software floating point).  Current ports are tested primarily on
60x CPUs using the PowerPC simulator PSIM.

Andrew Bray received assistance during the initial porting effort 
from IBM and Blue Micro and we would like to gratefully acknowledge
that help.

The support for the PPC602 processor is incomplete as only sketchy
data is currently available.  Perhaps this model has been dropped.

3) Application Binary Interface

In the context of RTEMS, the ABI is of interest for the following
aspects:

a)  Register usage.  Which registers are used to provide static variable
    linkage, stack pointer etc.

b)  Function calling convention.  How parameters are passed, how function
    variables should be invoked, how values are returned, etc.

c)  Stack frame layout.

I am aware of a number of ABIs for the PowerPC:

a)  The PowerOpen ABI.  This is the original Power ABI used on the RS/6000.
    This is the only ABI supported by versions of GCC before 2.7.0.

b)  The SVR4 ABI.  This is the ABI defined by SunSoft for the Solaris port
    to the PowerPC.

c)  The Embedded ABI.  This is an embedded ABI for PowerPC use, which has no
    operating system interface defined.  It is promoted by SunSoft, Motorola,
    and Cygnus Support.  Cygnus are porting the GNU toolchain to this ABI.

d)  GCC 2.7.0.  This compiler is partway along the road to supporting the EABI,
    but is currently halfway in between.

This port was built and tested using the PowerOpen ABI, with the following
caveat:  we used an ELF assembler and linker.  So some attention may be
required on the assembler files to get them through a traditional (XCOFF)
PowerOpen assembler.

This port contains support for the other ABIs, but this may prove to be
incomplete as it is untested.

The RTEMS PowerPC port supports EABI as the primary ABI.  The powerpc-rtems
GNU toolset configuration is EABI.

Andrew Bray,   4 December 1995
Joel Sherrill, 16 July 1997

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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