Lx86
Encyclopedia
PowerVM Lx86 is a binary translation
layer for IBM
's System p servers. It enables 32-bit
x86 Linux
binaries
to run unmodified on the Power Architecture
based hardware. IBM is relying on this feature to migrate x86 Linux servers to the PowerVM
virtualized
environment and is supported on all POWER5
and POWER6
hardware as well as BladeCenter JS21 and JS22 systems.
In contrast to regular emulator
s only the instructions are translated, not the entire system, thus making it fast and flexible. The Lx86 software senses that it is executing
x86 code and translates it to PowerPC code at execution, and these instructions are later cache
d ensuring that the translation process only has to take place once, further reducing the drop in performance usually associated with emulation. Lx86 does not support applications that access hardware directly, like kernel modules. Earlier versions of Lx86 did not run code that makes use of SSE
instructions, though as of version 1.3.2 the SSE and SSE2
instruction sets are supported.
The product was at first marketed as System p AVE (System p Application Virtual Environment) and was incorrectly reported as PAVE (Portable Advanced Virtualization Emulator) in the press but the name has since changed to PowerVM Lx86. Lx86 is based on the QuickTransit
dynamic translator from Transitive, the same that Apple uses for its Rosetta
emulation layer that enables Mac OS X
to run unmodified PowerPC
binaries on their Intel-based Macintoshes.
Binary translation
In computing, binary translation is the emulation of one instruction set by another through translation of code. Sequences of instructions are translated from the source to the target instruction set...
layer for IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
's System p servers. It enables 32-bit
32-bit
The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295. Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory....
x86 Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
binaries
Executable
In computing, an executable file causes a computer "to perform indicated tasks according to encoded instructions," as opposed to a data file that must be parsed by a program to be meaningful. These instructions are traditionally machine code instructions for a physical CPU...
to run unmodified on the Power Architecture
Power Architecture
Power Architecture is a broad term to describe similar RISC instruction sets for microprocessors developed and manufactured by such companies as IBM, Freescale, AMCC, Tundra and P.A. Semi...
based hardware. IBM is relying on this feature to migrate x86 Linux servers to the PowerVM
PowerVM
PowerVM, formerly known as Advanced Power Virtualization , is a chargeable feature of IBM POWER5, POWER6 and POWER7 servers and is required for support of micro-partitions and other advanced features...
virtualized
Cross-platform virtualization
Cross-platform virtualization is a form of computer virtualization that allows software compiled for a specific CPU and operating system to run unmodified on computers with different CPUs and/or operating systems, through a combination of dynamic binary translation and operating system call...
environment and is supported on all POWER5
POWER5
The POWER5 is a microprocessor developed and fabricated by IBM. It is an improved version of the highly successful POWER4. The principal improvements are support for simultaneous multithreading and an on-die memory controller...
and POWER6
POWER6
The POWER6 is a microprocessor developed by IBM that implemented the Power ISA v.2.03. When it became available in systems in 2007, it succeeded the POWER5+ as IBM's flagship Power microprocessor...
hardware as well as BladeCenter JS21 and JS22 systems.
In contrast to regular emulator
Emulator
In computing, an emulator is hardware or software or both that duplicates the functions of a first computer system in a different second computer system, so that the behavior of the second system closely resembles the behavior of the first system...
s only the instructions are translated, not the entire system, thus making it fast and flexible. The Lx86 software senses that it is executing
Execution (computers)
Execution in computer and software engineering is the process by which a computer or a virtual machine carries out the instructions of a computer program. The instructions in the program trigger sequences of simple actions on the executing machine...
x86 code and translates it to PowerPC code at execution, and these instructions are later cache
Cache
In computer engineering, a cache is a component that transparently stores data so that future requests for that data can be served faster. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere...
d ensuring that the translation process only has to take place once, further reducing the drop in performance usually associated with emulation. Lx86 does not support applications that access hardware directly, like kernel modules. Earlier versions of Lx86 did not run code that makes use of SSE
Streaming SIMD Extensions
In computing, Streaming SIMD Extensions is a SIMD instruction set extension to the x86 architecture, designed by Intel and introduced in 1999 in their Pentium III series processors as a reply to AMD's 3DNow! . SSE contains 70 new instructions, most of which work on single precision floating point...
instructions, though as of version 1.3.2 the SSE and SSE2
SSE2
SSE2, Streaming SIMD Extensions 2, is one of the Intel SIMD processor supplementary instruction sets first introduced by Intel with the initial version of the Pentium 4 in 2001. It extends the earlier SSE instruction set, and is intended to fully supplant MMX. Intel extended SSE2 to create SSE3...
instruction sets are supported.
The product was at first marketed as System p AVE (System p Application Virtual Environment) and was incorrectly reported as PAVE (Portable Advanced Virtualization Emulator) in the press but the name has since changed to PowerVM Lx86. Lx86 is based on the QuickTransit
QuickTransit
QuickTransit was a cross-platform virtualization program developed by Transitive Corporation. It allowed software compiled for one specific processor and operating system combination to be executed on a different processor and/or operating system architecture without source code or binary...
dynamic translator from Transitive, the same that Apple uses for its Rosetta
Rosetta (software)
Rosetta was a lightweight and dynamic binary translator for Mac OS X which Apple released in 2006 when it transitioned the Macintosh from PowerPC to Intel processors. It allowed pre-existing software to run on the new systems without modification....
emulation layer that enables Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
to run unmodified PowerPC
PowerPC
PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...
binaries on their Intel-based Macintoshes.