diff options
Diffstat (limited to 'c/src/lib/libbsp/powerpc/support/old_exception_processing/README')
-rw-r--r-- | c/src/lib/libbsp/powerpc/support/old_exception_processing/README | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/powerpc/support/old_exception_processing/README b/c/src/lib/libbsp/powerpc/support/old_exception_processing/README new file mode 100644 index 0000000000..c72bebfe0c --- /dev/null +++ b/c/src/lib/libbsp/powerpc/support/old_exception_processing/README @@ -0,0 +1,80 @@ +# +# $Id$ +# + +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 |