Concurrent programming in shared memory multiprocessor (SMP) systems is challenging. One of the difficulties is that programmers are accustomed to reasoning about single-threaded execution. Locking primitives help to make concurrent execution easier to reason about by providing mutual exclusion of critical sections, but often suffer from poor scalability [3]. This forces programmers to explicitly reason about finer grain locking strategies, which is often error-prone. A different approach is to use transactional memory (TM), which combines the same ease-of-use as coarse grain locking with the performance benefits of finer grain locking. There has been a lot of work in the academic literature about both hardware and software based TM systems [8][5][6], but only recently has a mainstream implementation been proposed by Intel. Transactional Synchronization Extensions (TSX) is a new specification recently introduced by Intel for the upcoming Haswell multicore processor [1]. The specification introduces a new software interface for executing instructions transactionally. This includes three new main instructions: XBEGIN, XEND, and XABORT. XBEGIN informs the processor to start executing in transactional mode. All subsequent changes to the architectural state (including memory) will not be exposed to other processors until commit, and will be exposed atomically. XEND signals the processor to atomically commit writes which have accumulated since the corresponding XBEGIN. XABORT singals the processor to revert the current processor’s architectural state to before the corresponding XBEGIN was issued. Because this is a new hardware specification, currently no hardware implementation is available to researchers outside of Intel. Since this is a promising specification, we wanted to start experimenting with it. Specifically, we want to understand how useful the new primitives are to both OS kernel developers and userspace application developers. This served as the primary motivation for this paper: to implement a fully compliant emulation of TSX in QEMU [2], the popular open source x86 emulator.