VirtualBox

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


Ignore:
Timestamp:
May 2, 2013 12:52:33 PM (12 years ago)
Author:
vboxsync
Message:

VMM/VMMR0: Distinguish better between invalid VMXON, VMCS pointers and VMCS pointers passed to VMLAUNCH/VMRESUME.

Location:
trunk/src/VBox/VMM
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HMR0A.asm

    r45474 r45875  
    583583    xor     eax, eax
    584584    vmxon   [rdx]
    585     mov     r8d, VERR_INVALID_PARAMETER
     585    mov     r8d, VERR_VMX_VMXON_FAILED
    586586    cmovz   eax, r8d
    587     mov     r9d, VERR_VMX_INVALID_VMCS_PTR
     587    mov     r9d, VERR_VMX_INVALID_VMXON_PTR
    588588    cmovc   eax, r9d
    589589    jmp far [.fpret wrt rip]
  • trunk/src/VBox/VMM/VMMR0/HMR0Mixed.mac

    r45862 r45875  
    171171ALIGNCODE(16) ;; @todo YASM BUG - this alignment is wrong on darwin, it's 1 byte off.
    172172.vmlaunch_done:
    173     jc      near .vmxstart_invalid_vmxon_ptr
     173    jc      near .vmxstart_invalid_vmcs_ptr
    174174    jz      near .vmxstart_start_failed
    175175
     
    263263
    264264
    265 .vmxstart_invalid_vmxon_ptr:
     265.vmxstart_invalid_vmcs_ptr:
    266266    ; Restore base and limit of the IDTR & GDTR
    267267    lidt    [xSP]
     
    297297    ; Restore all general purpose host registers.
    298298    MYPOPAD
    299     mov     eax, VERR_VMX_INVALID_VMXON_PTR
     299    mov     eax, VERR_VMX_INVALID_VMCS_PTR_TO_START_VM
    300300    jmp     .vmstart_end
    301301
     
    502502ALIGNCODE(16)
    503503.vmlaunch64_done:
    504     jc      near .vmxstart64_invalid_vmxon_ptr
     504    jc      near .vmxstart64_invalid_vmcs_ptr
    505505    jz      near .vmxstart64_start_failed
    506506
     
    611611
    612612
    613 .vmxstart64_invalid_vmxon_ptr:
     613.vmxstart64_invalid_vmcs_ptr:
    614614    ; Restore base and limit of the IDTR & GDTR
    615615    lidt    [xSP]
     
    658658    ; Restore all general purpose host registers.
    659659    MYPOPAD
    660     mov     eax, VERR_VMX_INVALID_VMXON_PTR
     660    mov     eax, VERR_VMX_INVALID_VMCS_PTR_TO_START_VM
    661661    jmp     .vmstart64_end
    662662
  • trunk/src/VBox/VMM/VMMSwitcher/LegacyandAMD64.mac

    r45862 r45875  
    774774ALIGNCODE(16)
    775775.vmlaunch64_done:
    776     jc      near .vmstart64_invalid_vmxon_ptr
     776    jc      near .vmstart64_invalid_vmcs_ptr
    777777    jz      near .vmstart64_start_failed
    778778
     
    896896
    897897
    898 .vmstart64_invalid_vmxon_ptr:
     898.vmstart64_invalid_vmcs_ptr:
    899899    pop     rsi         ; pCtx (needed in rsi by the macros below)
    900900
     
    915915
    916916    ; Restore all general purpose host registers.
    917     mov     eax, VERR_VMX_INVALID_VMXON_PTR
     917    mov     eax, VERR_VMX_INVALID_VMCS_PTR_TO_START_VM
    918918    jmp     .vmstart64_end
    919919
Note: See TracChangeset for help on using the changeset viewer.

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