VirtualBox

Changeset 41907 in vbox for trunk


Ignore:
Timestamp:
Jun 25, 2012 1:08:53 AM (13 years ago)
Author:
vboxsync
Message:

32-bit build fixes

Location:
trunk/src/VBox/VMM/VMMSwitcher
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMSwitcher/LegacyandAMD64.mac

    r41905 r41907  
    383383    DEBUG_CHAR('7')
    384384    mov     rsp, 0
    385     mov     eax, [rdx + CPUMCPU.Hyper.ss]
     385    mov     eax, [rdx + CPUMCPU.Hyper.ss.Sel]
    386386    mov     ss, ax
    387387    mov     esp, [rdx + CPUMCPU.Hyper.esp]
  • trunk/src/VBox/VMM/VMMSwitcher/PAEand32Bit.mac

    r41905 r41907  
    387387    ; Setup stack.
    388388    DEBUG_CHAR('3')
    389     mov     eax, [edx + CPUMCPU.Hyper.ss]
     389    mov     eax, [edx + CPUMCPU.Hyper.ss.Sel]
    390390    mov     ss, ax
    391391    mov     esp, [edx + CPUMCPU.Hyper.esp]
     
    396396    and     dword [0ffffffffh], ~0200h      ; clear busy flag (2nd type2 bit)
    397397    DEBUG_CHAR('5')
    398     ltr     word [edx + CPUMCPU.Hyper.tr]
     398    ltr     word [edx + CPUMCPU.Hyper.tr.Sel]
    399399    DEBUG_CHAR('6')
    400400
    401401    ; Activate the ldt (now we can safely crash).
    402     lldt    [edx + CPUMCPU.Hyper.ldtr]
     402    lldt    [edx + CPUMCPU.Hyper.ldtr.Sel]
    403403    DEBUG_CHAR('7')
    404404
     
    654654    mov     eax, [esp + 4 + CPUMCTXCORE.edi]
    655655    mov     [edx + CPUMCPU.Guest.edi], eax
    656     mov     eax, dword [esp + 4 + CPUMCTXCORE.es]
    657     mov     dword [edx + CPUMCPU.Guest.es], eax
    658     mov     eax, dword [esp + 4 + CPUMCTXCORE.cs]
    659     mov     dword [edx + CPUMCPU.Guest.cs], eax
    660     mov     eax, dword [esp + 4 + CPUMCTXCORE.ss]
    661     mov     dword [edx + CPUMCPU.Guest.ss], eax
    662     mov     eax, dword [esp + 4 + CPUMCTXCORE.ds]
    663     mov     dword [edx + CPUMCPU.Guest.ds], eax
    664     mov     eax, dword [esp + 4 + CPUMCTXCORE.fs]
    665     mov     dword [edx + CPUMCPU.Guest.fs], eax
    666     mov     eax, dword [esp + 4 + CPUMCTXCORE.gs]
    667     mov     dword [edx + CPUMCPU.Guest.gs], eax
     656    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
    668668    mov     eax, [esp + 4 + CPUMCTXCORE.eflags]
    669669    mov     dword [edx + CPUMCPU.Guest.eflags], eax
     
    734734    mov     [edx + CPUMCPU.Hyper.esp], eax
    735735    ; selectors
    736     mov     eax, [ecx + CPUMCTXCORE.ss]
    737     mov     [edx + CPUMCPU.Hyper.ss], eax
    738     mov     eax, [ecx + CPUMCTXCORE.gs]
    739     mov     [edx + CPUMCPU.Hyper.gs], eax
    740     mov     eax, [ecx + CPUMCTXCORE.fs]
    741     mov     [edx + CPUMCPU.Hyper.fs], eax
    742     mov     eax, [ecx + CPUMCTXCORE.es]
    743     mov     [edx + CPUMCPU.Hyper.es], eax
    744     mov     eax, [ecx + CPUMCTXCORE.ds]
    745     mov     [edx + CPUMCPU.Hyper.ds], eax
    746     mov     eax, [ecx + CPUMCTXCORE.cs]
    747     mov     [edx + CPUMCPU.Hyper.cs], eax
     736    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
    748748    ; flags
    749749    mov     eax, [ecx + CPUMCTXCORE.eflags]
     
    808808vmmGCGuestToHostAsm_SkipHyperRegs:
    809809    ; 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]
    811811
    812812    ; 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.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette