summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-08-24 15:54:41 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-08-24 15:55:07 +0200
commit873ba805c7fd365dd38b835d34e6cd9826a66fd2 (patch)
tree6f7672d739404065279a57088a82532cfcce13b6
parentc-user: Clarify user extensions (diff)
downloadrtems-docs-873ba805c7fd365dd38b835d34e6cd9826a66fd2.tar.bz2
cpu-supplement: Fix PowerPC TOC limitation
Update #3082.
-rw-r--r--cpu-supplement/powerpc.rst5
1 files 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