Changeset 61807 in vbox for trunk/src/VBox/VMM/include
- Timestamp:
- Jun 21, 2016 7:41:29 PM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 108208
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/include/APICInternal.h
r61795 r61807 1408 1408 RT_C_DECLS_BEGIN 1409 1409 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 1424 const char *apicGetModeName(APICMODE enmMode); 1425 const char *apicGetDestFormatName(XAPICDESTFORMAT enmDestFormat); 1426 const char *apicGetDeliveryModeName(XAPICDELIVERYMODE enmDeliveryMode); 1427 const char *apicGetDestModeName(XAPICDESTMODE enmDestMode); 1428 const char *apicGetTriggerModeName(XAPICTRIGGERMODE enmTriggerMode); 1429 const char *apicGetDestShorthandName(XAPICDESTSHORTHAND enmDestShorthand); 1430 const char *apicGetTimerModeName(XAPICTIMERMODE enmTimerMode); 1431 void apicHintTimerFreq(PAPICCPU pApicCpu, uint32_t uInitialCount, uint8_t uTimerShift); 1432 APICMODE apicGetMode(uint64_t uApicBaseMsr); 1433 1434 APICBOTHCBDECL(uint64_t) apicGetBaseMsr(PPDMDEVINS pDevIns, PVMCPU pVCpu); 1435 APICBOTHCBDECL(VBOXSTRICTRC) apicSetBaseMsr(PPDMDEVINS pDevIns, PVMCPU pVCpu, uint64_t uBase); 1436 APICBOTHCBDECL(uint8_t) apicGetTpr(PPDMDEVINS pDevIns, PVMCPU pVCpu, bool *pfPending, uint8_t *pu8PendingIntr); 1437 APICBOTHCBDECL(void) apicSetTpr(PPDMDEVINS pDevIns, PVMCPU pVCpu, uint8_t u8Tpr); 1438 APICBOTHCBDECL(uint64_t) apicGetTimerFreq(PPDMDEVINS pDevIns); 1439 APICBOTHCBDECL(int) apicReadMmio(PPDMDEVINS pDevIns, void *pvUser, RTGCPHYS GCPhysAddr, void *pv, unsigned cb); 1440 APICBOTHCBDECL(int) apicWriteMmio(PPDMDEVINS pDevIns, void *pvUser, RTGCPHYS GCPhysAddr, void const *pv, unsigned cb); 1441 APICBOTHCBDECL(VBOXSTRICTRC) apicReadMsr(PPDMDEVINS pDevIns, PVMCPU pVCpu, uint32_t u32Reg, uint64_t *pu64Val); 1442 APICBOTHCBDECL(VBOXSTRICTRC) apicWriteMsr(PPDMDEVINS pDevIns, PVMCPU pVCpu, uint32_t u32Reg, uint64_t u64Val); 1443 APICBOTHCBDECL(int) apicGetInterrupt(PPDMDEVINS pDevIns, PVMCPU pVCpu, uint8_t *puVector, uint32_t *puTagSrc); 1444 APICBOTHCBDECL(VBOXSTRICTRC) apicLocalInterrupt(PPDMDEVINS pDevIns, PVMCPU pVCpu, uint8_t u8Pin, uint8_t u8Level, int rcRZ); 1445 APICBOTHCBDECL(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 1448 VMM_INT_DECL(void) apicPostInterrupt(PVMCPU pVCpu, uint8_t uVector, XAPICTRIGGERMODE enmTriggerMode); 1449 VMM_INT_DECL(void) apicStartTimer(PVMCPU pVCpu, uint32_t uInitialCount); 1450 VMM_INT_DECL(void) apicStopTimer(PVMCPU pVCpu); 1451 VMM_INT_DECL(void) apicSetInterruptFF(PVMCPU pVCpu, PDMAPICIRQ enmType); 1452 VMM_INT_DECL(void) apicClearInterruptFF(PVMCPU pVCpu, PDMAPICIRQ enmType); 1439 1453 1440 1454 #ifdef IN_RING3 1441 VMMR3_INT_DECL(void) apicR3ResetCpu(PVMCPU pVCpu, bool fResetApicBaseMsr);1455 VMMR3_INT_DECL(void) apicR3ResetCpu(PVMCPU pVCpu, bool fResetApicBaseMsr); 1442 1456 #endif 1443 1457
Note:
See TracChangeset
for help on using the changeset viewer.