Message ID | 5f65cf37be993760de8112a88da194e3ccbb2bf8.1588959697.git.sandipan@linux.ibm.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | selftests: vm: pkeys: Some powerpc fixes | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | warning | Failed to apply on branch powerpc/merge (1bc92fe3175eb26ff37e580c0383d7a9abe06835) |
snowpatch_ozlabs/apply_patch | warning | Failed to apply on branch powerpc/next (140777a3d8dfdb3d3f20ea7707c0f1c0ce1b0aa5) |
snowpatch_ozlabs/apply_patch | warning | Failed to apply on branch linus/master (d5eeab8d7e269e8cfc53b915bccd7bd30485bcbf) |
snowpatch_ozlabs/apply_patch | warning | Failed to apply on branch powerpc/fixes (5990cdee689c6885b27c6d969a3d58b09002b0bc) |
snowpatch_ozlabs/apply_patch | success | Successfully applied on branch linux-next (30e2206e11ce27ae910cc0dab21472429e400a87) |
snowpatch_ozlabs/build-ppc64le | success | Build succeeded |
snowpatch_ozlabs/build-ppc64be | success | Build succeeded |
snowpatch_ozlabs/build-ppc64e | success | Build succeeded |
snowpatch_ozlabs/build-pmac32 | success | Build succeeded |
snowpatch_ozlabs/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 9 lines checked |
snowpatch_ozlabs/needsstable | success | Patch fixes a commit that hasn't been released yet |
* Sandipan Das: > The Power ISA mandates that all writes to the Authority > Mask Register (AMR) must always be preceded as well as > succeeded by a context-synchronizing instruction. This > applies to both the privileged and unprivileged variants > of the Move To AMR instruction. Ugh. Do you have a reference for that? We need to fix this in glibc. Thanks, Florian
Hi Florian, On 08/05/20 11:31 pm, Florian Weimer wrote: > * Sandipan Das: > >> The Power ISA mandates that all writes to the Authority >> Mask Register (AMR) must always be preceded as well as >> succeeded by a context-synchronizing instruction. This >> applies to both the privileged and unprivileged variants >> of the Move To AMR instruction. > > Ugh. Do you have a reference for that? > > We need to fix this in glibc. > This is from Table 6 of Chapter 11 in page 1134 of Power ISA 3.0B. The document can be found here: https://ibm.ent.box.com/s/1hzcwkwf8rbju5h9iyf44wm94amnlcrv - Sandipan
* Sandipan Das: > Hi Florian, > > On 08/05/20 11:31 pm, Florian Weimer wrote: >> * Sandipan Das: >> >>> The Power ISA mandates that all writes to the Authority >>> Mask Register (AMR) must always be preceded as well as >>> succeeded by a context-synchronizing instruction. This >>> applies to both the privileged and unprivileged variants >>> of the Move To AMR instruction. >> >> Ugh. Do you have a reference for that? >> >> We need to fix this in glibc. >> > > This is from Table 6 of Chapter 11 in page 1134 of Power > ISA 3.0B. The document can be found here: > https://ibm.ent.box.com/s/1hzcwkwf8rbju5h9iyf44wm94amnlcrv Thanks a lot! I filed: <https://sourceware.org/bugzilla/show_bug.cgi?id=25954> Florian
diff --git a/tools/testing/selftests/vm/pkey-powerpc.h b/tools/testing/selftests/vm/pkey-powerpc.h index eb5077de8f1e..1ebb586b2fbc 100644 --- a/tools/testing/selftests/vm/pkey-powerpc.h +++ b/tools/testing/selftests/vm/pkey-powerpc.h @@ -55,7 +55,8 @@ static inline void __write_pkey_reg(u64 pkey_reg) dprintf4("%s() changing %016llx to %016llx\n", __func__, __read_pkey_reg(), pkey_reg); - asm volatile("mtspr 0xd, %0" : : "r" ((unsigned long)(amr)) : "memory"); + asm volatile("isync; mtspr 0xd, %0; isync" + : : "r" ((unsigned long)(amr)) : "memory"); dprintf4("%s() pkey register after changing %016llx to %016llx\n", __func__, __read_pkey_reg(), pkey_reg);
The Power ISA mandates that all writes to the Authority Mask Register (AMR) must always be preceded as well as succeeded by a context-synchronizing instruction. This applies to both the privileged and unprivileged variants of the Move To AMR instruction. Fixes: 130f573c2a79 ("selftests/vm/pkeys: introduce powerpc support") Reported-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> Suggested-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> Signed-off-by: Sandipan Das <sandipan@linux.ibm.com> --- tools/testing/selftests/vm/pkey-powerpc.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)