VirtualBox

Changeset 53835 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Jan 15, 2015 8:39:49 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
97648
Message:

VMMSwitcher: also mask NMI in APIC_REG_LVT_CMCI

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

Legend:

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

    r52410 r53835  
    127127    and     dword [r8 + APIC_REG_LVT_THMR], ~APIC_REG_LVT_MASKED
    128128gth64_notherm:
     129    shr     ecx, 1
     130    jnc     gth64_nocmci
     131    and     dword [r8 + APIC_REG_LVT_CMCI], ~APIC_REG_LVT_MASKED
     132gth64_nocmci:
    129133    jmp     gth64_apic_done
    130134
     
    161165    wrmsr
    162166gth64_x2_notherm:
     167    shr     r10d, 1
     168    jnc     gth64_x2_nocmci
     169    mov     ecx, MSR_IA32_X2APIC_START + (APIC_REG_LVT_CMCI >> 4)
     170    rdmsr
     171    and     eax, ~APIC_REG_LVT_MASKED
     172    wrmsr
     173gth64_x2_nocmci:
    163174    mov     rax, r8                     ; restore rax
    164175
     
    365376    cmp     al, 5
    366377    jb      htg_notherm
     378    je      htg_nocmci
     379    mov     eax, [rbx + APIC_REG_LVT_CMCI]
     380    mov     ecx, eax
     381    and     ecx, (APIC_REG_LVT_MASKED | APIC_REG_LVT_MODE_MASK)
     382    cmp     ecx, APIC_REG_LVT_MODE_NMI
     383    jne     htg_nocmci
     384    or      edi, 0x10
     385    or      eax, APIC_REG_LVT_MASKED
     386    mov     [rbx + APIC_REG_LVT_CMCI], eax
     387    mov     eax, [rbx + APIC_REG_LVT_CMCI] ; write completion
     388htg_nocmci:
    367389    mov     eax, [rbx + APIC_REG_LVT_THMR]
    368390    mov     ecx, eax
     
    418440    cmp     al, 5
    419441    jb      htg_x2_notherm
     442    je      htg_x2_nocmci
     443    mov     ecx, MSR_IA32_X2APIC_START + (APIC_REG_LVT_CMCI >> 4)
     444    rdmsr
     445    mov     ebx, eax
     446    and     ebx, (APIC_REG_LVT_MASKED | APIC_REG_LVT_MODE_MASK)
     447    cmp     ebx, APIC_REG_LVT_MODE_NMI
     448    jne     htg_x2_nocmci
     449    or      edi, 0x10
     450    or      eax, APIC_REG_LVT_MASKED
     451    wrmsr
     452htg_x2_nocmci:
    420453    mov     ecx, MSR_IA32_X2APIC_START + (APIC_REG_LVT_THMR >> 4)
    421454    rdmsr
  • trunk/src/VBox/VMM/VMMSwitcher/LegacyandAMD64.mac

    r49528 r53835  
    195195    and     dword [edx + APIC_REG_LVT_THMR], ~APIC_REG_LVT_MASKED
    196196gth_notherm:
     197    shr     ecx, 1
     198    jnc     gth_nocmci
     199    and     dword [edx + APIC_REG_LVT_CMCI], ~APIC_REG_LVT_MASKED
     200gth_nocmci:
    197201    jmp     gth_apic_done
    198202
     
    231235    wrmsr
    232236gth_x2_notherm:
     237    shr     ebx, 1
     238    jnc     gth_x2_nocmci
     239    mov     ecx, MSR_IA32_X2APIC_START + (APIC_REG_LVT_CMCI >> 4)
     240    rdmsr
     241    and     eax, ~APIC_REG_LVT_MASKED
     242    wrmsr
     243gth_x2_nocmci:
    233244    pop     edx
    234245    pop     ebx
     
    355366    cmp     al, 5
    356367    jb      htg_notherm
     368    je      htg_nocmci
     369    mov     eax, [ebx + APIC_REG_LVT_CMCI]
     370    mov     ecx, eax
     371    and     ecx, (APIC_REG_LVT_MASKED | APIC_REG_LVT_MODE_MASK)
     372    cmp     ecx, APIC_REG_LVT_MODE_NMI
     373    jne     htg_nocmci
     374    or      edi, 0x10
     375    or      eax, APIC_REG_LVT_MASKED
     376    mov     [ebx + APIC_REG_LVT_CMCI], eax
     377    mov     eax, [ebx + APIC_REG_LVT_CMCI] ; write completion
     378htg_nocmci:
    357379    mov     eax, [ebx + APIC_REG_LVT_THMR]
    358380    mov     ecx, eax
     
    407429    cmp     al, 5
    408430    jb      htg_x2_notherm
     431    je      htg_x2_nocmci
     432    mov     ecx, MSR_IA32_X2APIC_START + (APIC_REG_LVT_CMCI >> 4)
     433    rdmsr
     434    mov     ebx, eax
     435    and     ebx, (APIC_REG_LVT_MASKED | APIC_REG_LVT_MODE_MASK)
     436    cmp     ebx, APIC_REG_LVT_MODE_NMI
     437    jne     htg_x2_nocmci
     438    or      edi, 0x10
     439    or      eax, APIC_REG_LVT_MASKED
     440    wrmsr
     441htg_x2_nocmci:
    409442    mov     ecx, MSR_IA32_X2APIC_START + (APIC_REG_LVT_THMR >> 4)
    410443    rdmsr
  • trunk/src/VBox/VMM/VMMSwitcher/PAEand32Bit.mac

    r47844 r53835  
    108108    and     dword [edx + APIC_REG_LVT_THMR], ~APIC_REG_LVT_MASKED
    109109gth_notherm:
     110    shr     ecx, 1
     111    jnc     gth_nocmci
     112    and     dword [edx + APIC_REG_LVT_CMCI], ~APIC_REG_LVT_MASKED
     113gth_nocmci:
    110114    jmp     gth_apic_done
    111115
     
    143147    wrmsr
    144148gth_x2_notherm:
     149    shr     ebx, 1
     150    jnc     gth_x2_nocmci
     151    mov     ecx, MSR_IA32_X2APIC_START + (APIC_REG_LVT_CMCI >> 4)
     152    rdmsr
     153    and     eax, ~APIC_REG_LVT_MASKED
     154    wrmsr
     155gth_x2_nocmci:
    145156    pop     edx
    146157    pop     ebx
     
    251262    cmp     al, 5
    252263    jb      htg_notherm
     264    je      htg_nocmci
     265    mov     eax, [ebx + APIC_REG_LVT_CMCI]
     266    mov     ecx, eax
     267    and     ecx, (APIC_REG_LVT_MASKED | APIC_REG_LVT_MODE_MASK)
     268    cmp     ecx, APIC_REG_LVT_MODE_NMI
     269    jne     htg_nocmci
     270    or      edi, 0x10
     271    or      eax, APIC_REG_LVT_MASKED
     272    mov     [ebx + APIC_REG_LVT_CMCI], eax
     273    mov     eax, [ebx + APIC_REG_LVT_CMCI] ; write completion
     274htg_nocmci:
    253275    mov     eax, [ebx + APIC_REG_LVT_THMR]
    254276    mov     ecx, eax
     
    303325    cmp     al, 5
    304326    jb      htg_x2_notherm
     327    je      htg_x2_nocmci
     328    mov     ecx, MSR_IA32_X2APIC_START + (APIC_REG_LVT_CMCI >> 4)
     329    rdmsr
     330    mov     ebx, eax
     331    and     ebx, (APIC_REG_LVT_MASKED | APIC_REG_LVT_MODE_MASK)
     332    cmp     ebx, APIC_REG_LVT_MODE_NMI
     333    jne     htg_x2_nocmci
     334    or      edi, 0x10
     335    or      eax, APIC_REG_LVT_MASKED
     336    wrmsr
     337htg_x2_nocmci:
    305338    mov     ecx, MSR_IA32_X2APIC_START + (APIC_REG_LVT_THMR >> 4)
    306339    rdmsr
Note: See TracChangeset for help on using the changeset viewer.

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