VirtualBox

Changeset 37969 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Jul 14, 2011 2:36:13 PM (13 years ago)
Author:
vboxsync
Message:

AMD64andLegacy.mac: Avoid #GPing in world switcher code when restoring CR4.PCIDE.

File:
1 edited

Legend:

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

    r37955 r37969  
    11021102    ; the fpu stuff must be done before we restore cr0.
    11031103    mov     rcx, [rdx + r8 + CPUMCPU.Host.cr4]
     1104    test    rcx, X86_CR4_PCIDE
     1105    jz      gth_no_pcide
     1106    mov     rax, [rdx + r8 + CPUMCPU.Host.cr3]
     1107    and     rax, ~0xfff                 ; clear the PCID in cr3
     1108    mov     cr3, rax
    11041109    mov     cr4, rcx
     1110    mov     rax, [rdx + r8 + CPUMCPU.Host.cr3]
     1111    mov     cr3, rax                    ; reload it with the right PCID.
     1112    jmp     gth_restored_cr4
     1113gth_no_pcide:
     1114    mov     cr4, rcx
     1115gth_restored_cr4:
    11051116    mov     rcx, [rdx + r8 + CPUMCPU.Host.cr0]
    11061117    mov     cr0, rcx
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