VirtualBox

Changeset 47607 in vbox


Ignore:
Timestamp:
Aug 8, 2013 10:04:59 AM (11 years ago)
Author:
vboxsync
Message:

VMM/HMR0Mixed.mac: Split IDTR and GDTR restoration macros.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HMR0Mixed.mac

    r47606 r47607  
    2020%ifndef VBOX_WITH_OLD_VTX_CODE
    2121 %ifdef RT_ARCH_AMD64
    22   %define VMX_SKIP_GDTR_IDTR
     22  ;;
     23  ; Keep these macro definitions in this file as it gets included and compiled
     24  ; with RT_ARCH_AMD64 or RT_ARCH_X86.
     25  %define VMX_SKIP_GDTR
     26  %define VMX_SKIP_IDTR
    2327  %define VMX_SKIP_TR
    2428 %endif
     
    113117%endif
    114118
    115 %ifndef VMX_SKIP_GDTR_IDTR
     119%ifndef VMX_SKIP_GDTR
    116120    ; VT-x only saves the base of the GDTR & IDTR and resets the limit to 0xffff; we must restore the limit correctly!
    117121    sub     xSP, xCB * 2
    118122    sgdt    [xSP]
    119 
     123%endif
     124%ifndef VMX_SKIP_IDTR
    120125    sub     xSP, xCB * 2
    121126    sidt    [xSP]
     
    167172
    168173    ; Restore base and limit of the IDTR & GDTR.
    169 %ifndef VMX_SKIP_GDTR_IDTR
     174%ifndef VMX_SKIP_IDTR
    170175    lidt    [xSP]
    171176    add     xSP, xCB * 2
     177%endif
     178%ifndef VMX_SKIP_GDTR
    172179    lgdt    [xSP]
    173180    add     xSP, xCB * 2
     
    264271.vmxstart_invalid_vmcs_ptr:
    265272    ; Restore base and limit of the IDTR & GDTR
    266 %ifndef VMX_SKIP_GDTR_IDTR
     273%ifndef VMX_SKIP_IDTR
    267274    lidt    [xSP]
    268275    add     xSP, xCB * 2
     276%endif
     277%ifndef VMX_SKIP_GDTR
    269278    lgdt    [xSP]
    270279    add     xSP, xCB * 2
     
    305314.vmxstart_start_failed:
    306315    ; Restore base and limit of the IDTR & GDTR.
    307 %ifndef VMX_SKIP_GDTR_IDTR
     316%ifndef VMX_SKIP_IDTR
    308317    lidt    [xSP]
    309318    add     xSP, xCB * 2
     319%endif
     320%ifndef VMX_SKIP_GDTR
    310321    lgdt    [xSP]
    311322    add     xSP, xCB * 2
     
    438449
    439450    ; VT-x only saves the base of the GDTR & IDTR and resets the limit to 0xffff; we must restore the limit correctly!
    440 %ifndef VMX_SKIP_GDTR_IDTR
     451%ifndef VMX_SKIP_GDTR
    441452    sub     xSP, xCB * 2
    442453    sgdt    [xSP]
    443 
     454%endif
     455%ifndef VMX_SKIP_IDTR
    444456    sub     xSP, xCB * 2
    445457    sidt    [xSP]
     
    499511
    500512    ; Restore base and limit of the IDTR & GDTR
    501 %ifndef VMX_SKIP_GDTR_IDTR
     513%ifndef VMX_SKIP_IDTR
    502514    lidt    [xSP]
    503515    add     xSP, xCB * 2
     516%endif
     517%ifndef VMX_SKIP_GDTR
    504518    lgdt    [xSP]
    505519    add     xSP, xCB * 2
     
    611625.vmxstart64_invalid_vmcs_ptr:
    612626    ; Restore base and limit of the IDTR & GDTR.
    613 %ifndef VMX_SKIP_GDTR_IDTR
     627%ifndef VMX_SKIP_IDTR
    614628    lidt    [xSP]
    615629    add     xSP, xCB * 2
     630%endif
     631%ifndef VMX_SKIP_GDTR
    616632    lgdt    [xSP]
    617633    add     xSP, xCB * 2
     
    665681.vmxstart64_start_failed:
    666682    ; Restore base and limit of the IDTR & GDTR.
    667 %ifndef VMX_SKIP_GDTR_IDTR
     683%ifndef VMX_SKIP_IDTR
    668684    lidt    [xSP]
    669685    add     xSP, xCB * 2
     686%endif
     687%ifndef VMX_SKIP_GDTR
    670688    lgdt    [xSP]
    671689    add     xSP, xCB * 2
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