docs: powerpc: Fix tables in syscall64-abi.rst

Commit 209b44c804 ("docs: powerpc: syscall64-abi.rst: fix a malformed
table") attempted to fix the formatting of tables in syscall64-abi.rst, but
inadvertently changed some register names.

Redo the tables with the correct register names, and while we're here,
clean things up to separate the registers into different rows and add
headings.

Fixes: 209b44c804 ("docs: powerpc: syscall64-abi.rst: fix a malformed table")
Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com>
Link: https://lore.kernel.org/r/20210225060857.16083-1-ajd@linux.ibm.com
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
Andrew Donnellan 2021-02-25 17:08:57 +11:00 committed by Jonathan Corbet
parent a910f43efd
commit 36eaf08fc2

View File

@ -46,25 +46,38 @@ stack frame LR and CR save fields are not used.
Register preservation rules
---------------------------
Register preservation rules match the ELF ABI calling sequence with the
following differences:
Register preservation rules match the ELF ABI calling sequence with some
differences.
+------------------------------------------------------------------------+
| For the sc instruction, differences with the ELF ABI |
+--------------+--------------+------------------------------------------+
| r0 | Volatile | (System call number.) |
| rr3 | Volatile | (Parameter 1, and return value.) |
| rr4-r8 | Volatile | (Parameters 2-6.) |
| rcr0 | Volatile | (cr0.SO is the return error condition.) |
| rcr1, cr5-7 | Nonvolatile | |
| rlr | Nonvolatile | |
+--------------+--------------+------------------------------------------+
| For the scv 0 instruction, differences with the ELF ABI |
+--------------+--------------+------------------------------------------+
| r0 | Volatile | (System call number.) |
| r3 | Volatile | (Parameter 1, and return value.) |
| r4-r8 | Volatile | (Parameters 2-6.) |
+--------------+--------------+------------------------------------------+
For the sc instruction, the differences from the ELF ABI are as follows:
+--------------+--------------------+-----------------------------------------+
| Register | Preservation Rules | Purpose |
+==============+====================+=========================================+
| r0 | Volatile | (System call number.) |
+--------------+--------------------+-----------------------------------------+
| r3 | Volatile | (Parameter 1, and return value.) |
+--------------+--------------------+-----------------------------------------+
| r4-r8 | Volatile | (Parameters 2-6.) |
+--------------+--------------------+-----------------------------------------+
| cr0 | Volatile | (cr0.SO is the return error condition.) |
+--------------+--------------------+-----------------------------------------+
| cr1, cr5-7 | Nonvolatile | |
+--------------+--------------------+-----------------------------------------+
| lr | Nonvolatile | |
+--------------+--------------------+-----------------------------------------+
For the scv 0 instruction, the differences from the ELF ABI are as follows:
+--------------+--------------------+-----------------------------------------+
| Register | Preservation Rules | Purpose |
+==============+====================+=========================================+
| r0 | Volatile | (System call number.) |
+--------------+--------------------+-----------------------------------------+
| r3 | Volatile | (Parameter 1, and return value.) |
+--------------+--------------------+-----------------------------------------+
| r4-r8 | Volatile | (Parameters 2-6.) |
+--------------+--------------------+-----------------------------------------+
All floating point and vector data registers as well as control and status
registers are nonvolatile.