[rtems-docs commit] cpu-supplement: Fix PowerPC TOC limitation

Sebastian Huber sebh at rtems.org
Thu Aug 24 13:55:23 UTC 2017


Module:    rtems-docs
Branch:    master
Commit:    873ba805c7fd365dd38b835d34e6cd9826a66fd2
Changeset: http://git.rtems.org/rtems-docs/commit/?id=873ba805c7fd365dd38b835d34e6cd9826a66fd2

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Thu Aug 24 15:54:41 2017 +0200

cpu-supplement: Fix PowerPC TOC limitation

Update #3082.

---

 cpu-supplement/powerpc.rst | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/cpu-supplement/powerpc.rst b/cpu-supplement/powerpc.rst
index c9b4539..d9dfd53 100644
--- a/cpu-supplement/powerpc.rst
+++ b/cpu-supplement/powerpc.rst
@@ -131,8 +131,9 @@ Thread-local storage is supported.
   setup.  A valid stack pointer is not enough to call C functions.  They may
   use the TOC to get addresses and constants.
 
-* The TOC must be within the first 4GiB of the address space.  This simplifies
-  the interrupt prologue.
+* The TOC must be within the first 2GiB of the address space.  This simplifies
+  the interrupt prologue, since the `r2` can be set to `.TOC.` via the usual
+  `lis` followed by `ori` combination.  The `lis` is subject to sign-extension.
 
 * The `PPC_REG_LOAD`, `PPC_REG_STORE`, `PPC_REG_STORE_UPDATE`, and
   `PPC_REG_CMP` macros are available for assembly code to provide register size




More information about the vc mailing list