From 873ba805c7fd365dd38b835d34e6cd9826a66fd2 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 24 Aug 2017 15:54:41 +0200 Subject: cpu-supplement: Fix PowerPC TOC limitation Update #3082. --- cpu-supplement/powerpc.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'cpu-supplement') 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 -- cgit v1.2.3