696:
466:
306:
228:, which made the protection of the hypervisor's memory impossible, in particular, the protection of the trap handler that runs in the guest kernel address space. Revision D and later 64-bit AMD processors (as a rule of thumb, those manufactured in 90 nm or less) added basic support for segmentation in long mode, making it possible to run 64-bit guests in 64-bit hosts via binary translation. Intel did not add segmentation support to its x86-64 implementation (
495:"VMX" stands for Virtual Machine Extensions, which adds 13 new instructions: VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMWRITE, VMCALL, VMLAUNCH, VMRESUME, VMXOFF, VMXON, INVEPT, INVVPID, and VMFUNC. These instructions permit entering and exiting a virtual execution mode where the guest OS perceives itself as running with full privilege (ring 0), but the host OS remains protected.
962:"Surprisingly, we find that the first-generation hardware support rarely offers performance advantages over existing software techniques. We ascribe this situation to high VMM/guest transition costs and a rigid programming model that leaves little room for software flexibility in managing either the frequency or cost of these transitions.
853:
In SR-IOV, the most common of these, a host VMM configures supported devices to create and allocate virtual "shadows" of their configuration spaces so that virtual machine guests can directly configure and access such "shadow" device resources. With SR-IOV enabled, virtualized network interfaces are
730:
An IOMMU also allows operating systems to eliminate bounce buffers needed to allow themselves to communicate with peripheral devices whose memory address spaces are smaller than the operating system's memory address space, by using memory address translation. At the same time, an IOMMU also allows
169:
hypervisor was self-standing and did not depend on any operating system or run any user applications itself. In contrast, the first x86 virtualization products were aimed at workstation computers, and ran a guest OS inside a host OS by embedding the hypervisor in a kernel module that ran under the
76:
0, and applications at a lower privilege such as ring 3. In software-based virtualization, a host OS has direct access to hardware while the guest OSs have limited access to hardware, just like any other application of the host OS. One approach used in x86 software-based virtualization to overcome
552:
in memory that exists exactly once per VM, while it is managed by the VMM. With every change of the execution context between different VMs, the VMCS is restored for the current VM, defining the state of the VM's virtual processor. As soon as more than one VMM or nested VMMs are used, a problem
557:. In such cases, VMCS needs to be shadowed multiple times (in case of nesting) and partially implemented in software in case there is no hardware support by the processor. To make shadow VMCS handling more efficient, Intel implemented hardware support for VMCS shadowing.
1433:
208:
operating systems to run on the resulting virtual machine, which does not implement the parts of the actual x86 instruction set that are hard to virtualize. The paravirtualized I/O has significant performance benefits as demonstrated in the original
182:
40:
In the late 1990s x86 virtualization was achieved by complex software techniques, necessary to compensate for the processor's lack of hardware-assisted virtualization capabilities while attaining reasonable performance. In 2005 and 2006, both
57:) introduced limited hardware virtualization support that allowed simpler virtualization software but offered very few speed benefits. Greater hardware support, which allowed substantial speed improvements, came with later processor models.
2277:
1696:"Intel added unrestricted guest mode on Westmere micro-architecture and later Intel CPUs, it uses EPT to translate guest physical address access to host physical address. With this mode, VMEnter without enable paging is allowed."
1612:
142:
in the processor, so once the segment descriptors have been loaded into the processor, the memory from which they have been loaded may be overwritten and there is no way to get the descriptors back from the processor.
2348:
1430:
2225:
316:
AMD developed its first generation virtualization extensions under the code name "Pacifica", and initially published them as AMD Secure
Virtual Machine (SVM), but later marketed them under the trademark
261:
to the x86 architecture. The first generation of x86 hardware virtualization addressed the issue of privileged instructions. The issue of low performance of virtualized system memory was addressed with
138:. This involves denying the guest OS any access to the actual page table entries by trapping access attempts and emulating them instead in software. The x86 architecture uses hidden state to store
2288:
2384:
185:
paper that the above techniques made the x86 platform virtualizable in the sense of meeting the three criteria of Popek and
Goldberg, albeit not by the classic trap-and-emulate technique.
1261:
1846:
388:
1908:
1747:
2326:
1399:
1370:
1318:
843:
supports native IOV in existing single-root complex PCI Express topologies. It requires support for new device capabilities to configure multiple virtualized configuration spaces.
297:
chip, which offered virtualized 8086 processors on the 386 and later chips. Hardware support for virtualizing the protected mode itself, however, became available 20 years later.
2075:
1969:
1941:
1604:
2136:
1766:
384:
232:), making 64-bit software-only virtualization impossible on Intel CPUs, but Intel VT-x support makes 64-bit hardware assisted virtualization possible on the Intel platform.
158:
These techniques incur some performance overhead due to lack of MMU virtualization support, as compared to a VM running on a natively virtualizable architecture such as the
235:
On some platforms, it is possible to run a 64-bit guest on a 32-bit host OS if the underlying processor is 64-bit and supports the necessary virtualization extensions.
1671:
849:
supports native IOV in new topologies (for example, blade servers) by building on SR-IOV to provide multiple root complexes which share a common PCI Express hierarchy.
2448:
333:
329:
953:
A Comparison of
Software and Hardware Techniques for x86 Virtualization, Keith Adams and Ole Agesen, VMware, ASPLOS’06 October 21–25, 2006, San Jose, California, USA
1821:
2359:
2218:
1997:
1785:
476:
Previously codenamed "Vanderpool", VT-x represents Intel's technology for virtualization on the x86 platform. On
November 13, 2005, Intel released two models of
979:
2423:
1346:
380:
337:
1450:
469:
2051:
854:
directly accessible to the guests, avoiding involvement of the VMM and resulting in high overall performance; for example, SR-IOV achieves over 95% of the
745:
Intel's "Virtualization
Technology for Directed I/O" (VT-d), included in most high-end (but not all) newer Intel processors since the Core 2 architecture.
394:
AMD Opteron CPUs beginning with the Family 0x10 Barcelona line, and Phenom II CPUs, support a second generation hardware virtualization technology called
1640:
1530:
876:
2395:
2197:
1556:
1282:
104:
2018:
1878:
1257:
1184:
690:
480:(Model 662 and 672) as the first Intel processors to support VT-x. The CPU flag for VT-x capability is "vmx"; in Linux, this can be checked via
1839:
881:
174:
1717:
1901:
1705:
1744:
1105:
2471:
2314:
2125:
1314:
834:
supports native IOV across PCI Express via address translation. It requires support for new transactions to configure such translations.
2079:
1962:
608:
601:
1933:
210:
1763:
1407:
1378:
1153:
796:-to-PCI Express bridge can be assigned to a guest virtual machine only all at once; PCI Express devices have no such restriction.
1233:
838:
815:
2100:
623:
series of Intel CPUs, which is sold as Xeon E5-26xx v2 (launched in late 2013) and as Xeon E5-46xx v2 (launched in early 2014).
911:
573:
1371:"What are the main differences between Second-Generation AMD Opteron processors and first-generation AMD Opteron processors?"
1007:
761:
1664:
2249:
1044:
955:
1818:
581:
577:
173:
There has been some controversy whether the x86 architecture with no hardware assistance is virtualizable as described by
600:) targeting interrupt overhead reduction in virtualization environments. This technology, as announced, does not support
568:
3000 Series
Processors and higher support VIA VT virtualization technology compatible with Intel VT-x. EPT is present in
417:
681:. Typically these features must be enabled by the BIOS, which must be able to support them and also be set to use them.
632:
2444:
1993:
1782:
921:
972:
2507:
1509:
1339:
926:
886:
244:
96:
34:
1458:
636:
372:
134:, some of the work of the x86 MMU needs to be duplicated in software for the guest OS using a technique known as
2044:
2419:
620:
1707:"If the “unrestricted guest” VM-execution control is 1, the “enable EPT” VM-execution control must also be 1"
644:
395:
1205:
973:"Intel Virtualization Technology Processor Virtualization Extensions and Intel Trusted execution Technology"
2168:
656:
522:
1633:
1534:
95:, that would otherwise fail silently or behave differently when executed above ring 0, making the classic
932:
781:
533:
518:
498:
As of 2015, almost all newer server, desktop and mobile Intel processors support VT-x, with some of the
2189:
1605:"Best Practices for Paravirtualization Enhancements from Intel Virtualization Technology: EPT and VT-d"
1579:
17:
1289:
2502:
2022:
1177:
541:
189:
1870:
553:
appears in a way similar to what required shadow page table management to be invented, as described
92:
652:
635:(GVT) provides graphics virtualization as part of more recent Gen graphics architectures. Although
611:
virtualization, which did not have a brand name at its announcement time. Later, it was branded as
224:) did not allow for a software-only full virtualization due to the lack of segmentation support in
906:
764:) need to fully support the IOMMU I/O virtualization functionality for it to be usable. Only the
439:. Instructions in AMD-V include VMRUN, VMLOAD, VMSAVE, CLGI, VMMCALL, INVLPGA, SKINIT, and STGI.
406:
289:
could not run concurrent DOS applications well by itself in protected mode, Intel introduced the
901:
263:
254:
127:
50:
1098:
604:. In 2016, AVIC is available on the AMD family 15h models 6Xh (Carrizo) processors and newer.
193:
716:
715:
devices, such as
Ethernet, accelerated graphics cards, and hard-drive controllers, through
123:
1694:
1557:"Intel Virtualization Technology: Hardware Support for Efficient Processor Virtualization"
8:
863:
777:
514:
399:
398:(formerly known as Nested Page Tables during its development), later adopted by Intel as
112:
2487:
375:
processors support AMD-V. AMD-V is not supported by any Socket 939 processors. The only
91:
is used to rewrite certain ring 0 instructions in terms of ring 3 instructions, such as
1146:
896:
672:
648:
201:
139:
88:
2475:
1801:
1226:
529: – a feature called "unrestricted guest", which requires EPT to work.
166:
147:
must therefore be used to track changes made to the descriptor tables by the guest OS.
1480:
660:
290:
280:
2482:
A special course at the
University of San Francisco on Intel EM64T and VT Extensions
2076:"Intel Virtualization Technology for Directed I/O (VT-d) Architecture Specification"
356:
1571:
789:
765:
81:, which involves running the guest OS at a ring higher (lesser privileged) than 0.
1003:
1825:
1789:
1770:
1751:
1634:"First the Tick, Now the Tock: Next Generation Intel Microarchitecture (Nehalem)"
1437:
1258:"VMware KB: Hardware and firmware requirements for 64bit guest operating systems"
959:
916:
823:
provides a set of general (non-x86 specific) I/O virtualization methods based on
708:
663:
based on x86, but it likely did not include support for graphics virtualization.
73:
72:
In protected mode the operating system kernel runs at a higher privilege such as
2104:
1037:
952:
150:
I/O device emulation: Unsupported devices on the guest OS must be emulated by a
65:
The following discussion focuses only on virtualization of the x86 architecture
2253:
1400:"What virtualization enhancements do Quad-Core AMD Opteron processors feature?"
549:
413:
159:
66:
1133:
1085:
1072:
731:
operating systems and hypervisors to prevent buggy or malicious hardware from
2496:
2349:"An Introduction to Intel Flexible Port Partitioning Using SR-IOV Technology"
1665:"Technology Brief: Intel Microarchitecture Nehalem Virtualization Technology"
776:(FLR) can be virtualized this way, as it is required for reassigning various
695:
119:
2101:"Intel Virtualization Technology for Directed I/O (VT-d) Supported CPU List"
1099:"Virtualization: architectural considerations and other evaluation criteria"
458:"Intel VT-x" redirects here. For the Itanium virtualization extensions, see
2481:
855:
700:
465:
348:
305:
1038:"A Comparison of Software and Hardware Techniques for x86 Virtualization"
824:
769:
750:
503:
443:
294:
286:
100:
2385:"NASA's Flexible Cloud Fabric: Moving Cluster Applications to the Cloud"
1575:
742:
AMD's I/O Virtualization
Technology, "AMD-Vi", originally called "IOMMU"
2045:"AMD I/O Virtualization Technology (IOMMU) Specification Revision 1.26"
891:
780:
between virtual machines. If a device to be assigned does not support
732:
712:
499:
459:
364:
352:
309:
131:
587:
2472:
1902:"Reviewing Unused and New Features for Interrupt/APIC Virtualization"
785:
720:
607:
Also in 2012, Intel announced a similar technology for interrupt and
526:
477:
368:
344:
225:
221:
1871:"[Xen-devel] [RFC PATCH 0/9] Introduce AMD SVM AVIC"
258:
2346:
2315:"SR-IOV Networking in Xen: Architecture, Design and Implementation"
1505:
1315:"Sending software to do hardware's job | Hardware - InfoWorld"
631:
Graphics virtualization is not part of the x86 architecture. Intel
565:
229:
151:
1554:
809:
643:
instruction set, they implement AMD's own graphics architectures (
1201:
1004:"USENIX Technical Program - Abstract - Security Symposium - 2000"
753:
684:
678:
569:
435:
376:
360:
205:
84:
Three techniques made virtualization of protected mode possible:
2160:
1555:
Neiger, Gil; A. Santoni; F. Leung; D. Rodgers; R. Uhlig (2006).
788:
lines with other devices for the assignment to be possible. All
536:
microarchitecture (announced in 2013), Intel started to include
2488:
2 day open source & open access class on writing a VT-x VMM
2322:
2126:"PCI-SIG Engineering Change Notice: Function Level Reset (FLR)"
1481:"Intel® 64 and IA-32 Architectures Software Developer's Manual"
640:
425:
217:
178:
118:
A number of key data structures used by a processor need to be
1963:"Product Brief Intel Xeon Processor E5-4600 v2 Product Family"
1718:"4th-Gen Intel Core vPro Processors with Intel VMCS Shadowing"
525:
added support for launching the logical processor directly in
2391:
2355:
2284:
1724:
793:
738:
Both AMD and Intel have released their IOMMU specifications:
517:(EPT), a technology for page-table virtualization, since the
485:
429:
421:
250:
42:
1802:"Notebook Solution: Kaixian ZX-C Processor + VX11PH Chipset"
805:
Intel's "Virtualization Technology for Connectivity" (VT-c).
707:
An input/output memory management unit (IOMMU) allows guest
1202:"How retiring segmentation in AMD64 long mode broke VMware"
859:
757:
507:
447:
111:
for instance), the reuse of pages by the guest OS, or even
2347:
Patrick Kutch; Brian Johnson; Greg Rose (September 2011).
2312:
340:) as the first AMD processors to support this technology.
2219:"Intel Virtualization Technology for Connectivity (VT-c)"
1819:
Introduction of AMD Advanced Virtual Interrupt Controller
1431:
To see if your processor supports hardware virtualization
1283:"Software and Hardware Techniques for x86 Virtualization"
691:
Input–output memory management unit § Virtualization
197:
108:
1994:"Intel platform hardware support for I/O virtualization"
1934:"APIC Virtualization Performance Testing and Iozone"
827:(PCIe) native hardware, as standardized by PCI-SIG:
266:
virtualization that was added to the chipset later.
1745:
Understanding Intel Virtualization Technology (VT).
588:
Interrupt virtualization (AMD AVIC and Intel APICv)
238:
99:impossible. To improve performance, the translated
27:
Hardware-assisted virtualization on x86/x86-64 CPUs
1840:"Next-generation Interrupt Virtualization for KVM"
1783:VIA Introduces New VIA Nano 3000 Series Processors
677:Memory and I/O virtualization is performed by the
351:family of processors with revisions "F" or "G" on
188:A different route was taken by other systems like
2272:
2270:
2250:"PCI-SIG I/O Virtualization (IOV) Specifications"
877:Comparison of application virtualization software
126:, and granting the guest OS direct access to the
103:need to be cached in a coherent way that detects
2494:
2287:. November 27, 2014. p. 104. Archived from
799:
655:) which do not support graphics virtualization.
506:, users must enable Intel's VT-x feature in the
60:
46:
2445:"Enhanced Networking in the AWS Cloud - Part 2"
821:PCI-SIG Single Root I/O Virtualization (SR-IOV)
810:PCI-SIG Single Root I/O Virtualization (SR-IOV)
502:processors as the primary exception. With some
54:
2267:
882:Comparison of platform virtualization software
685:I/O MMU virtualization (AMD-Vi and Intel VT-d)
619:) and it became commercially available in the
560:
510:setup before applications can make use of it.
453:
450:setup before applications can make use of it.
1899:
328:On May 23, 2006, AMD released the Athlon 64 (
300:
1931:
1764:The 'what, where and why' of VMCS shadowing.
1340:"33047_SecureVirtualMachineManual_3-0.book"
626:
446:, users must enable AMD SVM feature in the
416:for AMD-V is "svm". This may be checked in
2019:"Linux virtualization and PCI passthrough"
1837:
1426:
1424:
1227:"VMware and CPU Virtualization Technology"
269:
1602:
521:architecture, released in 2008. In 2010,
379:processors which support it are APUs and
2252:. Pcisig.com. 2011-03-31. Archived from
2190:"How to assign devices with VT-d in KVM"
1128:
1126:
1067:
1065:
1032:
1030:
1028:
1026:
1024:
694:
464:
304:
2313:Yaozu Dong; Zhao Yu; Greg Rose (2008).
1421:
1147:"VMware and Hardware Assist Technology"
816:Single-root input/output virtualization
165:On traditional mainframes, the classic
14:
2495:
2420:"Enhanced Networking in the AWS Cloud"
1506:"Intel Virtualization Technology List"
1451:"How to enable Intel VTx and AMD SVM?"
912:Timeline of virtualization development
343:AMD-V capability also features on the
1478:
1312:
1123:
1062:
1021:
862:'s virtualized datacenter and in the
749:In addition to the CPU support, both
594:Advanced Virtual Interrupt Controller
409:-based AMD processors support AMD-V.
363:2nd generation and third-generation,
122:. Because most operating systems use
1881:from the original on 2 February 2017
1531:"Windows Virtual PC: Configure BIOS"
1111:from the original on 6 February 2011
723:remapping. This is sometimes called
274:
257:(working independently) created new
2278:"Intel Look Inside: Intel Ethernet"
1457:. QNAP Systems, Inc. Archived from
1178:"Xen and the Art of Virtualization"
1139:
1050:from the original on 20 August 2010
37:capabilities on an x86/x86-64 CPU.
24:
832:Address translation services (ATS)
633:Graphics Virtualization Technology
181:researchers pointed out in a 2006
130:would mean loss of control by the
25:
2519:
2465:
922:List of IOMMU-supporting hardware
546:virtual machine control structure
540:as a technology that accelerates
1190:from the original on 2014-09-29.
927:Second Level Address Translation
887:Hardware-assisted virtualization
245:Hardware-assisted virtualization
239:Hardware-assisted virtualization
35:hardware-assisted virtualization
2451:from the original on 2014-01-10
2437:
2426:from the original on 2014-01-09
2412:
2377:
2340:
2329:from the original on 2014-01-09
2306:
2242:
2231:from the original on 2016-02-22
2211:
2200:from the original on 2015-03-10
2182:
2171:from the original on 2014-02-09
2153:
2142:from the original on 2016-03-04
2118:
2103:. Ark.intel.com. Archived from
2093:
2068:
2057:from the original on 2011-01-24
2037:
2011:
2000:from the original on 2007-01-20
1986:
1975:from the original on 2014-07-14
1955:
1944:from the original on 2014-07-14
1925:
1914:from the original on 2015-04-21
1893:
1863:
1852:from the original on 2016-03-04
1831:
1811:
1794:
1776:
1757:
1738:
1710:
1699:
1688:
1677:from the original on 2011-06-07
1657:
1646:from the original on 2009-01-26
1626:
1615:from the original on 2008-12-26
1596:
1548:
1523:
1512:from the original on 2010-10-27
1498:
1472:
1443:
1392:
1363:
1352:from the original on 2012-03-05
1332:
1321:from the original on 2014-10-18
1306:
1275:
1264:from the original on 2010-04-19
1250:
1239:from the original on 2011-07-17
1219:
1208:from the original on 2011-07-18
1194:
1170:
1159:from the original on 2011-07-17
1010:from the original on 2010-06-10
985:from the original on 2015-05-21
97:trap-and-emulate virtualization
2447:. Scalable Logic. 2013-12-31.
2422:. Scalable Logic. 2013-12-31.
1603:Gillespie, Matt (2007-11-12).
1091:
1078:
996:
965:
946:
703:log showing AMD-Vi information
13:
1:
1204:. Pagetable.com. 2006-11-09.
940:
800:Network virtualization (VT-c)
592:In 2012, AMD announced their
396:Rapid Virtualization Indexing
170:host OS (type 2 hypervisor).
61:Software-based virtualization
1900:Jun Nakajimaa (2012-12-13).
792:devices routed behind a PCI/
733:compromising memory security
554:
7:
1932:Khang Nguyen (2013-12-17).
1533:. Microsoft. Archived from
933:Message Signaled Interrupts
869:
782:Message Signaled Interrupts
561:VIA virtualization (VIA VT)
490:sysctl machdep.cpu.features
454:Intel virtualization (VT-x)
10:
2524:
1838:Jörg Rödel (August 2012).
1750:September 8, 2014, at the
1006:. Usenix.org. 2002-01-29.
813:
688:
670:
666:
457:
301:AMD virtualization (AMD-V)
278:
242:
77:this limitation is called
1996:. Intel.com. 2006-08-10.
1788:January 22, 2013, at the
1313:Yager, Tom (2004-11-05).
784:(MSI), it must not share
513:Intel started to include
154:that runs in the host OS.
1639:(Press release). Intel.
1564:Intel Technology Journal
1317:. Images.infoworld.com.
627:Graphics processing unit
336:) and the Athlon 64 FX (
145:Shadow descriptor tables
2508:Hardware virtualization
907:OS-level virtualization
847:Multi-root IOV (MR-IOV)
270:Central processing unit
216:The initial version of
1609:Intel Software Network
1479:INTEL (October 2019).
902:Network virtualization
704:
659:was the only graphics
572:ZX-C, a descendant of
473:
313:
132:virtualization manager
2021:. IBM. Archived from
1968:. Intel. 2014-03-14.
1670:. Intel. 2009-03-25.
1570:(3). Intel: 167–178.
1134:U.S. patent 6,496,847
1086:U.S. patent 6,704,925
1073:U.S. patent 6,397,242
858:network bandwidth in
756:and system firmware (
698:
542:nested virtualization
468:
332:), the Athlon 64 X2 (
308:
1875:www.mail-archive.com
1773:Retrieved 2014-09-01
1754:Retrieved 2014-09-01
774:function level reset
515:Extended Page Tables
400:Extended Page Tables
259:processor extensions
124:paged virtual memory
1576:10.1535/itj.1003.01
1487:. Intel Corporation
978:. Intel.com. 2007.
864:Amazon Public Cloud
772:devices supporting
613:APIC virtualization
140:segment descriptors
113:self-modifying code
2025:on 1 November 2009
1938:software.intel.com
1824:2014-07-14 at the
1769:2014-09-03 at the
1436:2012-11-25 at the
958:2010-08-20 at the
897:I/O virtualization
705:
673:I/O virtualization
474:
319:AMD Virtualization
314:
249:In 2005 and 2006,
202:paravirtualization
175:Popek and Goldberg
136:shadow page tables
89:Binary translation
79:ring deprivileging
31:x86 virtualization
2365:on August 7, 2015
1508:. Ark.intel.com.
1410:on April 16, 2009
1381:on April 15, 2009
1260:. Kb.vmware.com.
841:(SR-IOV or SRIOV)
661:microarchitecture
291:virtual 8086 mode
281:Virtual 8086 mode
275:Virtual 8086 mode
204:, which involves
16:(Redirected from
2515:
2503:X86 architecture
2476:ghostarchive.org
2460:
2459:
2457:
2456:
2441:
2435:
2434:
2432:
2431:
2416:
2410:
2409:
2407:
2406:
2400:
2394:. Archived from
2389:
2381:
2375:
2374:
2372:
2370:
2364:
2358:. Archived from
2353:
2344:
2338:
2337:
2335:
2334:
2310:
2304:
2303:
2301:
2299:
2294:on March 4, 2016
2293:
2282:
2274:
2265:
2264:
2262:
2261:
2246:
2240:
2239:
2237:
2236:
2230:
2223:
2215:
2209:
2208:
2206:
2205:
2186:
2180:
2179:
2177:
2176:
2157:
2151:
2150:
2148:
2147:
2141:
2130:
2122:
2116:
2115:
2113:
2112:
2097:
2091:
2090:
2088:
2087:
2078:. Archived from
2072:
2066:
2065:
2063:
2062:
2056:
2049:
2041:
2035:
2034:
2032:
2030:
2015:
2009:
2008:
2006:
2005:
1990:
1984:
1983:
1981:
1980:
1974:
1967:
1959:
1953:
1952:
1950:
1949:
1929:
1923:
1922:
1920:
1919:
1913:
1906:
1897:
1891:
1890:
1888:
1886:
1867:
1861:
1860:
1858:
1857:
1851:
1844:
1835:
1829:
1828:, XenSummit 2012
1815:
1809:
1808:
1806:
1798:
1792:
1780:
1774:
1761:
1755:
1742:
1736:
1735:
1733:
1732:
1722:
1714:
1708:
1703:
1697:
1692:
1686:
1685:
1683:
1682:
1676:
1669:
1661:
1655:
1654:
1652:
1651:
1645:
1638:
1630:
1624:
1623:
1621:
1620:
1600:
1594:
1593:
1591:
1590:
1584:
1578:. Archived from
1561:
1552:
1546:
1545:
1543:
1542:
1527:
1521:
1520:
1518:
1517:
1502:
1496:
1495:
1493:
1492:
1476:
1470:
1469:
1467:
1466:
1447:
1441:
1428:
1419:
1418:
1416:
1415:
1406:. Archived from
1396:
1390:
1389:
1387:
1386:
1377:. Archived from
1367:
1361:
1360:
1358:
1357:
1351:
1344:
1336:
1330:
1329:
1327:
1326:
1310:
1304:
1303:
1301:
1300:
1294:
1288:. Archived from
1287:
1279:
1273:
1272:
1270:
1269:
1254:
1248:
1247:
1245:
1244:
1238:
1231:
1223:
1217:
1216:
1214:
1213:
1198:
1192:
1191:
1189:
1182:
1174:
1168:
1167:
1165:
1164:
1158:
1151:
1143:
1137:
1136:
1130:
1121:
1120:
1118:
1116:
1110:
1103:
1095:
1089:
1088:
1082:
1076:
1075:
1069:
1060:
1059:
1057:
1055:
1049:
1042:
1034:
1019:
1018:
1016:
1015:
1000:
994:
993:
991:
990:
984:
977:
969:
963:
950:
790:conventional PCI
778:device functions
711:to directly use
709:virtual machines
580:similar to Nano
491:
483:
472:(Bloomfield) CPU
438:
405:As of 2019, all
371:processors. The
21:
2523:
2522:
2518:
2517:
2516:
2514:
2513:
2512:
2493:
2492:
2468:
2463:
2454:
2452:
2443:
2442:
2438:
2429:
2427:
2418:
2417:
2413:
2404:
2402:
2398:
2387:
2383:
2382:
2378:
2368:
2366:
2362:
2351:
2345:
2341:
2332:
2330:
2311:
2307:
2297:
2295:
2291:
2280:
2276:
2275:
2268:
2259:
2257:
2248:
2247:
2243:
2234:
2232:
2228:
2221:
2217:
2216:
2212:
2203:
2201:
2188:
2187:
2183:
2174:
2172:
2159:
2158:
2154:
2145:
2143:
2139:
2128:
2124:
2123:
2119:
2110:
2108:
2099:
2098:
2094:
2085:
2083:
2074:
2073:
2069:
2060:
2058:
2054:
2047:
2043:
2042:
2038:
2028:
2026:
2017:
2016:
2012:
2003:
2001:
1992:
1991:
1987:
1978:
1976:
1972:
1965:
1961:
1960:
1956:
1947:
1945:
1930:
1926:
1917:
1915:
1911:
1904:
1898:
1894:
1884:
1882:
1869:
1868:
1864:
1855:
1853:
1849:
1842:
1836:
1832:
1826:Wayback Machine
1816:
1812:
1804:
1800:
1799:
1795:
1790:Wayback Machine
1781:
1777:
1771:Wayback Machine
1762:
1758:
1752:Wayback Machine
1743:
1739:
1730:
1728:
1720:
1716:
1715:
1711:
1704:
1700:
1693:
1689:
1680:
1678:
1674:
1667:
1663:
1662:
1658:
1649:
1647:
1643:
1636:
1632:
1631:
1627:
1618:
1616:
1601:
1597:
1588:
1586:
1582:
1559:
1553:
1549:
1540:
1538:
1529:
1528:
1524:
1515:
1513:
1504:
1503:
1499:
1490:
1488:
1477:
1473:
1464:
1462:
1449:
1448:
1444:
1438:Wayback Machine
1429:
1422:
1413:
1411:
1398:
1397:
1393:
1384:
1382:
1369:
1368:
1364:
1355:
1353:
1349:
1342:
1338:
1337:
1333:
1324:
1322:
1311:
1307:
1298:
1296:
1292:
1285:
1281:
1280:
1276:
1267:
1265:
1256:
1255:
1251:
1242:
1240:
1236:
1229:
1225:
1224:
1220:
1211:
1209:
1200:
1199:
1195:
1187:
1180:
1176:
1175:
1171:
1162:
1160:
1156:
1149:
1145:
1144:
1140:
1132:
1131:
1124:
1114:
1112:
1108:
1101:
1097:
1096:
1092:
1084:
1083:
1079:
1071:
1070:
1063:
1053:
1051:
1047:
1040:
1036:
1035:
1022:
1013:
1011:
1002:
1001:
997:
988:
986:
982:
975:
971:
970:
966:
960:Wayback Machine
951:
947:
943:
938:
917:Virtual machine
872:
839:Single-root IOV
818:
812:
802:
725:PCI passthrough
693:
687:
675:
669:
629:
590:
563:
489:
481:
463:
456:
433:
418:BSD derivatives
303:
283:
277:
272:
247:
241:
213:'03 Xen paper.
152:device emulator
63:
28:
23:
22:
15:
12:
11:
5:
2521:
2511:
2510:
2505:
2491:
2490:
2485:
2479:
2478:at 10 May 2022
2467:
2466:External links
2464:
2462:
2461:
2436:
2411:
2376:
2339:
2305:
2266:
2241:
2210:
2196:. 2014-04-23.
2181:
2167:. 2013-06-06.
2152:
2135:. 2006-06-27.
2117:
2092:
2067:
2036:
2010:
1985:
1954:
1924:
1892:
1862:
1830:
1810:
1793:
1775:
1756:
1737:
1709:
1698:
1687:
1656:
1625:
1595:
1547:
1522:
1497:
1471:
1442:
1420:
1391:
1362:
1331:
1305:
1274:
1249:
1218:
1193:
1169:
1138:
1122:
1090:
1077:
1061:
1020:
995:
964:
944:
942:
939:
937:
936:
930:
924:
919:
914:
909:
904:
899:
894:
889:
884:
879:
873:
871:
868:
851:
850:
844:
835:
814:Main article:
811:
808:
807:
806:
801:
798:
747:
746:
743:
686:
683:
671:Main article:
668:
665:
639:implement the
628:
625:
589:
586:
574:VIA QuadCore-E
562:
559:
550:data structure
538:VMCS shadowing
455:
452:
391:desktop CPUs.
321:, abbreviated
302:
299:
279:Main article:
276:
273:
271:
268:
243:Main article:
240:
237:
160:IBM System/370
156:
155:
148:
116:
67:protected mode
62:
59:
33:is the use of
26:
9:
6:
4:
3:
2:
2520:
2509:
2506:
2504:
2501:
2500:
2498:
2489:
2486:
2483:
2480:
2477:
2473:
2470:
2469:
2450:
2446:
2440:
2425:
2421:
2415:
2401:on 2012-12-22
2397:
2393:
2386:
2380:
2369:September 24,
2361:
2357:
2350:
2343:
2328:
2324:
2320:
2316:
2309:
2290:
2286:
2279:
2273:
2271:
2256:on 2012-01-15
2255:
2251:
2245:
2227:
2224:. Intel.com.
2220:
2214:
2199:
2195:
2194:linux-kvm.org
2191:
2185:
2170:
2166:
2162:
2156:
2138:
2134:
2127:
2121:
2107:on 2010-10-27
2106:
2102:
2096:
2082:on 2013-04-03
2081:
2077:
2071:
2053:
2046:
2040:
2024:
2020:
2014:
1999:
1995:
1989:
1971:
1964:
1958:
1943:
1939:
1935:
1928:
1910:
1903:
1896:
1880:
1876:
1872:
1866:
1848:
1841:
1834:
1827:
1823:
1820:
1814:
1803:
1797:
1791:
1787:
1784:
1779:
1772:
1768:
1765:
1760:
1753:
1749:
1746:
1741:
1726:
1719:
1713:
1706:
1702:
1695:
1691:
1673:
1666:
1660:
1642:
1635:
1629:
1614:
1610:
1606:
1599:
1585:on 2012-09-25
1581:
1577:
1573:
1569:
1565:
1558:
1551:
1537:on 2010-09-06
1536:
1532:
1526:
1511:
1507:
1501:
1486:
1482:
1475:
1461:on 2018-03-07
1460:
1456:
1452:
1446:
1439:
1435:
1432:
1427:
1425:
1409:
1405:
1401:
1395:
1380:
1376:
1372:
1366:
1348:
1341:
1335:
1320:
1316:
1309:
1295:on 2010-01-05
1291:
1284:
1278:
1263:
1259:
1253:
1235:
1228:
1222:
1207:
1203:
1197:
1186:
1179:
1173:
1155:
1148:
1142:
1135:
1129:
1127:
1107:
1100:
1094:
1087:
1081:
1074:
1068:
1066:
1046:
1039:
1033:
1031:
1029:
1027:
1025:
1009:
1005:
999:
981:
974:
968:
961:
957:
954:
949:
945:
934:
931:
928:
925:
923:
920:
918:
915:
913:
910:
908:
905:
903:
900:
898:
895:
893:
890:
888:
885:
883:
880:
878:
875:
874:
867:
865:
861:
857:
848:
845:
842:
840:
836:
833:
830:
829:
828:
826:
822:
817:
804:
803:
797:
795:
791:
787:
783:
779:
775:
771:
767:
763:
759:
755:
752:
744:
741:
740:
739:
736:
734:
728:
726:
722:
718:
714:
710:
702:
697:
692:
682:
680:
674:
664:
662:
658:
654:
650:
646:
642:
638:
634:
624:
622:
621:Ivy Bridge EP
618:
614:
610:
605:
603:
599:
595:
585:
583:
579:
575:
571:
567:
558:
556:
551:
547:
544:of VMMs. The
543:
539:
535:
530:
528:
524:
520:
516:
511:
509:
505:
501:
496:
493:
487:
482:/proc/cpuinfo
479:
471:
470:Intel Core i7
467:
461:
451:
449:
445:
440:
437:
431:
427:
423:
419:
415:
410:
408:
403:
401:
397:
392:
390:
386:
382:
378:
374:
370:
366:
362:
358:
354:
350:
346:
341:
339:
335:
331:
326:
324:
320:
311:
307:
298:
296:
292:
288:
282:
267:
265:
260:
256:
252:
246:
236:
233:
231:
227:
223:
219:
214:
212:
207:
203:
199:
195:
191:
186:
184:
180:
176:
171:
168:
163:
161:
153:
149:
146:
141:
137:
133:
129:
125:
121:
117:
114:
110:
106:
105:code patching
102:
98:
94:
90:
87:
86:
85:
82:
80:
75:
70:
68:
58:
56:
52:
48:
44:
38:
36:
32:
19:
2474:Archived at
2453:. Retrieved
2439:
2428:. Retrieved
2414:
2403:. Retrieved
2396:the original
2379:
2367:. Retrieved
2360:the original
2342:
2331:. Retrieved
2318:
2308:
2296:. Retrieved
2289:the original
2258:. Retrieved
2254:the original
2244:
2233:. Retrieved
2213:
2202:. Retrieved
2193:
2184:
2173:. Retrieved
2164:
2155:
2144:. Retrieved
2132:
2120:
2109:. Retrieved
2105:the original
2095:
2084:. Retrieved
2080:the original
2070:
2059:. Retrieved
2039:
2027:. Retrieved
2023:the original
2013:
2002:. Retrieved
1988:
1977:. Retrieved
1957:
1946:. Retrieved
1937:
1927:
1916:. Retrieved
1895:
1883:. Retrieved
1874:
1865:
1854:. Retrieved
1833:
1813:
1796:
1778:
1759:
1740:
1729:. Retrieved
1712:
1701:
1690:
1679:. Retrieved
1659:
1648:. Retrieved
1628:
1617:. Retrieved
1608:
1598:
1587:. Retrieved
1580:the original
1567:
1563:
1550:
1539:. Retrieved
1535:the original
1525:
1514:. Retrieved
1500:
1489:. Retrieved
1484:
1474:
1463:. Retrieved
1459:the original
1454:
1445:
1412:. Retrieved
1408:the original
1403:
1394:
1383:. Retrieved
1379:the original
1374:
1365:
1354:. Retrieved
1334:
1323:. Retrieved
1308:
1297:. Retrieved
1290:the original
1277:
1266:. Retrieved
1252:
1241:. Retrieved
1221:
1210:. Retrieved
1196:
1172:
1161:. Retrieved
1141:
1113:. Retrieved
1093:
1080:
1052:. Retrieved
1012:. Retrieved
998:
987:. Retrieved
967:
948:
852:
846:
837:
831:
820:
819:
773:
748:
737:
729:
724:
706:
701:Linux kernel
676:
630:
616:
612:
606:
597:
593:
591:
564:
548:(VMCS) is a
545:
537:
531:
512:
504:motherboards
497:
494:
475:
444:motherboards
441:
411:
404:
393:
357:Turion 64 X2
349:Athlon 64 X2
342:
327:
322:
318:
315:
285:Because the
284:
248:
234:
215:
187:
172:
164:
157:
144:
135:
101:basic blocks
83:
78:
71:
64:
39:
30:
29:
2029:10 November
1817:Wei Huang,
1440:Intel 2012.
1115:8 September
1054:8 September
825:PCI Express
770:PCI Express
751:motherboard
287:Intel 80286
200:, known as
2497:Categories
2455:2014-01-08
2430:2014-01-08
2405:2014-01-08
2333:2014-01-10
2319:usenix.org
2260:2012-02-04
2235:2018-02-14
2204:2015-03-05
2175:2014-01-10
2161:"Xen VT-d"
2146:2014-01-10
2133:pcisig.com
2111:2012-02-04
2086:2012-02-04
2061:2011-05-24
2004:2012-02-04
1979:2014-07-12
1948:2014-07-12
1918:2014-07-12
1856:2014-07-12
1731:2014-12-16
1681:2009-11-03
1650:2008-07-06
1619:2008-07-06
1589:2008-07-06
1541:2010-09-08
1516:2010-05-02
1491:2020-01-04
1465:2020-12-23
1414:2012-02-04
1385:2012-02-04
1356:2010-05-02
1325:2014-01-08
1299:2010-05-02
1268:2010-05-02
1243:2010-09-08
1232:. VMware.
1212:2010-05-02
1163:2010-09-08
1104:. VMware.
1043:. VMware.
1014:2010-05-02
989:2016-12-12
941:References
892:Hypervisor
856:bare metal
713:peripheral
689:See also:
532:Since the
500:Intel Atom
460:Intel VT-i
442:With some
373:APU Fusion
353:socket AM2
310:AMD Phenom
18:Intel VT-d
2298:March 26,
1907:. Intel.
1611:. Intel.
1485:intel.com
786:interrupt
721:interrupt
645:TeraScale
527:real mode
478:Pentium 4
369:Phenom II
345:Athlon 64
338:"Windsor"
334:"Windsor"
330:"Orleans"
293:in their
226:long mode
107:(used in
2449:Archived
2424:Archived
2327:Archived
2226:Archived
2198:Archived
2169:Archived
2137:Archived
2052:Archived
1998:Archived
1970:Archived
1942:Archived
1909:Archived
1879:Archived
1847:Archived
1822:Archived
1786:Archived
1767:Archived
1748:Archived
1672:Archived
1641:Archived
1613:Archived
1510:Archived
1434:Archived
1347:Archived
1319:Archived
1262:Archived
1234:Archived
1206:Archived
1185:Archived
1154:Archived
1106:Archived
1045:Archived
1008:Archived
980:Archived
956:Archived
870:See also
657:Larrabee
637:AMD APUs
566:VIA Nano
523:Westmere
484:, or in
414:CPU flag
230:Intel 64
120:shadowed
2165:xen.org
1845:. AMD.
1455:Support
1404:amd.com
1375:amd.com
754:chipset
679:chipset
667:Chipset
582:C4350AL
578:Eden X4
570:Zhaoxin
534:Haswell
519:Nehalem
436:cpuinfo
428:and in
402:(EPT).
377:Sempron
361:Opteron
206:porting
2484:(2007)
2323:USENIX
1727:. 2013
929:(SLAT)
641:x86-64
602:x2APIC
576:&
434:/proc/
426:sysctl
389:Sargas
365:Phenom
359:, and
218:x86-64
196:, and
190:Denali
183:ASPLOS
179:VMware
167:type 1
49:) and
2399:(PDF)
2392:Intel
2388:(PDF)
2363:(PDF)
2356:Intel
2352:(PDF)
2292:(PDF)
2285:Intel
2281:(PDF)
2229:(PDF)
2222:(PDF)
2140:(PDF)
2129:(PDF)
2055:(PDF)
2048:(PDF)
1973:(PDF)
1966:(PDF)
1912:(PDF)
1905:(PDF)
1885:4 May
1850:(PDF)
1843:(PDF)
1805:(PDF)
1725:Intel
1721:(PDF)
1675:(PDF)
1668:(PDF)
1644:(PDF)
1637:(PDF)
1583:(PDF)
1560:(PDF)
1350:(PDF)
1343:(PDF)
1293:(PDF)
1286:(PDF)
1237:(PDF)
1230:(PDF)
1188:(PDF)
1181:(PDF)
1157:(PDF)
1150:(PDF)
1109:(PDF)
1102:(PDF)
1048:(PDF)
1041:(PDF)
983:(PDF)
976:(PDF)
935:(MSI)
794:PCI-X
617:APICv
555:above
486:macOS
430:Linux
422:dmesg
385:Regor
381:Huron
323:AMD-V
295:80386
251:Intel
222:AMD64
55:AMD-V
43:Intel
2371:2015
2300:2015
2031:2010
1887:2018
1117:2010
1056:2010
860:NASA
762:UEFI
758:BIOS
719:and
653:RDNA
651:and
609:APIC
598:AVIC
508:BIOS
488:via
448:BIOS
432:via
420:via
412:The
367:and
347:and
253:and
211:SOSP
109:VxDs
93:POPF
74:ring
47:VT-x
1572:doi
768:or
766:PCI
760:or
717:DMA
649:GCN
424:or
407:Zen
312:die
264:MMU
255:AMD
198:Xen
128:MMU
51:AMD
2499::
2390:.
2354:.
2325:.
2321:.
2317:.
2283:.
2269:^
2192:.
2163:.
2131:.
2050:.
1940:.
1936:.
1877:.
1873:.
1723:.
1607:.
1568:10
1566:.
1562:.
1483:.
1453:.
1423:^
1402:.
1373:.
1345:.
1183:.
1152:.
1125:^
1064:^
1023:^
866:.
735:.
727:.
699:A
647:,
584:.
492:.
387:,
383:,
355:,
325:.
194:L4
192:,
177:.
162:.
69:.
2458:.
2433:.
2408:.
2373:.
2336:.
2302:.
2263:.
2238:.
2207:.
2178:.
2149:.
2114:.
2089:.
2064:.
2033:.
2007:.
1982:.
1951:.
1921:.
1889:.
1859:.
1807:.
1734:.
1684:.
1653:.
1622:.
1592:.
1574::
1544:.
1519:.
1494:.
1468:.
1417:.
1388:.
1359:.
1328:.
1302:.
1271:.
1246:.
1215:.
1166:.
1119:.
1058:.
1017:.
992:.
615:(
596:(
462:.
220:(
115:.
53:(
45:(
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.