On 17 December 2014 at 11:25, Paolo Bonzini <pbonz...@redhat.com> wrote: > > > On 17/12/2014 12:18, Alexander Graf wrote: >> >> So I think the best way to go forward would be to add transaction_start >> and transaction_end opcodes to TCG and implement them as mutex locks >> today. When you get the chance to get yourself a machine that supports >> actual TM, try to replace them with transaction start/end blocks and >> have the normal mutex code as fallback if the transaction fails. > > Or implement load_locked/store_conditional TCG ops. They can be > implemented as transactions, hardware ll/sc, or something slow that uses > the MMU.
You'd need to compare the semantics of ll/sc across the various architectures to find out if there was anything you could actually meaningfully define as useful TCG op semantics there. -- PMM