VirtualBox

Changeset 48318 in vbox for trunk/src/VBox/VMM/VMMR0


Ignore:
Timestamp:
Sep 5, 2013 5:15:49 PM (11 years ago)
Author:
vboxsync
Message:

VMM/HM: Fix incorrect jump causing panic while restoring GS in VT-x.

Location:
trunk/src/VBox/VMM/VMMR0
Files:
2 edited

Legend:

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

    r47760 r48318  
    313313    jz          .test_es
    314314    mov         ax, [rsi + VMXRESTOREHOST.uHostSelDS]
    315     mov         ds, ax
     315    mov         ds, eax
    316316
    317317.test_es:
     
    319319    jz          .test_tr
    320320    mov         ax, [rsi + VMXRESTOREHOST.uHostSelES]
    321     mov         es, ax
     321    mov         es, eax
    322322
    323323.test_tr:
     
    350350    jz          .test_gs
    351351    mov         ax, word [rsi + VMXRESTOREHOST.uHostSelFS]
    352     mov         fs, ax
     352    mov         fs, eax
    353353    mov         eax, dword [rsi + VMXRESTOREHOST.uHostFSBase]         ; uHostFSBase - Lo
    354354    mov         edx, dword [rsi + VMXRESTOREHOST.uHostFSBase + 4h]    ; uHostFSBase - Hi
     
    356356    wrmsr
    357357
     358.test_gs:
    358359    test        edi, VMX_RESTORE_HOST_SEL_GS
    359360    jz          .restore_flags
    360 .test_gs:
    361361    mov         ax, word [rsi + VMXRESTOREHOST.uHostSelGS]
    362     mov         gs, ax
     362    mov         gs, eax
    363363    mov         eax, dword [rsi + VMXRESTOREHOST.uHostGSBase]         ; uHostGSBase - Lo
    364364    mov         edx, dword [rsi + VMXRESTOREHOST.uHostGSBase + 4h]    ; uHostGSBase - Hi
  • trunk/src/VBox/VMM/VMMR0/HMR0Mixed.mac

    r47797 r48318  
    8989    pop     xAX         ; Saved LDTR
    9090 %ifdef RT_ARCH_AMD64
    91     cmp     xAX, 0
     91    cmp     eax, 0
    9292    je      .skipldtwrite32%1
    9393 %endif
     
    351351
    352352    pop     xAX         ; Saved LDTR
    353     cmp     xAX, 0
     353    cmp     eax, 0
    354354    je      .skipldtwrite64%1
    355355    lldt    ax
     
    382382    mov     eax, [xDX + VMCSCACHE.Read.aField + xCX * 4]
    383383    vmread  [xDX + VMCSCACHE.Read.aFieldVal + xCX * 8], xAX
    384     cmp      xCX, 0
     384    cmp     xCX, 0
    385385    jnz     .cached_read64%3
    386386.no_cached_read64%2:
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