Changeset 3fdea2d in rtems-docs for cpu-supplement/powerpc.rst
- Timestamp:
- Aug 25, 2017, 8:35:14 AM (3 years ago)
- Branches:
- 5, am, master
- Children:
- 5fc9f8b
- Parents:
- 873ba80
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cpu-supplement/powerpc.rst
r873ba80 r3fdea2d 126 126 ============== 127 127 128 * The thread pointer is ` r13` in contrast to `r2` used in the 32-bit ABI.128 * The thread pointer is ``r13`` in contrast to ``r2`` used in the 32-bit ABI. 129 129 130 * The TOC pointer is ` r2`. It must be initialized as part of the C run-time130 * The TOC pointer is ``r2``. It must be initialized as part of the C run-time 131 131 setup. A valid stack pointer is not enough to call C functions. They may 132 132 use the TOC to get addresses and constants. 133 133 134 134 * The TOC must be within the first 2GiB of the address space. This simplifies 135 the interrupt prologue, since the `r2` can be set to `.TOC.` via the usual 136 `lis` followed by `ori` combination. The `lis` is subject to sign-extension. 135 the interrupt prologue, since the ``r2`` can be set to ``.TOC.`` via the 136 usual ``lis`` followed by ``ori`` combination. The ``lis`` is subject to 137 sign-extension. 137 138 138 * The ` PPC_REG_LOAD`, `PPC_REG_STORE`, `PPC_REG_STORE_UPDATE`, and139 ` PPC_REG_CMP` macros are available for assembly code to provide register size140 operations selected by the GCC `m32` and `m64` options.139 * The ``PPC_REG_LOAD``, ``PPC_REG_STORE``, ``PPC_REG_STORE_UPDATE``, and 140 ``PPC_REG_CMP`` macros are available for assembly code to provide register 141 size operations selected by the GCC ``-m32`` and ``-m64`` options. 141 142 142 * The ` MSR[CM]` bit must be set all the time, otherwise the MMU translation my143 yield unexpected results. The `EPCR[ICM]` or `EPCR[GICM]` bits may be used144 to enable the 64-bit compute mode for exceptions.143 * The ``MSR[CM]`` bit must be set all the time, otherwise the MMU translation 144 my yield unexpected results. The ``EPCR[ICM]`` or ``EPCR[GICM]`` bits may be 145 used to enable the 64-bit compute mode for exceptions.
Note: See TracChangeset
for help on using the changeset viewer.