Changeset 44509 in vbox
- Timestamp:
- Feb 1, 2013 1:11:17 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/pdmdev.h
r44508 r44509 820 820 * @param iLevel IRQ level. See the PDM_IRQ_LEVEL_* \#defines. 821 821 * @param uTagSrc The IRQ tag and source (for tracing). 822 * @remarks Caller enters the PDM critical section. 822 823 */ 823 824 DECLR3CALLBACKMEMBER(void, pfnSetIrqR3,(PPDMDEVINS pDevIns, int iIrq, int iLevel, uint32_t uTagSrc)); … … 829 830 * @param pDevIns Device instance of the PIC. 830 831 * @param puTagSrc Where to return the IRQ tag and source. 832 * @remarks Caller enters the PDM critical section. 831 833 */ 832 834 DECLR3CALLBACKMEMBER(int, pfnGetInterruptR3,(PPDMDEVINS pDevIns, uint32_t *puTagSrc)); … … 1041 1043 * @param idCpu The VCPU Id. 1042 1044 * @param puTagSrc Where to return the tag source. 1045 * @remarks Caller enters the PDM critical section 1043 1046 */ 1044 1047 DECLR3CALLBACKMEMBER(int, pfnGetInterruptR3,(PPDMDEVINS pDevIns, VMCPUID idCpu, uint32_t *puTagSrc)); … … 1050 1053 * @param pDevIns Device instance of the APIC. 1051 1054 * @param idCpu The VCPU Id. 1055 * @remarks Unlike the other callbacks, the PDM lock may not always be entered 1056 * prior to calling this method. 1052 1057 */ 1053 1058 DECLR3CALLBACKMEMBER(bool, pfnHasPendingIrqR3,(PPDMDEVINS pDevIns, VMCPUID idCpu)); … … 1059 1064 * @param idCpu The VCPU Id. 1060 1065 * @param u64Base The new base. 1066 * @remarks Caller enters the PDM critical section. 1061 1067 */ 1062 1068 DECLR3CALLBACKMEMBER(void, pfnSetBaseR3,(PPDMDEVINS pDevIns, VMCPUID idCpu, uint64_t u64Base)); … … 1068 1074 * @param pDevIns Device instance of the APIC. 1069 1075 * @param idCpu The VCPU Id. 1076 * @remarks Caller enters the PDM critical section. 1070 1077 */ 1071 1078 DECLR3CALLBACKMEMBER(uint64_t, pfnGetBaseR3,(PPDMDEVINS pDevIns, VMCPUID idCpu)); … … 1077 1084 * @param idCpu The VCPU id. 1078 1085 * @param u8TPR The new TPR. 1086 * @remarks Caller enters the PDM critical section. 1079 1087 */ 1080 1088 DECLR3CALLBACKMEMBER(void, pfnSetTPRR3,(PPDMDEVINS pDevIns, VMCPUID idCpu, uint8_t u8TPR)); … … 1086 1094 * @param pDevIns Device instance of the APIC. 1087 1095 * @param idCpu VCPU id 1096 * @remarks Caller enters the PDM critical section. 1088 1097 */ 1089 1098 DECLR3CALLBACKMEMBER(uint8_t, pfnGetTPRR3,(PPDMDEVINS pDevIns, VMCPUID idCpu)); … … 1135 1144 * @param u8TriggerMode See APIC implementation. 1136 1145 * @param uTagSrc The IRQ tag and source (for tracing). 1146 * @remarks Caller enters the PDM critical section 1137 1147 */ 1138 1148 DECLR3CALLBACKMEMBER(int, pfnBusDeliverR3,(PPDMDEVINS pDevIns, uint8_t u8Dest, uint8_t u8DestMode, uint8_t u8DeliveryMode, … … 1150 1160 * @param u8Level The level. 1151 1161 * @param uTagSrc The IRQ tag and source (for tracing). 1162 * @remarks Caller enters the PDM critical section 1152 1163 */ 1153 1164 DECLR3CALLBACKMEMBER(int, pfnLocalInterruptR3,(PPDMDEVINS pDevIns, uint8_t u8Pin, uint8_t u8Level)); -
trunk/src/VBox/Devices/PC/DevAPIC.cpp
r44311 r44509 5 5 6 6 /* 7 * Copyright (C) 2006-201 1Oracle Corporation7 * Copyright (C) 2006-2013 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Devices/PC/DevPIC.cpp
r40907 r44509 929 929 { 930 930 PDEVPIC pThis = PDMINS_2_DATA(pDevIns, PDEVPIC); 931 PDMPICREG PicReg;932 931 int rc; 933 932 bool fGCEnabled; … … 973 972 * Register us as the PIC with PDM. 974 973 */ 974 PDMPICREG PicReg; 975 975 PicReg.u32Version = PDM_PICREG_VERSION; 976 976 PicReg.pfnSetIrqR3 = picSetIrq; -
trunk/src/VBox/VMM/VMMAll/PDMAll.cpp
r44351 r44509 318 318 * 319 319 * @remarks No-long-jump zone!!! 320 */320 */ 321 321 VMMDECL(int) PDMApicGetTPR(PVMCPU pVCpu, uint8_t *pu8TPR, bool *pfPending) 322 322 { … … 324 324 if (pVM->pdm.s.Apic.CTX_SUFF(pDevIns)) 325 325 { 326 /* 327 * Note! We don't acquire the PDM lock here as we're just reading 328 * information. Doing so causes massive contention as this 329 * function is called very often by each and every VCPU. 330 */ 326 331 Assert(pVM->pdm.s.Apic.CTX_SUFF(pfnGetTPR)); 327 /* We don't acquire the PDM lock here as we're just reading information. Doing so causes massive328 * contention as this function is called very often by each and every VCPU.329 */330 332 *pu8TPR = pVM->pdm.s.Apic.CTX_SUFF(pfnGetTPR)(pVM->pdm.s.Apic.CTX_SUFF(pDevIns), pVCpu->idCpu); 331 333 if (pfPending)
Note:
See TracChangeset
for help on using the changeset viewer.