VirtualBox

Changeset 54474 in vbox


Ignore:
Timestamp:
Feb 25, 2015 9:20:30 AM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
98580
Message:

VMMSwitcher: fixed two typos which prevented proper handling of the local APIC in x2APIC mode for 64-bit guests on 32-bit hosts and raw mode on 32-bit hosts

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

Legend:

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

    r53835 r54474  
    109109    je      gth64_x2apic
    110110
    111     ; Legacy APIC mode:
     111    ; Legacy xAPIC mode:
    112112    mov     r8, [rdx + r8 + CPUMCPU.pvApicBase]
    113113    shr     ecx, 1
     
    133133    jmp     gth64_apic_done
    134134
    135     ; X2 APIC mode:
     135    ; x2APIC mode:
    136136gth64_x2apic:
    137137    mov     r8, rax                     ; save rax
     
    338338    cmp     byte [rdx + r8 + CPUMCPU.fX2Apic], 1
    339339    je      htg_x2apic
     340
     341    ; Legacy xAPIC mode:
    340342    mov     rbx, [rdx + r8 + CPUMCPU.pvApicBase]
    341343    or      rbx, rbx
     
    400402    jmp     htg_apic_done
    401403
    402     ; X2APIC?
     404    ; x2APIC mode:
    403405htg_x2apic:
    404406    mov     r15, rdx                    ; save rdx
  • trunk/src/VBox/VMM/VMMSwitcher/LegacyandAMD64.mac

    r53835 r54474  
    178178    je      gth_x2apic
    179179
     180    ; Legacy xAPIC mode:
    180181    mov     edx, [edx + CPUMCPU.pvApicBase]
    181182    shr     ecx, 1
     
    201202    jmp     gth_apic_done
    202203
     204    ; x2APIC mode:
    203205gth_x2apic:
    204206    ;DEBUG_CMOS_STACK32 7ch
     
    324326
    325327%ifdef VBOX_WITH_VMMR0_DISABLE_LAPIC_NMI
     328    ; Block Local APIC NMI vectors
    326329    DEBUG32_S_CHAR('f')
    327330    DEBUG32_S_CHAR(';')
    328     cmp     byte [edx + CPUMCPU.pvApicBase], 1
     331    cmp     byte [edx + CPUMCPU.fX2Apic], 1
    329332    je      htg_x2apic
    330333
     334    ; Legacy xAPIC mode:
    331335    mov     ebx, [edx + CPUMCPU.pvApicBase]
    332336    or      ebx, ebx
     
    390394    jmp     htg_apic_done
    391395
     396    ; x2APIC mode:
    392397htg_x2apic:
    393398    mov     esi, edx                    ; Save edx.
  • trunk/src/VBox/VMM/VMMSwitcher/PAEand32Bit.mac

    r53835 r54474  
    9191    je      gth_x2apic
    9292
     93    ; Legacy xAPIC mode:
    9394    mov     edx, [edx + CPUMCPU.pvApicBase]
    9495    shr     ecx, 1
     
    114115    jmp     gth_apic_done
    115116
     117    ; x2APIC mode:
    116118gth_x2apic:
    117119    push    eax                         ; save eax
     
    218220    pop     dword [edx + CPUMCPU.Host.eflags]
    219221
     222%ifdef VBOX_WITH_VMMR0_DISABLE_LAPIC_NMI
    220223    ; Block Local APIC NMI vectors
    221 %ifdef VBOX_WITH_VMMR0_DISABLE_LAPIC_NMI
    222     cmp     byte [edx + CPUMCPU.pvApicBase], 1
     224    cmp     byte [edx + CPUMCPU.fX2Apic], 1
    223225    je      htg_x2apic
    224226
     227    ; Legacy xAPIC mode:
    225228    mov     ebx, [edx + CPUMCPU.pvApicBase]
    226229    or      ebx, ebx
     
    286289    jmp     htg_apic_done
    287290
     291    ; x2APIC mode:
    288292htg_x2apic:
    289293    mov     esi, edx                    ; Save edx.
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