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
parent
b2dc2977
-
mentioned in commit 293c30ce
-
mentioned in commit fa039a22
-
mentioned in commit a9a88189
-
mentioned in commit 105345b9
-
mentioned in commit 343208ff
-
mentioned in commit 77a843b1
-
mentioned in commit a1c2e69f
-
mentioned in commit 0fc0bcba
-
mentioned in commit 76d3ad7d
-
mentioned in commit 992c8a5f
-
mentioned in commit 21a741eb
-
mentioned in commit c550679d
-
mentioned in commit d10e3c39
-
mentioned in commit 8c650661
Please register or sign in to comment