Dynamic Binary Translation (DBT) requires the implementation of load-link/store-conditional (LL/SC) primitives for guest systems that rely on this form of synchronization. When targeting e.g. x86 host systems, LL/SC guest instructions are typically emulated using atomic Compare-and-Swap (CAS) instructions on the host. Whilst this direct mapping is efficient, this approach is problematic due to subtle differences between LL/SC and CAS semantics. In this paper, we demonstrate that this is a real problem, and we provide code examples that fail to execute correctly on QEMU and a commercial DBT system, which both use the CAS approach to LL/SC emulation. We then develop two novel and provably correct LL/SC emulation schemes: (1) A purely software...
Approaches to Dynamic Binary Translation (DBT) on resource-constrained embedded systems are not stra...
Heterogeneous memory systems are getting popular, however they face significant challenges from tran...
Indirect branch handling is a major source of performance overhead in Dynamic Binary Translation (DB...
Dynamic Binary Translation (DBT) requires the implementation of load-link/store-conditional (LL/SC) ...
Dynamic Binary Translation (DBT) is a powerful approach to support cross-architecture emulation of u...
International audienceDuring dynamic binary translation (DBT), guest memory accesses need to be tran...
Dynamic Binary Translation (DBT) is a powerful approach to support cross-architecture emulation of u...
Dynamic Binary Translation (DBT) is a powerful approach to support cross-architecture emulation of u...
Many hardware primitives have been proposed for synchronization and atomic mem-ory update on shared-...
Abstract—Dynamic binary translation (DBT) is a core technology to many important applications such a...
Many hardware primitives have been proposed for synchronization and atomic memory update on shared-m...
System-level Dynamic Binary Translation (DBT) provides the capability to boot an Operating System (O...
Dynamic binary translation (DBT) is a powerful tech-nique with several important applications. Syste...
This paper is concerned with system support for nonblocking synchronization in shared-memory multipr...
Over the past decade, a pair of instructions called load-linked (LL) and store-conditional (SC) have...
Approaches to Dynamic Binary Translation (DBT) on resource-constrained embedded systems are not stra...
Heterogeneous memory systems are getting popular, however they face significant challenges from tran...
Indirect branch handling is a major source of performance overhead in Dynamic Binary Translation (DB...
Dynamic Binary Translation (DBT) requires the implementation of load-link/store-conditional (LL/SC) ...
Dynamic Binary Translation (DBT) is a powerful approach to support cross-architecture emulation of u...
International audienceDuring dynamic binary translation (DBT), guest memory accesses need to be tran...
Dynamic Binary Translation (DBT) is a powerful approach to support cross-architecture emulation of u...
Dynamic Binary Translation (DBT) is a powerful approach to support cross-architecture emulation of u...
Many hardware primitives have been proposed for synchronization and atomic mem-ory update on shared-...
Abstract—Dynamic binary translation (DBT) is a core technology to many important applications such a...
Many hardware primitives have been proposed for synchronization and atomic memory update on shared-m...
System-level Dynamic Binary Translation (DBT) provides the capability to boot an Operating System (O...
Dynamic binary translation (DBT) is a powerful tech-nique with several important applications. Syste...
This paper is concerned with system support for nonblocking synchronization in shared-memory multipr...
Over the past decade, a pair of instructions called load-linked (LL) and store-conditional (SC) have...
Approaches to Dynamic Binary Translation (DBT) on resource-constrained embedded systems are not stra...
Heterogeneous memory systems are getting popular, however they face significant challenges from tran...
Indirect branch handling is a major source of performance overhead in Dynamic Binary Translation (DB...