VirtualBox

Changeset 15045 in vbox


Ignore:
Timestamp:
Dec 5, 2008 1:54:11 PM (16 years ago)
Author:
vboxsync
Message:

VT-x 64 bits switcher handler updates

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMGC/HWACCMGCA.asm

    r15031 r15045  
    8787; trashes rax & rdx
    8888 %macro VMCSWRITE 2
    89     mov     rdx, %2
    9089    mov     eax, %1
    91     vmwrite rax, rdx
     90    vmwrite rax, %2
    9291 %endmacro
    9392
     
    9594 %macro VMCSREAD 2
    9695    mov     eax, %1
    97     vmwrite rax, rdx
    98     mov     %2, rdx
     96    vmwrite rax, %2
    9997 %endmacro
    10098
     
    133131    jmp     .vmstart64_vmoff_end
    134132   
    135 .vmptrld_success:   
     133.vmptrld_success:
     134    ; Signal that we're in 64 bits mode now!
     135    VMCSREAD VMX_VMCS_CTRL_EXIT_CONTROLS,       rdx
     136    or      rdx, VMX_VMCS_CTRL_EXIT_CONTROLS_HOST_AMD64
     137    VMCSWRITE VMX_VMCS_CTRL_EXIT_CONTROLS,      rdx
     138   
    136139    ; Have to sync half the guest state as we can't access most of the 64 bits state in 32 bits mode. Sigh.
    137140    VMCSWRITE VMX_VMCS64_GUEST_CS_BASE,         [rsi + CPUMCTX.csHid.u64Base]
     
    274277
    275278.vmstart64_end:
     279    ; Signal that we're going back to 32 bits mode!
     280    VMCSREAD VMX_VMCS_CTRL_EXIT_CONTROLS,       rdx
     281    and      rdx, ~VMX_VMCS_CTRL_EXIT_CONTROLS_HOST_AMD64
     282    VMCSWRITE VMX_VMCS_CTRL_EXIT_CONTROLS,      rdx
     283
    276284    ; Write back the data and disable the VMCS
    277285    vmclear [rbp + 16 + 8]  ;pVMCS
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