VirtualBox

忽略:
時間撮記:
2007-2-28 上午08:42:35 (18 年 以前)
作者:
vboxsync
訊息:

Fixed broken return path in generic trap handler for v86 code

檔案:
修改 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/VMM/VMMGC/TRPMGCHandlersA.asm

    r848 r1089  
    497497
    498498    mov     eax, dword [esp + CPUMCTXCORE.es]
    499     mov     [esp + 0ch + ESPOFF], eax           ; es
     499    mov     [esp + 1ch + ESPOFF], eax           ; es
    500500    mov     eax, dword [esp + CPUMCTXCORE.ds]
    501     mov     [esp + 10h + ESPOFF], eax           ; ds
     501    mov     [esp + 20h + ESPOFF], eax           ; ds
    502502    mov     eax, dword [esp + CPUMCTXCORE.fs]
    503     mov     [esp + 14h + ESPOFF], eax           ; fs
     503    mov     [esp + 24h + ESPOFF], eax           ; fs
    504504    mov     eax, dword [esp + CPUMCTXCORE.gs]
    505     mov     [esp + 18h + ESPOFF], eax           ; gs
     505    mov     [esp + 28h + ESPOFF], eax           ; gs
    506506
    507507    mov     eax, [esp + CPUMCTXCORE.eip]
     
    914914    mov     edi, [esp + CPUMCTXCORE.edi]
    915915
     916    ; In V86 mode DS, ES, FS & GS are restored by the iret
     917    test    dword [esp + CPUMCTXCORE.eflags], X86_EFL_VM
     918    jnz     short ti_SkipSelRegs
     919
    916920    mov     eax, [esp + CPUMCTXCORE.gs]
    917921    TRPM_NP_GP_HANDLER NAME(trpmGCTrapInGeneric), TRPM_TRAP_IN_MOV_GS | TRPM_TRAP_IN_HYPER
     
    927931    mov     ds, eax
    928932
     933ti_SkipSelRegs:
    929934    ; finally restore our scratch register eax
    930935    mov     eax, [esp + CPUMCTXCORE.eax]
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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