Bug 322593

Summary: Power 8 code to implement Transactional support
Product: [Developer tools] valgrind Reporter: Carl Love <cel>
Component: vexAssignee: Julian Seward <jseward>
Status: CLOSED FIXED    
Severity: normal CC: will_schmidt
Priority: NOR    
Version First Reported In: 3.9.0.SVN   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: A path to imlement the second proposal by Julian for transactional Memory support on Power.

Description Carl Love 2013-07-19 21:50:47 UTC
This bugziilla is just a place holder for adding  the Transactional Memory support to Valgrind.  I tried to post a preliminary patch for Power but it was too big for the mailing list.  So I will put the patch here and refer to it on my posting

Reproducible: Always
Comment 1 Carl Love 2013-07-19 22:00:43 UTC
Created attachment 81208 [details]
A path to imlement the second proposal by Julian for transactional Memory support on Power.

The patch is a preliminary attempt at supporting the transactional memory support in Valgrind based on Julian's second proposal where the TM instructions are executed by the underlying hardware.

This patch is for discussion purposes and shouldn't be committed to Valgrind.  The issue with this approach on Power is that executing the guest tbegin and tend on the real hardware fails because the HW can track all the loads/stores for the guest program and the Valgrind loads/store.  We get a footprint overflow which results in the guest tbegin TM instruction failing when tested on a small test program.  There is just too many loads/stores from Valgrind in between the guest instructions.
Comment 2 Carl Love 2016-09-14 17:23:51 UTC
This bugzilla was a place holder for the transactional memory support discussion.  Bugzilla 346474 contains the patch for the PPC64 transacational memory support.  

The patch from Bugzilla 346474 was committed on April 22, 2015, VEX commit 3143, Valgrind commit 15134.