summaryrefslogtreecommitdiffstats
path: root/c/src/exec/score/cpu/powerpc/README
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/exec/score/cpu/powerpc/README')
-rw-r--r--c/src/exec/score/cpu/powerpc/README77
1 files changed, 77 insertions, 0 deletions
diff --git a/c/src/exec/score/cpu/powerpc/README b/c/src/exec/score/cpu/powerpc/README
new file mode 100644
index 0000000000..92af381241
--- /dev/null
+++ b/c/src/exec/score/cpu/powerpc/README
@@ -0,0 +1,77 @@
+There are various issues regarding this port:
+
+
+
+1) Legal
+
+This port is written by Andrew Bray <andy@i-cubed.demon.co.uk>, and
+is copyright 1995 i-cubed ltd.
+
+Due to the current lack of a formal release note, this is a limited
+release to OAR, and other specific parties designated by OAR who
+are involved in porting RTEMS to the PowerPC architecture.
+
+This set of release files SHOULD (IMHO) include a cpu specific
+alignment exception handler. Ours is derived from IBM sample
+code. I am seeking a release from IBM for this file. In the
+mean time this file is excluded (but still included in the Makefile
+as a place-holder).
+
+
+
+2) CPU support.
+
+This release fully supports the IBM PPC403GA and PPC403GB processors.
+
+It has only been tested on the PPC403GA (using software floating
+point).
+
+With the gratefully acknowledged assistance of IBM and Blue Micro,
+this release contains code to support the following processors
+ PPC601, PPC603, PPC603e, PPC604, and PPC602.
+
+The support for these processors is incomplete, especially that for
+the PPC602 for which only sketchy data is currently available.
+
+
+
+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 incoplete
+as it is untested.
+
+In the long term, the RTEMS PowerPC port should move to the EABI as its primary
+or only port. This should wait on a true EABI version of GCC.
+
+Andrew Bray 18/8/1995