Changeset 7095 in vbox for trunk/src/VBox/VMM/VMMSwitcher
- Timestamp:
- Feb 22, 2008 12:41:56 PM (17 years ago)
- Location:
- trunk/src/VBox/VMM/VMMSwitcher
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMSwitcher/AMD64ToPAE.asm
r5999 r7095 631 631 632 632 ; 633 ; Guest Context (assumes CPUMCTXCORE layout).633 ; Guest Context (assumes esp now points to CPUMCTXCORE structure). 634 634 ; 635 635 ; general purpose registers (layout is pushad) 636 pop dword [edx + CPUM.Guest.edi] 637 pop dword [edx + CPUM.Guest.esi] 638 pop dword [edx + CPUM.Guest.ebp] 639 pop dword [edx + CPUM.Guest.eax] 640 pop dword [edx + CPUM.Guest.ebx] 641 pop dword [edx + CPUM.Guest.edx] 642 pop dword [edx + CPUM.Guest.ecx] 643 pop dword [edx + CPUM.Guest.esp] 644 pop dword [edx + CPUM.Guest.ss] 645 pop dword [edx + CPUM.Guest.gs] 646 pop dword [edx + CPUM.Guest.fs] 647 pop dword [edx + CPUM.Guest.es] 648 pop dword [edx + CPUM.Guest.ds] 649 pop dword [edx + CPUM.Guest.cs] 636 push eax ; save return code. 637 mov eax, [esp + 4 + CPUMCTXCORE.edi] 638 mov [edx + CPUM.Guest.edi], eax 639 mov eax, [esp + 4 + CPUMCTXCORE.esi] 640 mov [edx + CPUM.Guest.esi], eax 641 mov eax, [esp + 4 + CPUMCTXCORE.ebp] 642 mov [edx + CPUM.Guest.ebp], eax 643 mov eax, [esp + 4 + CPUMCTXCORE.eax] 644 mov [edx + CPUM.Guest.eax], eax 645 mov eax, [esp + 4 + CPUMCTXCORE.ebx] 646 mov [edx + CPUM.Guest.ebx], eax 647 mov eax, [esp + 4 + CPUMCTXCORE.edx] 648 mov [edx + CPUM.Guest.edx], eax 649 mov eax, [esp + 4 + CPUMCTXCORE.ecx] 650 mov [edx + CPUM.Guest.ecx], eax 651 mov eax, [esp + 4 + CPUMCTXCORE.esp] 652 mov [edx + CPUM.Guest.esp], eax 653 ; selectors 654 mov eax, [esp + 4 + CPUMCTXCORE.ss] 655 mov [edx + CPUM.Guest.ss], eax 656 mov eax, [esp + 4 + CPUMCTXCORE.gs] 657 mov [edx + CPUM.Guest.gs], eax 658 mov eax, [esp + 4 + CPUMCTXCORE.fs] 659 mov [edx + CPUM.Guest.fs], eax 660 mov eax, [esp + 4 + CPUMCTXCORE.es] 661 mov [edx + CPUM.Guest.es], eax 662 mov eax, [esp + 4 + CPUMCTXCORE.ds] 663 mov [edx + CPUM.Guest.ds], eax 664 mov eax, [esp + 4 + CPUMCTXCORE.cs] 665 mov [edx + CPUM.Guest.cs], eax 650 666 ; flags 651 pop dword [edx + CPUM.Guest.eflags] 667 mov eax, [esp + 4 + CPUMCTXCORE.eflags] 668 mov [edx + CPUM.Guest.eflags], eax 652 669 ; eip 653 pop dword [edx + CPUM.Guest.eip] 670 mov eax, [esp + 4 + CPUMCTXCORE.eip] 671 mov [edx + CPUM.Guest.eip], eax 672 ; jump to common worker code. 673 pop eax ; restore return code. 674 675 add esp, CPUMCTXCORE_size ; skip CPUMCTXCORE structure 676 654 677 jmp vmmGCGuestToHostAsm_EIPDone 655 678 ENDPROC VMMGCGuestToHostAsmGuestCtx -
trunk/src/VBox/VMM/VMMSwitcher/PAEand32Bit.mac
r5999 r7095 532 532 push eax 533 533 534 ; @todo do a rep movsd instead535 534 mov eax, [esp + 4 + CPUMCTXCORE.eax] 536 535 mov [edx + CPUM.Guest.eax], eax
Note:
See TracChangeset
for help on using the changeset viewer.