- Timestamp:
- Jun 25, 2012 1:08:53 AM (13 years ago)
- Location:
- trunk/src/VBox/VMM/VMMSwitcher
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMSwitcher/LegacyandAMD64.mac
r41905 r41907 383 383 DEBUG_CHAR('7') 384 384 mov rsp, 0 385 mov eax, [rdx + CPUMCPU.Hyper.ss ]385 mov eax, [rdx + CPUMCPU.Hyper.ss.Sel] 386 386 mov ss, ax 387 387 mov esp, [rdx + CPUMCPU.Hyper.esp] -
trunk/src/VBox/VMM/VMMSwitcher/PAEand32Bit.mac
r41905 r41907 387 387 ; Setup stack. 388 388 DEBUG_CHAR('3') 389 mov eax, [edx + CPUMCPU.Hyper.ss ]389 mov eax, [edx + CPUMCPU.Hyper.ss.Sel] 390 390 mov ss, ax 391 391 mov esp, [edx + CPUMCPU.Hyper.esp] … … 396 396 and dword [0ffffffffh], ~0200h ; clear busy flag (2nd type2 bit) 397 397 DEBUG_CHAR('5') 398 ltr word [edx + CPUMCPU.Hyper.tr ]398 ltr word [edx + CPUMCPU.Hyper.tr.Sel] 399 399 DEBUG_CHAR('6') 400 400 401 401 ; Activate the ldt (now we can safely crash). 402 lldt [edx + CPUMCPU.Hyper.ldtr ]402 lldt [edx + CPUMCPU.Hyper.ldtr.Sel] 403 403 DEBUG_CHAR('7') 404 404 … … 654 654 mov eax, [esp + 4 + CPUMCTXCORE.edi] 655 655 mov [edx + CPUMCPU.Guest.edi], eax 656 mov eax, dword [esp + 4 + CPUMCTXCORE.es ]657 mov dword [edx + CPUMCPU.Guest.es ], eax658 mov eax, dword [esp + 4 + CPUMCTXCORE.cs ]659 mov dword [edx + CPUMCPU.Guest.cs ], eax660 mov eax, dword [esp + 4 + CPUMCTXCORE.ss ]661 mov dword [edx + CPUMCPU.Guest.ss ], eax662 mov eax, dword [esp + 4 + CPUMCTXCORE.ds ]663 mov dword [edx + CPUMCPU.Guest.ds ], eax664 mov eax, dword [esp + 4 + CPUMCTXCORE.fs ]665 mov dword [edx + CPUMCPU.Guest.fs ], eax666 mov eax, dword [esp + 4 + CPUMCTXCORE.gs ]667 mov dword [edx + CPUMCPU.Guest.gs ], eax656 mov eax, dword [esp + 4 + CPUMCTXCORE.es.Sel] 657 mov dword [edx + CPUMCPU.Guest.es.Sel], eax 658 mov eax, dword [esp + 4 + CPUMCTXCORE.cs.Sel] 659 mov dword [edx + CPUMCPU.Guest.cs.Sel], eax 660 mov eax, dword [esp + 4 + CPUMCTXCORE.ss.Sel] 661 mov dword [edx + CPUMCPU.Guest.ss.Sel], eax 662 mov eax, dword [esp + 4 + CPUMCTXCORE.ds.Sel] 663 mov dword [edx + CPUMCPU.Guest.ds.Sel], eax 664 mov eax, dword [esp + 4 + CPUMCTXCORE.fs.Sel] 665 mov dword [edx + CPUMCPU.Guest.fs.Sel], eax 666 mov eax, dword [esp + 4 + CPUMCTXCORE.gs.Sel] 667 mov dword [edx + CPUMCPU.Guest.gs.Sel], eax 668 668 mov eax, [esp + 4 + CPUMCTXCORE.eflags] 669 669 mov dword [edx + CPUMCPU.Guest.eflags], eax … … 734 734 mov [edx + CPUMCPU.Hyper.esp], eax 735 735 ; selectors 736 mov eax, [ecx + CPUMCTXCORE.ss ]737 mov [edx + CPUMCPU.Hyper.ss ], eax738 mov eax, [ecx + CPUMCTXCORE.gs ]739 mov [edx + CPUMCPU.Hyper.gs ], eax740 mov eax, [ecx + CPUMCTXCORE.fs ]741 mov [edx + CPUMCPU.Hyper.fs ], eax742 mov eax, [ecx + CPUMCTXCORE.es ]743 mov [edx + CPUMCPU.Hyper.es ], eax744 mov eax, [ecx + CPUMCTXCORE.ds ]745 mov [edx + CPUMCPU.Hyper.ds ], eax746 mov eax, [ecx + CPUMCTXCORE.cs ]747 mov [edx + CPUMCPU.Hyper.cs ], eax736 mov eax, [ecx + CPUMCTXCORE.ss.Sel] 737 mov [edx + CPUMCPU.Hyper.ss.Sel], eax 738 mov eax, [ecx + CPUMCTXCORE.gs.Sel] 739 mov [edx + CPUMCPU.Hyper.gs.Sel], eax 740 mov eax, [ecx + CPUMCTXCORE.fs.Sel] 741 mov [edx + CPUMCPU.Hyper.fs.Sel], eax 742 mov eax, [ecx + CPUMCTXCORE.es.Sel] 743 mov [edx + CPUMCPU.Hyper.es.Sel], eax 744 mov eax, [ecx + CPUMCTXCORE.ds.Sel] 745 mov [edx + CPUMCPU.Hyper.ds.Sel], eax 746 mov eax, [ecx + CPUMCTXCORE.cs.Sel] 747 mov [edx + CPUMCPU.Hyper.cs.Sel], eax 748 748 ; flags 749 749 mov eax, [ecx + CPUMCTXCORE.eflags] … … 808 808 vmmGCGuestToHostAsm_SkipHyperRegs: 809 809 ; str [edx + CPUMCPU.Hyper.tr] - double fault only, and it won't be right then either. 810 sldt [edx + CPUMCPU.Hyper.ldtr ]810 sldt [edx + CPUMCPU.Hyper.ldtr.Sel] 811 811 812 812 ; No need to save CRx here. They are set dynamically according to Guest/Host requirements.
Note:
See TracChangeset
for help on using the changeset viewer.