VirtualBox

Changeset 14993 in vbox for trunk/src/VBox/VMM/VMMGC


Ignore:
Timestamp:
Dec 4, 2008 3:39:41 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
40364
Message:

Switcher updates

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMGC/HWACCMGCA.asm

    r14900 r14993  
    170170; *
    171171; * @returns VBox status code
    172 ; * @param   pCtx       Guest context
     172; * @param   pCtx       Guest context (rsi)
    173173; */
    174174BEGINPROC VMXGCStartVM64
     
    371371; *
    372372; * @returns VBox status code
    373 ; * @param   HCPhysVMCB     Physical address of host VMCB
    374 ; * @param   HCPhysVMCB     Physical address of guest VMCB
    375 ; * @param   pCtx           Guest context
     373; * @param   HCPhysVMCB     Physical address of host VMCB       (rsp+8)
     374; * @param   HCPhysVMCB     Physical address of guest VMCB      (rsp+16)
     375; * @param   pCtx           Guest context                       (rsi)
    376376; */
    377377BEGINPROC SVMGCVMRun64
    378     ; fake a cdecl stack frame
    379  %ifdef ASM_CALL64_GCC
    380     push    rdx
    381     push    rsi
    382     push    rdi
    383  %else
    384     push    r8
    385     push    rdx
    386     push    rcx
    387  %endif
    388     push    0
    389378    push    rbp
    390379    mov     rbp, rsp
     
    405394
    406395    ;/* Save the Guest CPU context pointer. */
    407     mov     rsi, [rbp + 8*2 + RTHCPHYS_CB*2]   ; pCtx
    408396    push    rsi                     ; push for saving the state at the end
    409397
     
    413401
    414402    ; save host fs, gs, sysenter msr etc
    415     mov     rax, [rbp + 8*2]       ; pVMCBHostPhys (64 bits physical address; x86: take low dword only)
    416     push    rax                     ; save for the vmload after vmrun
     403    mov     rax, [rbp + 8]                  ; pVMCBHostPhys (64 bits physical address)
     404    push    rax                             ; save for the vmload after vmrun
    417405    vmsave
    418406
    419407    ; setup eax for VMLOAD
    420     mov     rax, [rbp + 8*2 + RTHCPHYS_CB]     ; pVMCBPhys (64 bits physical address; take low dword only)
     408    mov     rax, [rbp + 8 + RTHCPHYS_CB]    ; pVMCBPhys (64 bits physical address)
    421409
    422410    ;/* Restore Guest's general purpose registers. */
     
    483471    popf
    484472    pop     rbp
    485     add     rsp, 4*8
    486473    ret
    487474ENDPROC SVMGCVMRun64
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