Bug 324518

Summary: ppc64: Emulation of dcbt instructions does not handle non-zero hint fields
Product: [Developer tools] valgrind Reporter: Maynard Johnson <maynardj>
Component: vexAssignee: Julian Seward <jseward>
Status: CLOSED FIXED    
Severity: normal CC: cel, paralkar
Priority: NOR    
Version: 3.9.0.SVN   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: Patch to fix this bug

Description Maynard Johnson 2013-09-04 21:53:54 UTC
Created attachment 82167 [details]
Patch to fix this bug

A user running a Java app under Valgrind on an IBM POWER7 system reported the following error:

dis_cache_manage(ppc)(opc1|b21to25|b0)
disInstr(ppc): unhandled instruction: 0x7E0051EC
                 primary 31(0x1F), secondary 492(0x1EC)
--------------------------------------

This error was due to the fact the code was not properly handling a non-zero TH field in the instruction, which is valid for several forms of data cache block touch instructions.
Comment 1 Carl Love 2013-09-05 19:52:45 UTC
Reviewed and tested the patch.  The new tests are run and no additional errors were found when running make regtest.  The patch was committed, VEX commit was 2751, Valgrind commit was 13534.
Comment 2 Carl Love 2013-09-05 21:26:17 UTC
Screwed up and forgot to add the new expected output files and vgtest files for ppc32 and ppc64.  Fixed in commit r13535.
Comment 3 Carl Love 2013-09-06 16:51:28 UTC
The patch used the binary constants 0b10000 and 0b10001.  The 0b designator
is supported by the GCC extensions but not all compilers seem to support the
0b extension in GCC.  Therefore, the binary constats were changed to their
equivalent hex values as suggested by Florian.

Vex commit  2753
Comment 4 Anmol P. Paralkar 2013-09-11 14:27:50 UTC
 Related to: https://bugs.kde.org/show_bug.cgi?id=324765
Comment 5 Julian Seward 2013-09-12 14:50:21 UTC
Can this be closed now?
Comment 6 Maynard Johnson 2013-09-12 15:52:25 UTC
(In reply to comment #5)
> Can this be closed now?

Yes, please.
Comment 7 Carl Love 2013-09-12 20:56:33 UTC
Bug was fixed, now closing