Thread (3 messages) 3 messages, 3 authors, 2021-03-14

Re: [PATCH] powerpc/sstep: Fix VSX instruction emulation

From: Ravi Bangoria <hidden>
Date: 2021-02-26 11:10:42


On 2/25/21 8:49 AM, Jordan Niethe wrote:
Commit af99da74333b ("powerpc/sstep: Support VSX vector paired storage
access instructions") added loading and storing 32 word long data into
adjacent VSRs. However the calculation used to determine if two VSRs
needed to be loaded/stored inadvertently prevented the load/storing
taking place for instructions with a data length less than 16 words.

This causes the emulation to not function correctly, which can be seen
by the alignment_handler selftest:

$ ./alignment_handler
[snip]
test: test_alignment_handler_vsx_207
tags: git_version:powerpc-5.12-1-0-g82d2c16b350f
VSX: 2.07B
         Doing lxsspx:   PASSED
         Doing lxsiwax:  FAILED: Wrong Data
         Doing lxsiwzx:  PASSED
         Doing stxsspx:  PASSED
         Doing stxsiwx:  PASSED
failure: test_alignment_handler_vsx_207
test: test_alignment_handler_vsx_300
tags: git_version:powerpc-5.12-1-0-g82d2c16b350f
VSX: 3.00B
         Doing lxsd:     PASSED
         Doing lxsibzx:  PASSED
         Doing lxsihzx:  PASSED
         Doing lxssp:    FAILED: Wrong Data
         Doing lxv:      PASSED
         Doing lxvb16x:  PASSED
         Doing lxvh8x:   PASSED
         Doing lxvx:     PASSED
         Doing lxvwsx:   FAILED: Wrong Data
         Doing lxvl:     PASSED
         Doing lxvll:    PASSED
         Doing stxsd:    PASSED
         Doing stxsibx:  PASSED
         Doing stxsihx:  PASSED
         Doing stxssp:   PASSED
         Doing stxv:     PASSED
         Doing stxvb16x: PASSED
         Doing stxvh8x:  PASSED
         Doing stxvx:    PASSED
         Doing stxvl:    PASSED
         Doing stxvll:   PASSED
failure: test_alignment_handler_vsx_300
[snip]

Fix this by making sure all VSX instruction emulation correctly
load/store from the VSRs.

Fixes: af99da74333b ("powerpc/sstep: Support VSX vector paired storage access instructions")
Signed-off-by: Jordan Niethe <redacted>
Yikes!

Reviewed-by: Ravi Bangoria <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help