Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Virtualization support by intel

557 views

Published on

Before 1998, it was impossible to virtualize Intel x86 systems. VMware introduced a technique called binary translation. In 2006, Intel introduced VT-x virtualization technology for x86. This was hardware support for virtualization by Intel. This presentation discusses what kind of support does Intel provides for virtualization in detail. It also discusses different implementation techniques in brief.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Virtualization support by intel

  1. 1. Virtualization Support by Intel Inzemamul Haque 20 Feb 2015
  2. 2. History • Virtual Machine concept introduced by IBM in late 1960s.
  3. 3. History • Virtual Machine concept introduced by IBM in late 1960s. • It was difficult for Intel x86 to virtualize because it was not satisfying the constraints
  4. 4. Problem in Intel x86 Hardware
  5. 5. Problem in Intel x86 Hardware Operating System Kernel User Applications
  6. 6. Different techniques before Virtualization Support by Hardware • Binary Translation
  7. 7. Different techniques before Virtualization Support by Hardware • Binary Translation • Paravirtualization or OS assisted virtualization
  8. 8. Binary Translation Hardware Operating System Kernel User Applications VMM
  9. 9. Paravirtualization Hardware Paravirtualized OS User Applications Virtualization Layer
  10. 10. Hardware Support – Bird’s-eye View • In 2006, Intel introduced VT-x Hardware OS User Applications VMM
  11. 11. Hardware Support – Bird’s-eye View • In 2006, Intel introduced VT-x Hardware OS User Applications VMM VMX Root Mode VMX Non-Root Mode
  12. 12. VT-x Operating Modes • Set of processor operations called VMX operations
  13. 13. VT-x Operating Modes • Set of processor operations called VMX operations • Two kinds of VMX operation
  14. 14. VT-x Operating Modes • Set of processor operations called VMX operations • Two kinds of VMX operation • VMX root operation • Fully privileged, generally for VMM
  15. 15. VT-x Operating Modes • Set of processor operations called VMX operations • Two kinds of VMX operation • VMX root operation • Fully privileged, generally for VMM • VMX non-root operation • Not fully privileged, generally for guest • Reduces the privilege of guest software developed to operate in ring 0
  16. 16. VM Entry and Exit • Two types of transitions
  17. 17. VM Entry and Exit • Two types of transitions • VM entry • Transition from VM root operation to VM non root operation • Loads guest state from VMCS • Stores VMM state to VMCS
  18. 18. VM Entry and Exit • Two types of transitions • VM entry • Transition from VM root operation to VM non root operation • Loads guest state from VMCS • Stores VMM state to VMCS • VM exit • Transition from VM non-root operation to VM root operation • Stores guest state to VMCS • Loads VMM state from VMCS
  19. 19. VM Entry and Exit Guest 0 Guest 1 VMM VMXON VMXOFF VM EntryVM Exit VM Exit Picture: Copied from Intel Manual Sept 2014
  20. 20. Virtual Machine Control Structure • Control Structures stored in memory
  21. 21. Virtual Machine Control Structure • Control Structures stored in memory • One VMCS active per virtual processor at a time
  22. 22. Virtual Machine Control Structure • Control Structures stored in memory • One VMCS active per virtual processor at a time • Stores guest state, host state, VMX controls and VM-exit information
  23. 23. VM Exits in VMX Non-Root Operation • Some instructions cause VM-exit unconditionally • e.g. CPUID, INVD, XSETBV, INVEPT, VMCLEAR, VMLAUNCH, etc.
  24. 24. VM Exits in VMX Non-Root Operation • Some instructions cause VM-exit unconditionally • e.g. CPUID, INVD, XSETBV, INVEPT, VMCLEAR, VMLAUNCH, etc. • Some instructions cause VM-exit conditionally based on VM- execution control settings in VMCS • e.g. HLT, INVLPG, MONITOR, VMREAD, etc.
  25. 25. VM Exits in VMX Non-Root Operation • Some instructions cause VM-exit unconditionally • e.g. CPUID, INVD, XSETBV, INVEPT, VMCLEAR, VMLAUNCH, etc. • Some instructions cause VM-exit conditionally based on VM- execution control settings in VMCS • e.g. HLT, INVLPG, MONITOR, VMREAD, etc. • Exceptions
  26. 26. VM Exits in VMX Non-Root Operation • Some instructions cause VM-exit unconditionally • e.g. CPUID, INVD, XSETBV, INVEPT, VMCLEAR, VMLAUNCH, etc. • Some instructions cause VM-exit conditionally based on VM- execution control settings in VMCS • e.g. HLT, INVLPG, MONITOR, VMREAD, etc. • Exceptions • Triple Faults
  27. 27. VM Exits in VMX Non-Root Operation • Some instructions cause VM-exit unconditionally • e.g. CPUID, INVD, XSETBV, INVEPT, VMCLEAR, VMLAUNCH, etc. • Some instructions cause VM-exit conditionally based on VM- execution control settings in VMCS • e.g. HLT, INVLPG, MONITOR, VMREAD, etc. • Exceptions • Triple Faults • External Interrupts
  28. 28. VM Exits in VMX Non-Root Operation • Some instructions cause VM-exit unconditionally • e.g. CPUID, INVD, XSETBV, INVEPT, VMCLEAR, VMLAUNCH, etc. • Some instructions cause VM-exit conditionally based on VM- execution control settings in VMCS • e.g. HLT, INVLPG, MONITOR, VMREAD, etc. • Exceptions • Triple Faults • External Interrupts • Non-Maskable Interrupts
  29. 29. VM Exits in VMX Non-Root Operation • Some instructions cause VM-exit unconditionally • e.g. CPUID, INVD, XSETBV, INVEPT, VMCLEAR, VMLAUNCH, etc. • Some instructions cause VM-exit conditionally based on VM- execution control settings in VMCS • e.g. HLT, INVLPG, MONITOR, VMREAD, etc. • Exceptions • Triple Faults • External Interrupts • Non-Maskable Interrupts and more…
  30. 30. References • Intel 64 and IA-32 Architectures Software Developer’s Manual Volume 3 • Understanding Intel Virtualization Technology (Power point presentation) by Narendar B. Sahgal and Dion Rodgers • Understanding Full Virtualization, Paravirtualization and Hardware-assist by VMware

×