VirtualBox

Changeset 79233 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Jun 19, 2019 8:25:43 AM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
131411
Message:

VMM/IEM: Nested VMX: bugref:9180 Doxygen spaces.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h

    r79220 r79233  
    808808 * Implements VMSucceed for VMX instruction success.
    809809 *
    810  * @param   pVCpu       The cross context virtual CPU structure.
     810 * @param   pVCpu   The cross context virtual CPU structure.
    811811 */
    812812DECL_FORCE_INLINE(void) iemVmxVmSucceed(PVMCPU pVCpu)
     
    819819 * Implements VMFailInvalid for VMX instruction failure.
    820820 *
    821  * @param   pVCpu       The cross context virtual CPU structure.
     821 * @param   pVCpu   The cross context virtual CPU structure.
    822822 */
    823823DECL_FORCE_INLINE(void) iemVmxVmFailInvalid(PVMCPU pVCpu)
     
    844844 *
    845845 * @returns @c true if it's within the valid limit, @c false otherwise.
    846  * @param   pVCpu           The cross context virtual CPU structure.
    847  * @param   uMsrCount       The MSR area count to check.
     846 * @param   pVCpu       The cross context virtual CPU structure.
     847 * @param   uMsrCount   The MSR area count to check.
    848848 */
    849849DECL_FORCE_INLINE(bool) iemVmxIsAutoMsrCountValid(PCVMCPU pVCpu, uint32_t uMsrCount)
     
    862862 *
    863863 * @returns VBox status code.
    864  * @param   pVCpu           The cross context virtual CPU structure.
     864 * @param   pVCpu   The cross context virtual CPU structure.
    865865 */
    866866DECL_FORCE_INLINE(int) iemVmxCommitCurrentVmcsToMemory(PVMCPU pVCpu)
    867867{
    868868    Assert(IEM_VMX_HAS_CURRENT_VMCS(pVCpu));
     869    Assert(pVCpu->cpum.GstCtx.hwvirt.vmx.CTX_SUFF(pVmcs));
    869870    int rc = PGMPhysSimpleWriteGCPhys(pVCpu->CTX_SUFF(pVM), IEM_VMX_GET_CURRENT_VMCS(pVCpu),
    870871                                      pVCpu->cpum.GstCtx.hwvirt.vmx.CTX_SUFF(pVmcs), sizeof(VMXVVMCS));
     
    877878 * Implements VMSucceed for the VMREAD instruction and increments the guest RIP.
    878879 *
    879  * @param   pVCpu           The cross context virtual CPU structure.
     880 * @param   pVCpu   The cross context virtual CPU structure.
    880881 */
    881882DECL_FORCE_INLINE(void) iemVmxVmreadSuccess(PVMCPU pVCpu, uint8_t cbInstr)
     
    11391140 * VM-exit.
    11401141 *
    1141  * @param   pVCpu       The cross context virtual CPU structure.
     1142 * @param   pVCpu   The cross context virtual CPU structure.
    11421143 */
    11431144IEM_STATIC void iemVmxVmexitSaveGuestControlRegsMsrs(PVMCPU pVCpu)
     
    11921193 * Saves the guest force-flags in preparation of entering the nested-guest.
    11931194 *
    1194  * @param   pVCpu       The cross context virtual CPU structure.
     1195 * @param   pVCpu   The cross context virtual CPU structure.
    11951196 */
    11961197IEM_STATIC void iemVmxVmentrySaveNmiBlockingFF(PVMCPU pVCpu)
     
    12331234 * Restores the guest force-flags in preparation of exiting the nested-guest.
    12341235 *
    1235  * @param   pVCpu       The cross context virtual CPU structure.
     1236 * @param   pVCpu   The cross context virtual CPU structure.
    12361237 */
    12371238IEM_STATIC void iemVmxVmexitRestoreNmiBlockingFF(PVMCPU pVCpu)
     
    12481249 * Perform a VMX transition updated PGM, IEM and CPUM.
    12491250 *
    1250  * @param   pVCpu       The cross context virtual CPU structure.
     1251 * @param   pVCpu   The cross context virtual CPU structure.
    12511252 */
    12521253IEM_STATIC int iemVmxWorldSwitch(PVMCPU pVCpu)
     
    12851286 * Calculates the current VMX-preemption timer value.
    12861287 *
    1287  * @param   pVCpu       The cross context virtual CPU structure.
     1288 * @returns The current VMX-preemption timer value.
     1289 * @param   pVCpu   The cross context virtual CPU structure.
    12881290 */
    12891291IEM_STATIC uint32_t iemVmxCalcPreemptTimer(PVMCPU pVCpu)
     
    13321334 * Saves guest segment registers, GDTR, IDTR, LDTR, TR as part of VM-exit.
    13331335 *
    1334  * @param   pVCpu       The cross context virtual CPU structure.
     1336 * @param   pVCpu   The cross context virtual CPU structure.
    13351337 */
    13361338IEM_STATIC void iemVmxVmexitSaveGuestSegRegs(PVMCPU pVCpu)
     
    27722774 *
    27732775 * @returns Strict VBox status code.
    2774  * @param   pVCpu           The cross context virtual CPU structure.
    2775  * @param   GCPtrPage       The guest-linear address of the page being invalidated.
    2776  * @param   cbInstr         The instruction length in bytes.
     2776 * @param   pVCpu       The cross context virtual CPU structure.
     2777 * @param   GCPtrPage   The guest-linear address of the page being invalidated.
     2778 * @param   cbInstr     The instruction length in bytes.
    27772779 */
    27782780IEM_STATIC VBOXSTRICTRC iemVmxVmexitInstrInvlpg(PVMCPU pVCpu, RTGCPTR GCPtrPage, uint8_t cbInstr)
     
    29082910 *
    29092911 * @returns Strict VBox status code.
    2910  * @param   pVCpu           The cross context virtual CPU structure.
    2911  * @param   iCrReg          The control register (either CR0 or CR4).
    2912  * @param   uGuestCrX       The current guest CR0/CR4.
    2913  * @param   puNewCrX        Pointer to the new CR0/CR4 value. Will be updated
    2914  *                          if no VM-exit is caused.
    2915  * @param   iGReg           The general register from which the CR0/CR4 value is
    2916  *                          being loaded.
    2917  * @param   cbInstr         The instruction length in bytes.
     2912 * @param   pVCpu       The cross context virtual CPU structure.
     2913 * @param   iCrReg      The control register (either CR0 or CR4).
     2914 * @param   uGuestCrX   The current guest CR0/CR4.
     2915 * @param   puNewCrX    Pointer to the new CR0/CR4 value. Will be updated if no
     2916 *                      VM-exit is caused.
     2917 * @param   iGReg       The general register from which the CR0/CR4 value is being
     2918 *                      loaded.
     2919 * @param   cbInstr     The instruction length in bytes.
    29182920 */
    29192921IEM_STATIC VBOXSTRICTRC iemVmxVmexitInstrMovToCr0Cr4(PVMCPU pVCpu, uint8_t iCrReg, uint64_t *puNewCrX, uint8_t iGReg,
     
    33163318 *
    33173319 * @returns VBox strict status code.
    3318  * @param   pVCpu               The cross context virtual CPU structure.
    3319  * @param   cbInstr             The instruction length in bytes.
     3320 * @param   pVCpu       The cross context virtual CPU structure.
     3321 * @param   cbInstr     The instruction length in bytes.
    33203322 */
    33213323IEM_STATIC VBOXSTRICTRC iemVmxVmexitInstrPause(PVMCPU pVCpu, uint8_t cbInstr)
     
    34873489 *
    34883490 * @returns VBox strict status code.
    3489  * @param   pVCpu           The cross context virtual CPU structure.
     3491 * @param   pVCpu   The cross context virtual CPU structure.
    34903492 */
    34913493IEM_STATIC VBOXSTRICTRC iemVmxVmexitPreemptTimer(PVMCPU pVCpu)
     
    35953597 *
    35963598 * @returns VBox strict status code.
    3597  * @param   pVCpu       The cross context virtual CPU structure.
     3599 * @param   pVCpu   The cross context virtual CPU structure.
    35983600 */
    35993601IEM_STATIC VBOXSTRICTRC iemVmxVmexitEventDoubleFault(PVMCPU pVCpu)
     
    36413643 *
    36423644 * @returns VBox strict status code.
    3643  * @param   pVCpu               The cross context virtual CPU structure.
    3644  * @param   pExitInfo           Pointer to the VM-exit information.
    3645  * @param   pExitEventInfo      Pointer to the VM-exit event information.
     3645 * @param   pVCpu           The cross context virtual CPU structure.
     3646 * @param   pExitInfo       Pointer to the VM-exit information.
     3647 * @param   pExitEventInfo  Pointer to the VM-exit event information.
    36463648 */
    36473649IEM_STATIC VBOXSTRICTRC iemVmxVmexitEventWithInfo(PVMCPU pVCpu, PCVMXVEXITINFO pExitInfo, PCVMXVEXITEVENTINFO pExitEventInfo)
     
    37893791 *
    37903792 * @returns VBox strict status code.
    3791  * @param   pVCpu               The cross context virtual CPU structure.
     3793 * @param   pVCpu   The cross context virtual CPU structure.
    37923794 */
    37933795IEM_STATIC VBOXSTRICTRC iemVmxVmexitTripleFault(PVMCPU pVCpu)
     
    38453847 *
    38463848 * @returns VBox strict status code.
    3847  * @param   pVCpu               The cross context virtual CPU structure.
    3848  * @param   pExitInfo           Pointer to the VM-exit information.
    3849  * @param   pExitEventInfo      Pointer to the VM-exit event information.
     3849 * @param   pVCpu           The cross context virtual CPU structure.
     3850 * @param   pExitInfo       Pointer to the VM-exit information.
     3851 * @param   pExitEventInfo  Pointer to the VM-exit event information.
    38503852 */
    38513853IEM_STATIC VBOXSTRICTRC iemVmxVmexitApicAccessWithInfo(PVMCPU pVCpu, PCVMXVEXITINFO pExitInfo,
     
    39083910 *
    39093911 * @returns The virtual-APIC offset that was written before clearing it.
    3910  * @param   pVCpu       The cross context virtual CPU structure.
     3912 * @param   pVCpu   The cross context virtual CPU structure.
    39113913 */
    39123914DECLINLINE(uint16_t) iemVmxVirtApicClearPendingWrite(PVMCPU pVCpu)
     
    39253927 *
    39263928 * @returns The register from the virtual-APIC page.
    3927  * @param   pVCpu       The cross context virtual CPU structure.
    3928  * @param   offReg      The offset of the register being read.
     3929 * @param   pVCpu   The cross context virtual CPU structure.
     3930 * @param   offReg  The offset of the register being read.
    39293931 */
    39303932IEM_STATIC uint32_t iemVmxVirtApicReadRaw32(PVMCPU pVCpu, uint16_t offReg)
     
    39513953 *
    39523954 * @returns The register from the virtual-APIC page.
    3953  * @param   pVCpu       The cross context virtual CPU structure.
    3954  * @param   offReg      The offset of the register being read.
     3955 * @param   pVCpu   The cross context virtual CPU structure.
     3956 * @param   offReg  The offset of the register being read.
    39553957 */
    39563958IEM_STATIC uint64_t iemVmxVirtApicReadRaw64(PVMCPU pVCpu, uint16_t offReg)
     
    39763978 * Writes a 32-bit register to the virtual-APIC page at the given offset.
    39773979 *
    3978  * @param   pVCpu       The cross context virtual CPU structure.
    3979  * @param   offReg      The offset of the register being written.
    3980  * @param   uReg        The register value to write.
     3980 * @param   pVCpu   The cross context virtual CPU structure.
     3981 * @param   offReg  The offset of the register being written.
     3982 * @param   uReg    The register value to write.
    39813983 */
    39823984IEM_STATIC void iemVmxVirtApicWriteRaw32(PVMCPU pVCpu, uint16_t offReg, uint32_t uReg)
     
    39984000 * Writes a 64-bit register to the virtual-APIC page at the given offset.
    39994001 *
    4000  * @param   pVCpu       The cross context virtual CPU structure.
    4001  * @param   offReg      The offset of the register being written.
    4002  * @param   uReg        The register value to write.
     4002 * @param   pVCpu   The cross context virtual CPU structure.
     4003 * @param   offReg  The offset of the register being written.
     4004 * @param   uReg    The register value to write.
    40034005 */
    40044006IEM_STATIC void iemVmxVirtApicWriteRaw64(PVMCPU pVCpu, uint16_t offReg, uint64_t uReg)
     
    45414543 * Evaluates pending virtual interrupts.
    45424544 *
    4543  * @param   pVCpu       The cross context virtual CPU structure.
     4545 * @param   pVCpu   The cross context virtual CPU structure.
    45444546 */
    45454547IEM_STATIC void iemVmxEvalPendingVirtIntrs(PVMCPU pVCpu)
     
    45694571 *
    45704572 * @returns VBox strict status code.
    4571  * @param   pVCpu       The cross context virtual CPU structure.
     4573 * @param   pVCpu   The cross context virtual CPU structure.
    45724574 */
    45734575IEM_STATIC void iemVmxPprVirtualization(PVMCPU pVCpu)
     
    46024604 *
    46034605 * @returns VBox strict status code.
    4604  * @param   pVCpu       The cross context virtual CPU structure.
     4606 * @param   pVCpu   The cross context virtual CPU structure.
    46054607 */
    46064608IEM_STATIC VBOXSTRICTRC iemVmxTprVirtualization(PVMCPU pVCpu)
     
    47134715 *
    47144716 * @returns VBox strict status code.
    4715  * @param   pVCpu       The cross context virtual CPU structure.
     4717 * @param   pVCpu   The cross context virtual CPU structure.
    47164718 */
    47174719IEM_STATIC VBOXSTRICTRC iemVmxSelfIpiVirtualization(PVMCPU pVCpu)
     
    47434745 *
    47444746 * @returns VBox strict status code.
    4745  * @param   pVCpu       The cross context virtual CPU structure.
     4747 * @param   pVCpu   The cross context virtual CPU structure.
    47464748 */
    47474749IEM_STATIC VBOXSTRICTRC iemVmxApicWriteEmulation(PVMCPU pVCpu)
     
    49804982 * Checks guest segment registers, LDTR and TR as part of VM-entry.
    49814983 *
    4982  * @param   pVCpu           The cross context virtual CPU structure.
    4983  * @param   pszInstr        The VMX instruction name (for logging purposes).
     4984 * @param   pVCpu       The cross context virtual CPU structure.
     4985 * @param   pszInstr    The VMX instruction name (for logging purposes).
    49844986 */
    49854987IEM_STATIC int iemVmxVmentryCheckGuestSegRegs(PVMCPU pVCpu, const char *pszInstr)
     
    53685370 * Checks guest GDTR and IDTR as part of VM-entry.
    53695371 *
    5370  * @param   pVCpu           The cross context virtual CPU structure.
    5371  * @param   pszInstr        The VMX instruction name (for logging purposes).
     5372 * @param   pVCpu       The cross context virtual CPU structure.
     5373 * @param   pszInstr    The VMX instruction name (for logging purposes).
    53725374 */
    53735375IEM_STATIC int iemVmxVmentryCheckGuestGdtrIdtr(PVMCPU pVCpu,  const char *pszInstr)
     
    54145416 * Checks guest RIP and RFLAGS as part of VM-entry.
    54155417 *
    5416  * @param   pVCpu           The cross context virtual CPU structure.
    5417  * @param   pszInstr        The VMX instruction name (for logging purposes).
     5418 * @param   pVCpu       The cross context virtual CPU structure.
     5419 * @param   pszInstr    The VMX instruction name (for logging purposes).
    54185420 */
    54195421IEM_STATIC int iemVmxVmentryCheckGuestRipRFlags(PVMCPU pVCpu, const char *pszInstr)
     
    54885490 * Checks guest non-register state as part of VM-entry.
    54895491 *
    5490  * @param   pVCpu           The cross context virtual CPU structure.
    5491  * @param   pszInstr        The VMX instruction name (for logging purposes).
     5492 * @param   pVCpu       The cross context virtual CPU structure.
     5493 * @param   pszInstr    The VMX instruction name (for logging purposes).
    54925494 */
    54935495IEM_STATIC int iemVmxVmentryCheckGuestNonRegState(PVMCPU pVCpu,  const char *pszInstr)
     
    57805782 * Checks guest PDPTEs as part of VM-entry.
    57815783 *
    5782  * @param   pVCpu           The cross context virtual CPU structure.
    5783  * @param   pszInstr        The VMX instruction name (for logging purposes).
     5784 * @param   pVCpu       The cross context virtual CPU structure.
     5785 * @param   pszInstr    The VMX instruction name (for logging purposes).
    57845786 */
    57855787IEM_STATIC int iemVmxVmentryCheckGuestPdptes(PVMCPU pVCpu, const char *pszInstr)
     
    58165818 *
    58175819 * @returns VBox status code.
    5818  * @param   pVCpu           The cross context virtual CPU structure.
    5819  * @param   pszInstr        The VMX instruction name (for logging purposes).
     5820 * @param   pVCpu       The cross context virtual CPU structure.
     5821 * @param   pszInstr    The VMX instruction name (for logging purposes).
    58205822 */
    58215823IEM_STATIC int iemVmxVmentryCheckGuestState(PVMCPU pVCpu, const char *pszInstr)
     
    58485850 *
    58495851 * @returns VBox status code.
    5850  * @param   pVCpu           The cross context virtual CPU structure.
    5851  * @param   pszInstr        The VMX instruction name (for logging purposes).
     5852 * @param   pVCpu       The cross context virtual CPU structure.
     5853 * @param   pszInstr    The VMX instruction name (for logging purposes).
    58525854 */
    58535855IEM_STATIC int iemVmxVmentryCheckHostState(PVMCPU pVCpu, const char *pszInstr)
     
    60526054 *
    60536055 * @returns VBox status code.
    6054  * @param   pVCpu           The cross context virtual CPU structure.
    6055  * @param   pszInstr        The VMX instruction name (for logging purposes).
     6056 * @param   pVCpu       The cross context virtual CPU structure.
     6057 * @param   pszInstr    The VMX instruction name (for logging purposes).
    60566058 */
    60576059IEM_STATIC int iemVmxVmentryCheckEntryCtls(PVMCPU pVCpu, const char *pszInstr)
     
    61606162 *
    61616163 * @returns VBox status code.
    6162  * @param   pVCpu           The cross context virtual CPU structure.
    6163  * @param   pszInstr        The VMX instruction name (for logging purposes).
     6164 * @param   pVCpu       The cross context virtual CPU structure.
     6165 * @param   pszInstr    The VMX instruction name (for logging purposes).
    61646166 */
    61656167IEM_STATIC int iemVmxVmentryCheckExitCtls(PVMCPU pVCpu, const char *pszInstr)
     
    62206222 *
    62216223 * @returns VBox status code.
    6222  * @param   pVCpu           The cross context virtual CPU structure.
    6223  * @param   pszInstr        The VMX instruction name (for logging purposes).
     6224 * @param   pVCpu       The cross context virtual CPU structure.
     6225 * @param   pszInstr    The VMX instruction name (for logging purposes).
    62246226 *
    62256227 * @remarks This may update secondary-processor based VM-execution control fields
     
    67886790 *
    67896791 * @returns VBox status code.
    6790  * @param   pVCpu           The cross context virtual CPU structure.
     6792 * @param   pVCpu   The cross context virtual CPU structure.
    67916793 *
    67926794 * @remarks This must be called only after loading the nested-guest register state
     
    68456847 *
    68466848 * @returns VBox status code.
    6847  * @param   pVCpu           The cross context virtual CPU structure.
    6848  * @param   pszInstr        The VMX instruction name (for logging purposes).
     6849 * @param   pVCpu       The cross context virtual CPU structure.
     6850 * @param   pszInstr    The VMX instruction name (for logging purposes).
    68496851 *
    68506852 * @remarks This must be done after all the necessary steps prior to loading of
     
    71847186 * Initializes all read-only VMCS fields as part of VM-entry.
    71857187 *
    7186  * @param   pVCpu       The cross context virtual CPU structure.
     7188 * @param   pVCpu   The cross context virtual CPU structure.
    71877189 */
    71887190IEM_STATIC void iemVmxVmentryInitReadOnlyFields(PVMCPU pVCpu)
     
    72297231 *
    72307232 * @returns Strict VBox status code.
    7231  * @param   pVCpu           The cross context virtual CPU structure.
    7232  * @param   cbInstr         The instruction length in bytes.
    7233  * @param   uInstrId        The instruction identity (VMXINSTRID_VMLAUNCH or
    7234  *                          VMXINSTRID_VMRESUME).
     7233 * @param   pVCpu       The cross context virtual CPU structure.
     7234 * @param   cbInstr     The instruction length in bytes.
     7235 * @param   uInstrId    The instruction identity (VMXINSTRID_VMLAUNCH or
     7236 *                      VMXINSTRID_VMRESUME).
    72357237 *
    72367238 * @remarks Common VMX instruction checks are already expected to by the caller,
     
    78867888 *
    78877889 * @returns Strict VBox status code.
    7888  * @param   pVCpu           The cross context virtual CPU structure.
    7889  * @param   cbInstr         The instruction length in bytes.
    7890  * @param   iEffSeg         The effective segment register to use with @a GCPtrVmcs.
    7891  * @param   GCPtrVmcs       The linear address of the VMCS pointer.
    7892  * @param   pExitInfo       Pointer to the VM-exit information. Optional, can be
    7893  *                          NULL.
     7890 * @param   pVCpu       The cross context virtual CPU structure.
     7891 * @param   cbInstr     The instruction length in bytes.
     7892 * @param   iEffSeg     The effective segment register to use with @a GCPtrVmcs.
     7893 * @param   GCPtrVmcs   The linear address of the VMCS pointer.
     7894 * @param   pExitInfo   Pointer to the VM-exit information. Optional, can be NULL.
    78947895 *
    78957896 * @remarks Common VMX instruction checks are already expected to by the caller,
     
    79917992        && IEM_VMX_GET_CURRENT_VMCS(pVCpu) == GCPhysVmcs)
    79927993    {
    7993         Assert(GCPhysVmcs != NIL_RTGCPHYS);                     /* Paranoia. */
    7994         Assert(pVCpu->cpum.GstCtx.hwvirt.vmx.CTX_SUFF(pVmcs));
    79957994        pVCpu->cpum.GstCtx.hwvirt.vmx.CTX_SUFF(pVmcs)->fVmcsState = fVmcsLaunchStateClear;
    79967995        iemVmxCommitCurrentVmcsToMemory(pVCpu);
     
    80168015 *
    80178016 * @returns Strict VBox status code.
    8018  * @param   pVCpu           The cross context virtual CPU structure.
    8019  * @param   cbInstr         The instruction length in bytes.
    8020  * @param   iEffSeg         The effective segment register to use with @a GCPtrVmcs.
    8021  * @param   GCPtrVmcs       The linear address of where to store the current VMCS
    8022  *                          pointer.
    8023  * @param   pExitInfo       Pointer to the VM-exit information. Optional, can be
    8024  *                          NULL.
     8017 * @param   pVCpu       The cross context virtual CPU structure.
     8018 * @param   cbInstr     The instruction length in bytes.
     8019 * @param   iEffSeg     The effective segment register to use with @a GCPtrVmcs.
     8020 * @param   GCPtrVmcs   The linear address of where to store the current VMCS
     8021 *                      pointer.
     8022 * @param   pExitInfo   Pointer to the VM-exit information. Optional, can be NULL.
    80258023 *
    80268024 * @remarks Common VMX instruction checks are already expected to by the caller,
     
    80708068 *
    80718069 * @returns Strict VBox status code.
    8072  * @param   pVCpu           The cross context virtual CPU structure.
    8073  * @param   cbInstr         The instruction length in bytes.
    8074  * @param   GCPtrVmcs       The linear address of the current VMCS pointer.
    8075  * @param   pExitInfo       Pointer to the VM-exit information. Optional, can be
    8076  *                          NULL.
     8070 * @param   pVCpu       The cross context virtual CPU structure.
     8071 * @param   cbInstr     The instruction length in bytes.
     8072 * @param   GCPtrVmcs   The linear address of the current VMCS pointer.
     8073 * @param   pExitInfo   Pointer to the VM-exit information. Optional, can be NULL.
    80778074 *
    80788075 * @remarks Common VMX instruction checks are already expected to by the caller,
     
    84108407 *
    84118408 * @returns Strict VBox status code.
    8412  * @param   pVCpu           The cross context virtual CPU structure.
    8413  * @param   cbInstr         The instruction length in bytes.
    8414  * @param   iEffSeg         The effective segment register to use with @a
    8415  *                          GCPtrVmxon.
    8416  * @param   GCPtrVmxon      The linear address of the VMXON pointer.
    8417  * @param   pExitInfo       Pointer to the VM-exit information. Optional, can be
    8418  *                          NULL.
     8409 * @param   pVCpu       The cross context virtual CPU structure.
     8410 * @param   cbInstr     The instruction length in bytes.
     8411 * @param   iEffSeg     The effective segment register to use with @a
     8412 *                      GCPtrVmxon.
     8413 * @param   GCPtrVmxon  The linear address of the VMXON pointer.
     8414 * @param   pExitInfo   Pointer to the VM-exit information. Optional, can be NULL.
    84198415 *
    84208416 * @remarks Common VMX instruction checks are already expected to by the caller,
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette