Changeset 6258 in vbox
- Timestamp:
- Jan 6, 2008 1:38:45 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HWACCMR0A.asm
r6251 r6258 25 25 %include "VBox/x86.mac" 26 26 27 %ifdef RT_OS_OS2 ;; @todo build cvs nasm like on OS X.27 %ifdef RT_OS_OS2 ;; @todo fix OMF support in yasm and kick nasm out completely. 28 28 %macro vmwrite 2, 29 29 int3 … … 721 721 mov xAX, [xBP + xS*2] ; pVMCBHostPhys (64 bits physical address; x86: take low dword only) 722 722 push xAX ; save for the vmload after vmrun 723 DB 0x0F, 0x01, 0xDB ; VMSAVE723 vmsave 724 724 725 725 ; setup eax for VMLOAD … … 736 736 737 737 ; Clear the global interrupt flag & execute sti to make sure external interrupts cause a world switch 738 DB 0x0f, 0x01, 0xDD ; CLGI738 clgi 739 739 sti 740 740 741 741 ; load guest fs, gs, sysenter msr etc 742 DB 0x0f, 0x01, 0xDA ; VMLOAD742 vmload 743 743 ; run the VM 744 DB 0x0F, 0x01, 0xD8 ; VMRUN744 vmrun 745 745 746 746 ;/* EAX is in the VMCB already; we can use it here. */ 747 747 748 748 ; save guest fs, gs, sysenter msr etc 749 DB 0x0F, 0x01, 0xDB ; VMSAVE749 vmsave 750 750 751 751 ; load host fs, gs, sysenter msr etc 752 752 pop xAX ; pushed above 753 DB 0x0F, 0x01, 0xDA ; VMLOAD753 vmload 754 754 755 755 ; Set the global interrupt flag again, but execute cli to make sure IF=0. 756 756 cli 757 DB 0x0f, 0x01, 0xDC ; STGI757 stgi 758 758 759 759 pop xAX ; pCtx … … 777 777 ret 778 778 ENDPROC SVMVMRun 779 779 780 780 781 ;; … … 794 795 mov ecx, edx 795 796 %endif 796 ;invlpga rax, ecx - YASM 0.6.2 BUG? ;; @todo investigate and file bug report.797 db 0fh, 01h, 0dfh798 797 %else 799 798 mov eax, [esp + 4] 800 799 mov ecx, [esp + 8] 801 ;invlpga eax, ecx - YASM BUG? ;; @todo investigate and file bug report. 802 db 0fh, 01h, 0dfh 803 %endif 800 %endif 801 invlpga [xAX], ecx 804 802 ret 805 803 ENDPROC SVMInvlpgA
Note:
See TracChangeset
for help on using the changeset viewer.