Changeset 14993 in vbox for trunk/src/VBox/VMM/VMMGC
- Timestamp:
- Dec 4, 2008 3:39:41 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 40364
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMGC/HWACCMGCA.asm
r14900 r14993 170 170 ; * 171 171 ; * @returns VBox status code 172 ; * @param pCtx Guest context 172 ; * @param pCtx Guest context (rsi) 173 173 ; */ 174 174 BEGINPROC VMXGCStartVM64 … … 371 371 ; * 372 372 ; * @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) 376 376 ; */ 377 377 BEGINPROC SVMGCVMRun64 378 ; fake a cdecl stack frame379 %ifdef ASM_CALL64_GCC380 push rdx381 push rsi382 push rdi383 %else384 push r8385 push rdx386 push rcx387 %endif388 push 0389 378 push rbp 390 379 mov rbp, rsp … … 405 394 406 395 ;/* Save the Guest CPU context pointer. */ 407 mov rsi, [rbp + 8*2 + RTHCPHYS_CB*2] ; pCtx408 396 push rsi ; push for saving the state at the end 409 397 … … 413 401 414 402 ; 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 vmrun403 mov rax, [rbp + 8] ; pVMCBHostPhys (64 bits physical address) 404 push rax ; save for the vmload after vmrun 417 405 vmsave 418 406 419 407 ; 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) 421 409 422 410 ;/* Restore Guest's general purpose registers. */ … … 483 471 popf 484 472 pop rbp 485 add rsp, 4*8486 473 ret 487 474 ENDPROC SVMGCVMRun64
Note:
See TracChangeset
for help on using the changeset viewer.