RegisterSet

public struct RegisterSet : OptionSet

A RegisterSet is used to tell the VCPU the registers to read into an internal cache between VMExits. Reading from and writing to registers in the VCPU is an expensive operation and this allows specifiying just the registers that are required to be accessed when processing a VMExit.

  • Declaration

    Swift

    public let rawValue: Int
  • Declaration

    Swift

    public init(rawValue: Int)
  • rax

    Passed in an option set to readRegisters() to cache the RAX register from the vCPU.

    Declaration

    Swift

    public static let rax: RegisterSet
  • rbx

    Passed in an option set to readRegisters() to cache the RBX register from the vCPU.

    Declaration

    Swift

    public static let rbx: RegisterSet
  • rcx

    Passed in an option set to readRegisters() to cache the RCX register from the vCPU.

    Declaration

    Swift

    public static let rcx: RegisterSet
  • rdx

    Passed in an option set to readRegisters() to cache the RDX register from the vCPU.

    Declaration

    Swift

    public static let rdx: RegisterSet
  • rdi

    Passed in an option set to readRegisters() to cache the RDI register from the vCPU.

    Declaration

    Swift

    public static let rdi: RegisterSet
  • rsi

    Passed in an option set to readRegisters() to cache the RSI register from the vCPU.

    Declaration

    Swift

    public static let rsi: RegisterSet
  • rbp

    Passed in an option set to readRegisters() to cache the RBP register from the vCPU.

    Declaration

    Swift

    public static let rbp: RegisterSet
  • rsp

    Passed in an option set to readRegisters() to cache the RSP register from the vCPU.

    Declaration

    Swift

    public static let rsp: RegisterSet
  • r8

    Passed in an option set to readRegisters() to cache the R8 register from the vCPU.

    Declaration

    Swift

    public static let r8: RegisterSet
  • r9

    Passed in an option set to readRegisters() to cache the R9 register from the vCPU.

    Declaration

    Swift

    public static let r9: RegisterSet
  • r10

    Passed in an option set to readRegisters() to cache the R10 register from the vCPU.

    Declaration

    Swift

    public static let r10: RegisterSet
  • r11

    Passed in an option set to readRegisters() to cache the R11 register from the vCPU.

    Declaration

    Swift

    public static let r11: RegisterSet
  • r12

    Passed in an option set to readRegisters() to cache the R12 register from the vCPU.

    Declaration

    Swift

    public static let r12: RegisterSet
  • r13

    Passed in an option set to readRegisters() to cache the R13 register from the vCPU.

    Declaration

    Swift

    public static let r13: RegisterSet
  • r14

    Passed in an option set to readRegisters() to cache the R14 register from the vCPU.

    Declaration

    Swift

    public static let r14: RegisterSet
  • r15

    Passed in an option set to readRegisters() to cache the R15 register from the vCPU.

    Declaration

    Swift

    public static let r15: RegisterSet
  • rip

    Passed in an option set to readRegisters() to cache the RIP register from the vCPU.

    Declaration

    Swift

    public static let rip: RegisterSet
  • Passed in an option set to readRegisters() to cache the RFLAGS from the vCPU.

    Declaration

    Swift

    public static let rflags: RegisterSet
  • cr0

    Passed in an option set to readRegisters() to cache the CR0 register from the vCPU.

    Declaration

    Swift

    public static let cr0: RegisterSet
  • cr2

    Passed in an option set to readRegisters() to cache the CR2 register from the vCPU.

    Declaration

    Swift

    public static let cr2: RegisterSet
  • cr3

    Passed in an option set to readRegisters() to cache the CR3 register from the vCPU.

    Declaration

    Swift

    public static let cr3: RegisterSet
  • cr4

    Passed in an option set to readRegisters() to cache the CR4 register from the vCPU.

    Declaration

    Swift

    public static let cr4: RegisterSet
  • Passed in an option set to readRegisters() to cache the EFER value from the vCPU.

    Declaration

    Swift

    public static let efer: RegisterSet
  • cs

    Passed in an option set to readRegisters() to cache the CS register from the vCPU.

    Declaration

    Swift

    public static let cs: RegisterSet
  • ss

    Passed in an option set to readRegisters() to cache the SS register from the vCPU.

    Declaration

    Swift

    public static let ss: RegisterSet
  • ds

    Passed in an option set to readRegisters() to cache the DS register from the vCPU.

    Declaration

    Swift

    public static let ds: RegisterSet
  • es

    Passed in an option set to readRegisters() to cache the ES register from the vCPU.

    Declaration

    Swift

    public static let es: RegisterSet
  • fs

    Passed in an option set to readRegisters() to cache the FS register from the vCPU.

    Declaration

    Swift

    public static let fs: RegisterSet
  • gs

    Passed in an option set to readRegisters() to cache the GS register from the vCPU.

    Declaration

    Swift

    public static let gs: RegisterSet
  • Passed in an option set to readRegisters() to cache all of the segment registers from the vCPU.

    Declaration

    Swift

    public static let segmentRegisters: RegisterSet
  • gdt

    Passed in an option set to readRegisters() to cache the GDT (Global Descriptor Table) from the vCPU.

    Declaration

    Swift

    public static let gdt: RegisterSet
  • idt

    Passed in an option set to readRegisters() to cache the IDT (Interrup Descriptor Table) from the vCPU.

    Declaration

    Swift

    public static let idt: RegisterSet
  • Passed in an option set to readRegisters() to cache the LDTR (Local Descriptor Table Register) from the vCPU.

    Declaration

    Swift

    public static let ldtr: RegisterSet
  • Passed in an option set to readRegisters() to cache the TR (Task Register) from the vCPU.

    Declaration

    Swift

    public static let taskRegister: RegisterSet
  • all

    Passed in an option set to readRegisters() to cache the all of the registers from the vCPU.

    Declaration

    Swift

    public static let all: RegisterSet