VirtualBox

Changeset 61807 in vbox for trunk/src/VBox/VMM/include


Ignore:
Timestamp:
Jun 21, 2016 7:41:29 PM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
108208
Message:

VMM: attempt to fix the Windows breakage

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/include/APICInternal.h

    r61795 r61807  
    14081408RT_C_DECLS_BEGIN
    14091409
    1410 const char                 *apicGetModeName(APICMODE enmMode);
    1411 const char                 *apicGetDestFormatName(XAPICDESTFORMAT enmDestFormat);
    1412 const char                 *apicGetDeliveryModeName(XAPICDELIVERYMODE enmDeliveryMode);
    1413 const char                 *apicGetDestModeName(XAPICDESTMODE enmDestMode);
    1414 const char                 *apicGetTriggerModeName(XAPICTRIGGERMODE enmTriggerMode);
    1415 const char                 *apicGetDestShorthandName(XAPICDESTSHORTHAND enmDestShorthand);
    1416 const char                 *apicGetTimerModeName(XAPICTIMERMODE enmTimerMode);
    1417 void                        apicHintTimerFreq(PAPICCPU pApicCpu, uint32_t uInitialCount, uint8_t uTimerShift);
    1418 APICMODE                    apicGetMode(uint64_t uApicBaseMsr);
    1419 
    1420 DECLCALLBACK(uint64_t)      apicGetBaseMsr(PPDMDEVINS pDevIns, PVMCPU pVCpu);
    1421 DECLCALLBACK(VBOXSTRICTRC)  apicSetBaseMsr(PPDMDEVINS pDevIns, PVMCPU pVCpu, uint64_t uBase);
    1422 DECLCALLBACK(uint8_t)       apicGetTpr(PPDMDEVINS pDevIns, PVMCPU pVCpu, bool *pfPending, uint8_t *pu8PendingIntr);
    1423 DECLCALLBACK(void)          apicSetTpr(PPDMDEVINS pDevIns, PVMCPU pVCpu, uint8_t u8Tpr);
    1424 DECLCALLBACK(uint64_t)      apicGetTimerFreq(PPDMDEVINS pDevIns);
    1425 DECLCALLBACK(int)           apicReadMmio(PPDMDEVINS pDevIns, void *pvUser, RTGCPHYS GCPhysAddr, void *pv, unsigned cb);
    1426 DECLCALLBACK(int)           apicWriteMmio(PPDMDEVINS pDevIns, void *pvUser, RTGCPHYS GCPhysAddr, void const *pv, unsigned cb);
    1427 DECLCALLBACK(VBOXSTRICTRC)  apicReadMsr(PPDMDEVINS pDevIns,  PVMCPU pVCpu, uint32_t u32Reg, uint64_t *pu64Val);
    1428 DECLCALLBACK(VBOXSTRICTRC)  apicWriteMsr(PPDMDEVINS pDevIns, PVMCPU pVCpu, uint32_t u32Reg, uint64_t u64Val);
    1429 DECLCALLBACK(int)           apicGetInterrupt(PPDMDEVINS pDevIns,  PVMCPU pVCpu, uint8_t *puVector, uint32_t *puTagSrc);
    1430 DECLCALLBACK(VBOXSTRICTRC)  apicLocalInterrupt(PPDMDEVINS pDevIns, PVMCPU pVCpu, uint8_t u8Pin, uint8_t u8Level, int rcRZ);
    1431 DECLCALLBACK(int)           apicBusDeliver(PPDMDEVINS pDevIns, uint8_t uDest, uint8_t uDestMode, uint8_t uDeliveryMode,
    1432                                            uint8_t uVector, uint8_t uPolarity, uint8_t uTriggerMode, uint32_t uTagSrc);
    1433 
    1434 VMM_INT_DECL(void)          apicPostInterrupt(PVMCPU pVCpu, uint8_t uVector, XAPICTRIGGERMODE enmTriggerMode);
    1435 VMM_INT_DECL(void)          apicStartTimer(PVMCPU pVCpu, uint32_t uInitialCount);
    1436 VMM_INT_DECL(void)          apicStopTimer(PVMCPU pVCpu);
    1437 VMM_INT_DECL(void)          apicSetInterruptFF(PVMCPU pVCpu, PDMAPICIRQ enmType);
    1438 VMM_INT_DECL(void)          apicClearInterruptFF(PVMCPU pVCpu, PDMAPICIRQ enmType);
     1410
     1411/** @def APICBOTHCBDECL
     1412 * Macro for declaring a callback which is static in HC and exported in GC.
     1413 */
     1414#if defined(IN_RC) || defined(IN_RING0)
     1415# ifdef __cplusplus
     1416#  define APICBOTHCBDECL(type)   extern "C" DECLEXPORT(type)
     1417# else
     1418#  define APICBOTHCBDECL(type)   DECLEXPORT(type)
     1419# endif
     1420#else
     1421# define APICBOTHCBDECL(type)    DECLCALLBACK(type)
     1422#endif
     1423
     1424const char                   *apicGetModeName(APICMODE enmMode);
     1425const char                   *apicGetDestFormatName(XAPICDESTFORMAT enmDestFormat);
     1426const char                   *apicGetDeliveryModeName(XAPICDELIVERYMODE enmDeliveryMode);
     1427const char                   *apicGetDestModeName(XAPICDESTMODE enmDestMode);
     1428const char                   *apicGetTriggerModeName(XAPICTRIGGERMODE enmTriggerMode);
     1429const char                   *apicGetDestShorthandName(XAPICDESTSHORTHAND enmDestShorthand);
     1430const char                   *apicGetTimerModeName(XAPICTIMERMODE enmTimerMode);
     1431void                          apicHintTimerFreq(PAPICCPU pApicCpu, uint32_t uInitialCount, uint8_t uTimerShift);
     1432APICMODE                      apicGetMode(uint64_t uApicBaseMsr);
     1433
     1434APICBOTHCBDECL(uint64_t)      apicGetBaseMsr(PPDMDEVINS pDevIns, PVMCPU pVCpu);
     1435APICBOTHCBDECL(VBOXSTRICTRC)  apicSetBaseMsr(PPDMDEVINS pDevIns, PVMCPU pVCpu, uint64_t uBase);
     1436APICBOTHCBDECL(uint8_t)       apicGetTpr(PPDMDEVINS pDevIns, PVMCPU pVCpu, bool *pfPending, uint8_t *pu8PendingIntr);
     1437APICBOTHCBDECL(void)          apicSetTpr(PPDMDEVINS pDevIns, PVMCPU pVCpu, uint8_t u8Tpr);
     1438APICBOTHCBDECL(uint64_t)      apicGetTimerFreq(PPDMDEVINS pDevIns);
     1439APICBOTHCBDECL(int)           apicReadMmio(PPDMDEVINS pDevIns, void *pvUser, RTGCPHYS GCPhysAddr, void *pv, unsigned cb);
     1440APICBOTHCBDECL(int)           apicWriteMmio(PPDMDEVINS pDevIns, void *pvUser, RTGCPHYS GCPhysAddr, void const *pv, unsigned cb);
     1441APICBOTHCBDECL(VBOXSTRICTRC)  apicReadMsr(PPDMDEVINS pDevIns,  PVMCPU pVCpu, uint32_t u32Reg, uint64_t *pu64Val);
     1442APICBOTHCBDECL(VBOXSTRICTRC)  apicWriteMsr(PPDMDEVINS pDevIns, PVMCPU pVCpu, uint32_t u32Reg, uint64_t u64Val);
     1443APICBOTHCBDECL(int)           apicGetInterrupt(PPDMDEVINS pDevIns,  PVMCPU pVCpu, uint8_t *puVector, uint32_t *puTagSrc);
     1444APICBOTHCBDECL(VBOXSTRICTRC)  apicLocalInterrupt(PPDMDEVINS pDevIns, PVMCPU pVCpu, uint8_t u8Pin, uint8_t u8Level, int rcRZ);
     1445APICBOTHCBDECL(int)           apicBusDeliver(PPDMDEVINS pDevIns, uint8_t uDest, uint8_t uDestMode, uint8_t uDeliveryMode,
     1446                                             uint8_t uVector, uint8_t uPolarity, uint8_t uTriggerMode, uint32_t uTagSrc);
     1447
     1448VMM_INT_DECL(void)            apicPostInterrupt(PVMCPU pVCpu, uint8_t uVector, XAPICTRIGGERMODE enmTriggerMode);
     1449VMM_INT_DECL(void)            apicStartTimer(PVMCPU pVCpu, uint32_t uInitialCount);
     1450VMM_INT_DECL(void)            apicStopTimer(PVMCPU pVCpu);
     1451VMM_INT_DECL(void)            apicSetInterruptFF(PVMCPU pVCpu, PDMAPICIRQ enmType);
     1452VMM_INT_DECL(void)            apicClearInterruptFF(PVMCPU pVCpu, PDMAPICIRQ enmType);
    14391453
    14401454#ifdef IN_RING3
    1441 VMMR3_INT_DECL(void)        apicR3ResetCpu(PVMCPU pVCpu, bool fResetApicBaseMsr);
     1455VMMR3_INT_DECL(void)          apicR3ResetCpu(PVMCPU pVCpu, bool fResetApicBaseMsr);
    14421456#endif
    14431457
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