linux/Documentation/powerpc
Nicholas Piggin 7fa95f9ada powerpc/64s: system call support for scv/rfscv instructions
Add support for the scv instruction on POWER9 and later CPUs.

For now this implements the zeroth scv vector 'scv 0', as identical to
'sc' system calls, with the exception that LR is not preserved, nor
are volatile CR registers, and error is not indicated with CR0[SO],
but by returning a negative errno.

rfscv is implemented to return from scv type system calls. It can not
be used to return from sc system calls because those are defined to
preserve LR.

getpid syscall throughput on POWER9 is improved by 26% (428 to 318
cycles), largely due to reducing mtmsr and mtspr.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
[mpe: Fix ppc64e build]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200611081203.995112-3-npiggin@gmail.com
2020-07-22 23:00:27 +10:00
..
bootwrapper.rst powerpc: Remove Xilinx PPC405/PPC440 support 2020-05-28 23:24:34 +10:00
cpu_families.rst docs: powerpc: convert docs to ReST and rename to *.rst 2019-07-17 06:57:51 -03:00
cpu_features.rst docs: powerpc: convert docs to ReST and rename to *.rst 2019-07-17 06:57:51 -03:00
cxl.rst docs: powerpc: cxl.rst: mark two section titles as such 2020-04-20 15:45:25 -06:00
cxlflash.rst docs: powerpc: convert docs to ReST and rename to *.rst 2019-07-17 06:57:51 -03:00
dawr-power9.rst docs: powerpc: convert docs to ReST and rename to *.rst 2019-07-17 06:57:51 -03:00
dscr.rst docs: powerpc: convert docs to ReST and rename to *.rst 2019-07-17 06:57:51 -03:00
eeh-pci-error-recovery.rst docs: powerpc: convert docs to ReST and rename to *.rst 2019-07-17 06:57:51 -03:00
elfnote.rst docs: powerpc: Add missing documentation reference 2019-09-17 23:59:34 +10:00
firmware-assisted-dump.rst docs: filesystems: fix renamed references 2020-04-20 15:45:22 -06:00
hvcs.rst docs: powerpc: convert docs to ReST and rename to *.rst 2019-07-17 06:57:51 -03:00
imc.rst powerpc/imc: Add documentation for IMC and trace-mode 2020-01-06 16:25:27 +11:00
index.rst Documentation/powerpc: VAS API 2020-04-20 16:53:14 +10:00
isa-versions.rst docs: powerpc: convert docs to ReST and rename to *.rst 2019-07-17 06:57:51 -03:00
kaslr-booke32.rst powerpc/fsl_booke/32: Document KASLR implementation 2019-11-13 19:27:58 +11:00
mpc52xx.rst docs: powerpc: convert docs to ReST and rename to *.rst 2019-07-17 06:57:51 -03:00
papr_hcalls.rst powerpc: Document details on H_SCM_HEALTH hcall 2020-06-15 18:22:43 -07:00
pci_iov_resource_on_powernv.rst docs: powerpc: convert docs to ReST and rename to *.rst 2019-07-17 06:57:51 -03:00
pmu-ebb.rst docs: powerpc: convert docs to ReST and rename to *.rst 2019-07-17 06:57:51 -03:00
ptrace.rst docs: powerpc: convert docs to ReST and rename to *.rst 2019-07-17 06:57:51 -03:00
qe_firmware.rst docs: powerpc: convert docs to ReST and rename to *.rst 2019-07-17 06:57:51 -03:00
syscall64-abi.rst powerpc/64s: system call support for scv/rfscv instructions 2020-07-22 23:00:27 +10:00
transactional_memory.rst powerpc/tm: Document h/rfid and mtmsrd quirk 2020-05-20 23:39:57 +10:00
ultravisor.rst docs: prevent warnings due to autosectionlabel 2020-03-20 17:01:29 -06:00
vas-api.rst Documentation/powerpc: VAS API 2020-04-20 16:53:14 +10:00
vcpudispatch_stats.txt powerpc/pseries: Add documentation for vcpudispatch_stats 2019-07-04 22:27:25 +10:00