VirtualBox

Changeset 34020 in vbox


Ignore:
Timestamp:
Nov 12, 2010 9:12:09 AM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
67685
Message:

VMMR0/TRPMR0.cpp: use a 64-bit gate descriptor on 64-bit hosts (cleans up the old hack)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/TRPMR0.cpp

    r29250 r34020  
    7878    PVBOXIDTE   pIdte = &((PVBOXIDTE)Idtr.pIdt)[uActiveVector];
    7979# else
    80     PVBOXIDTE   pIdte = &((PVBOXIDTE)Idtr.pIdt)[uActiveVector * 2];
     80    PVBOXIDTE64 pIdte = &((PVBOXIDTE64)Idtr.pIdt)[uActiveVector];
    8181# endif
    8282    AssertMsgReturnVoid(pIdte->Gen.u1Present, ("The IDT entry (%d) is not present!\n", uActiveVector));
     
    9494# else /* 64-bit: */
    9595    RTFAR64   pfnHandler;
    96     pfnHandler.off = VBOXIDTE_OFFSET(*pIdte);
    97     pfnHandler.off |= (uint64_t)(*(uint32_t *)(pIdte + 1)) << 32; //cleanup!
     96    pfnHandler.off = VBOXIDTE64_OFFSET(*pIdte);
    9897    pfnHandler.sel = pIdte->Gen.u16SegSel;
    9998
    100     RTR0UINTREG uRSP = ~(RTR0UINTREG)0;
    101     if (pIdte->au32[1] & 0x7 /*IST*/)
     99    const RTR0UINTREG uRSP = ~(RTR0UINTREG)0;
     100    if (pIdte->Gen.u3Ist)
    102101    {
    103102        trpmR0DispatchHostInterruptSimple(uActiveVector);
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