Changeset 12799 in vbox
- Timestamp:
- Sep 29, 2008 1:35:29 PM (17 years ago)
- svn:sync-xref-src-repo-rev:
- 37145
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/include/VBox/pdmdev.h ¶
r12689 r12799 1055 1055 * 1056 1056 * @param pDevIns Device instance of the APIC. 1057 * @param cpuidVirtual CPU to set flag upon.1058 */ 1059 DECLRCCALLBACKMEMBER(void, pfnSetInterruptFF,(PPDMDEVINS pDevIns, VMCPUID cpuid));1057 * @param idCpu Virtual CPU to set flag upon. 1058 */ 1059 DECLRCCALLBACKMEMBER(void, pfnSetInterruptFF,(PPDMDEVINS pDevIns, VMCPUID idCpu)); 1060 1060 1061 1061 /** … … 1063 1063 * 1064 1064 * @param pDevIns Device instance of the APIC. 1065 * @param cpuidVirtual CPU to clear flag upon.1066 */ 1067 DECLRCCALLBACKMEMBER(void, pfnClearInterruptFF,(PPDMDEVINS pDevIns, VMCPUID cpuid));1065 * @param idCpu Virtual CPU to clear flag upon. 1066 */ 1067 DECLRCCALLBACKMEMBER(void, pfnClearInterruptFF,(PPDMDEVINS pDevIns, VMCPUID idCpu)); 1068 1068 1069 1069 /** … … 1123 1123 * 1124 1124 * @param pDevIns Device instance of the APIC. 1125 * @param cpuidVirtual CPU to set flag upon.1126 */ 1127 DECLR0CALLBACKMEMBER(void, pfnSetInterruptFF,(PPDMDEVINS pDevIns, VMCPUID cpuid));1125 * @param idCpu Virtual CPU to set flag upon. 1126 */ 1127 DECLR0CALLBACKMEMBER(void, pfnSetInterruptFF,(PPDMDEVINS pDevIns, VMCPUID idCpu)); 1128 1128 1129 1129 /** … … 1131 1131 * 1132 1132 * @param pDevIns Device instance of the APIC. 1133 * @param cpuidVirtual CPU to clear flag upon.1134 */ 1135 DECLR0CALLBACKMEMBER(void, pfnClearInterruptFF,(PPDMDEVINS pDevIns, VMCPUID cpuid));1133 * @param idCpu Virtual CPU to clear flag upon. 1134 */ 1135 DECLR0CALLBACKMEMBER(void, pfnClearInterruptFF,(PPDMDEVINS pDevIns, VMCPUID idCpu)); 1136 1136 1137 1137 /** … … 1190 1190 * 1191 1191 * @param pDevIns Device instance of the APIC. 1192 * @param cpuidVirtual CPU to set flag upon.1193 */ 1194 DECLR3CALLBACKMEMBER(void, pfnSetInterruptFF,(PPDMDEVINS pDevIns, VMCPUID cpuid));1192 * @param idCpu Virtual CPU to set flag upon. 1193 */ 1194 DECLR3CALLBACKMEMBER(void, pfnSetInterruptFF,(PPDMDEVINS pDevIns, VMCPUID idCpu)); 1195 1195 1196 1196 /** … … 1198 1198 * 1199 1199 * @param pDevIns Device instance of the APIC. 1200 * @param cpuidVirtual CPU to clear flag upon.1201 */ 1202 DECLR3CALLBACKMEMBER(void, pfnClearInterruptFF,(PPDMDEVINS pDevIns, VMCPUID cpuid));1200 * @param idCpu Virtual CPU to clear flag upon. 1201 */ 1202 DECLR3CALLBACKMEMBER(void, pfnClearInterruptFF,(PPDMDEVINS pDevIns, VMCPUID idCpu)); 1203 1203 1204 1204 /** -
TabularUnified trunk/include/VBox/vm.h ¶
r12794 r12799 217 217 */ 218 218 #if 1 219 # define VM_FF_SET(pVM, fFlag) ASMAtomicOrU32(&(pVM)->fForcedActions, (fFlag))219 # define VM_FF_SET(pVM, fFlag) ASMAtomicOrU32(&(pVM)->fForcedActions, (fFlag)) 220 220 #else 221 221 # define VM_FF_SET(pVM, fFlag) \ … … 229 229 * 230 230 * @param pVM VM Handle. 231 * @param cpu Virtual CPU id.231 * @param idCpu Virtual CPU ID. 232 232 * @param fFlag The flag to set. 233 233 */ 234 234 #ifdef VBOX_WITH_SMP_GUESTS 235 # define VMCPU_FF_SET(pVM, cpu, fFlag) ASMAtomicOrU32(&(pVM)->aCpus[cpu].fForcedActions, (fFlag))236 #else 237 # define VMCPU_FF_SET(pVM, cpu, fFlag)VM_FF_SET(pVM, fFlag)235 # define VMCPU_FF_SET(pVM, idCpu, fFlag) ASMAtomicOrU32(&(pVM)->aCpus[idCpu].fForcedActions, (fFlag)) 236 #else 237 # define VMCPU_FF_SET(pVM, idCpu, fFlag) VM_FF_SET(pVM, fFlag) 238 238 #endif 239 239 … … 245 245 */ 246 246 #if 1 247 # define VM_FF_CLEAR(pVM, fFlag) ASMAtomicAndU32(&(pVM)->fForcedActions, ~(fFlag))247 # define VM_FF_CLEAR(pVM, fFlag) ASMAtomicAndU32(&(pVM)->fForcedActions, ~(fFlag)) 248 248 #else 249 249 # define VM_FF_CLEAR(pVM, fFlag) \ … … 257 257 * 258 258 * @param pVM VM Handle. 259 * @param cpu Virtual CPU id.259 * @param idCpu Virtual CPU ID. 260 260 * @param fFlag The flag to clear. 261 261 */ 262 262 #ifdef VBOX_WITH_SMP_GUESTS 263 # define VMCPU_FF_CLEAR(pVM, cpu, fFlag) ASMAtomicAndU32(&(pVM)->aCpus[cpu].fForcedActions, ~(fFlag))264 #else 265 # define VMCPU_FF_CLEAR(pVM, cpu, fFlag)VM_FF_CLEAR(pVM, fFlag)263 # define VMCPU_FF_CLEAR(pVM, idCpu, fFlag) ASMAtomicAndU32(&(pVM)->aCpus[idCpu].fForcedActions, ~(fFlag)) 264 #else 265 # define VMCPU_FF_CLEAR(pVM, idCpu, fFlag) VM_FF_CLEAR(pVM, fFlag) 266 266 #endif 267 267 … … 272 272 * @param fFlag The flag to check. 273 273 */ 274 #define VM_FF_ISSET(pVM, fFlag) (((pVM)->fForcedActions & (fFlag)) == (fFlag))274 #define VM_FF_ISSET(pVM, fFlag) (((pVM)->fForcedActions & (fFlag)) == (fFlag)) 275 275 276 276 /** @def VMCPU_FF_ISSET … … 278 278 * 279 279 * @param pVM VM Handle. 280 * @param cpu Virtual CPU id.280 * @param idCpu Virtual CPU ID. 281 281 * @param fFlag The flag to check. 282 282 */ 283 283 #ifdef VBOX_WITH_SMP_GUESTS 284 # define VMCPU_FF_ISSET(pVM, cpu, fFlag) (((pVM)->aCpus[cpu].fForcedActions & (fFlag)) == (fFlag))285 #else 286 # define VMCPU_FF_ISSET(pVM, cpu, fFlag) VM_FF_ISSET(pVM, fFlag)284 # define VMCPU_FF_ISSET(pVM, idCpu, fFlag) (((pVM)->aCpus[idCpu].fForcedActions & (fFlag)) == (fFlag)) 285 #else 286 # define VMCPU_FF_ISSET(pVM, idCpu, fFlag) VM_FF_ISSET(pVM, fFlag) 287 287 #endif 288 288 … … 293 293 * @param fFlags The flags to check for. 294 294 */ 295 #define VM_FF_ISPENDING(pVM, fFlags) ((pVM)->fForcedActions & (fFlags))295 #define VM_FF_ISPENDING(pVM, fFlags) ((pVM)->fForcedActions & (fFlags)) 296 296 297 297 /** @def VMCPU_FF_ISPENDING … … 299 299 * 300 300 * @param pVM VM Handle. 301 * @param cpu Virtual CPU id.301 * @param idCpu Virtual CPU ID. 302 302 * @param fFlags The flags to check for. 303 303 */ 304 304 #ifdef VBOX_WITH_SMP_GUESTS 305 # define VMCPU_FF_ISPENDING(pVM, cpu, fFlags) ((pVM)->aCpus[cpu].fForcedActions & (fFlags))306 #else 307 # define VMCPU_FF_ISPENDING(pVM, cpu, fFlags)VM_FF_ISPENDING(pVM, fFlags)305 # define VMCPU_FF_ISPENDING(pVM, idCpu, fFlags) ((pVM)->aCpus[idCpu].fForcedActions & (fFlags)) 306 #else 307 # define VMCPU_FF_ISPENDING(pVM, idCpu, fFlags) VM_FF_ISPENDING(pVM, fFlags) 308 308 #endif 309 309 … … 315 315 */ 316 316 #ifdef IN_GC 317 # define VM_IS_EMT(pVM) true317 # define VM_IS_EMT(pVM) true 318 318 #elif defined(IN_RING0) 319 # define VM_IS_EMT(pVM) true319 # define VM_IS_EMT(pVM) true 320 320 #else 321 321 /** @todo need to rework this macro for the case of multiple emulation threads for SMP */ 322 # define VM_IS_EMT(pVM) ((pVM)->NativeThreadEMT == RTThreadNativeSelf())322 # define VM_IS_EMT(pVM) ((pVM)->NativeThreadEMT == RTThreadNativeSelf()) 323 323 #endif 324 324 … … 327 327 */ 328 328 #ifdef IN_GC 329 # define VM_ASSERT_EMT(pVM) Assert(VM_IS_EMT(pVM))329 # define VM_ASSERT_EMT(pVM) Assert(VM_IS_EMT(pVM)) 330 330 #elif defined(IN_RING0) 331 # define VM_ASSERT_EMT(pVM) Assert(VM_IS_EMT(pVM))331 # define VM_ASSERT_EMT(pVM) Assert(VM_IS_EMT(pVM)) 332 332 #else 333 333 # define VM_ASSERT_EMT(pVM) \ … … 340 340 */ 341 341 #ifdef IN_GC 342 # define VM_ASSERT_EMT_RETURN(pVM, rc) AssertReturn(VM_IS_EMT(pVM), (rc))342 # define VM_ASSERT_EMT_RETURN(pVM, rc) AssertReturn(VM_IS_EMT(pVM), (rc)) 343 343 #elif defined(IN_RING0) 344 # define VM_ASSERT_EMT_RETURN(pVM, rc) AssertReturn(VM_IS_EMT(pVM), (rc))344 # define VM_ASSERT_EMT_RETURN(pVM, rc) AssertReturn(VM_IS_EMT(pVM), (rc)) 345 345 #else 346 346 # define VM_ASSERT_EMT_RETURN(pVM, rc) \ -
TabularUnified trunk/src/VBox/VMM/PDMDevice.cpp ¶
r12772 r12799 234 234 * @{ 235 235 */ 236 static DECLCALLBACK(void) pdmR3ApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, VMCPUID cpuid);237 static DECLCALLBACK(void) pdmR3ApicHlp_ClearInterruptFF(PPDMDEVINS pDevIns, VMCPUID cpuid);236 static DECLCALLBACK(void) pdmR3ApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, VMCPUID idCpu); 237 static DECLCALLBACK(void) pdmR3ApicHlp_ClearInterruptFF(PPDMDEVINS pDevIns, VMCPUID idCpu); 238 238 static DECLCALLBACK(void) pdmR3ApicHlp_ChangeFeature(PPDMDEVINS pDevIns, bool fEnabled); 239 239 static DECLCALLBACK(int) pdmR3ApicHlp_Lock(PPDMDEVINS pDevIns, int rc); … … 4125 4125 4126 4126 /** @copydoc PDMAPICHLPR3::pfnSetInterruptFF */ 4127 static DECLCALLBACK(void) pdmR3ApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, VMCPUID cpuid)4127 static DECLCALLBACK(void) pdmR3ApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, VMCPUID idCpu) 4128 4128 { 4129 4129 PDMDEV_ASSERT_DEVINS(pDevIns); 4130 4130 PVM pVM = pDevIns->Internal.s.pVMHC; 4131 4131 LogFlow(("pdmR3ApicHlp_SetInterruptFF: caller='%s'/%d: VM_FF_INTERRUPT %d -> 1\n", 4132 pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, VMCPU_FF_ISSET(pVM, cpuid, VM_FF_INTERRUPT_APIC)));4133 VMCPU_FF_SET(pVM, cpuid, VM_FF_INTERRUPT_APIC);4132 pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, VMCPU_FF_ISSET(pVM, idCpu, VM_FF_INTERRUPT_APIC))); 4133 VMCPU_FF_SET(pVM, idCpu, VM_FF_INTERRUPT_APIC); 4134 4134 REMR3NotifyInterruptSet(pVM); 4135 4135 VMR3NotifyFF(pVM, true); … … 4138 4138 4139 4139 /** @copydoc PDMAPICHLPR3::pfnClearInterruptFF */ 4140 static DECLCALLBACK(void) pdmR3ApicHlp_ClearInterruptFF(PPDMDEVINS pDevIns, VMCPUID cpuid)4140 static DECLCALLBACK(void) pdmR3ApicHlp_ClearInterruptFF(PPDMDEVINS pDevIns, VMCPUID idCpu) 4141 4141 { 4142 4142 PDMDEV_ASSERT_DEVINS(pDevIns); 4143 4143 LogFlow(("pdmR3ApicHlp_ClearInterruptFF: caller='%s'/%d: VM_FF_INTERRUPT %d -> 0\n", 4144 pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMHC, cpuid, VM_FF_INTERRUPT_APIC)));4145 VMCPU_FF_CLEAR(pDevIns->Internal.s.pVMHC, cpuid, VM_FF_INTERRUPT_APIC);4144 pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMHC, idCpu, VM_FF_INTERRUPT_APIC))); 4145 VMCPU_FF_CLEAR(pDevIns->Internal.s.pVMHC, idCpu, VM_FF_INTERRUPT_APIC); 4146 4146 REMR3NotifyInterruptClear(pDevIns->Internal.s.pVMHC); 4147 4147 } -
TabularUnified trunk/src/VBox/VMM/VMMGC/PDMGCDevice.cpp ¶
r12684 r12799 99 99 * @{ 100 100 */ 101 static DECLCALLBACK(void) pdmRCApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, VMCPUID cpuid);102 static DECLCALLBACK(void) pdmRCApicHlp_ClearInterruptFF(PPDMDEVINS pDevIns, VMCPUID cpuid);101 static DECLCALLBACK(void) pdmRCApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, VMCPUID idCpu); 102 static DECLCALLBACK(void) pdmRCApicHlp_ClearInterruptFF(PPDMDEVINS pDevIns, VMCPUID idCpu); 103 103 static DECLCALLBACK(void) pdmRCApicHlp_ChangeFeature(PPDMDEVINS pDevIns, bool fEnabled); 104 104 static DECLCALLBACK(int) pdmRCApicHlp_Lock(PPDMDEVINS pDevIns, int rc); … … 395 395 396 396 /** @copydoc PDMAPICHLPRC::pfnSetInterruptFF */ 397 static DECLCALLBACK(void) pdmRCApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, VMCPUID cpuid)397 static DECLCALLBACK(void) pdmRCApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, VMCPUID idCpu) 398 398 { 399 399 PDMDEV_ASSERT_DEVINS(pDevIns); 400 400 LogFlow(("pdmRCApicHlp_SetInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 1\n", 401 pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMGC, cpuid, VM_FF_INTERRUPT_APIC)));402 VMCPU_FF_SET(pDevIns->Internal.s.pVMGC, cpuid, VM_FF_INTERRUPT_APIC);401 pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMGC, idCpu, VM_FF_INTERRUPT_APIC))); 402 VMCPU_FF_SET(pDevIns->Internal.s.pVMGC, idCpu, VM_FF_INTERRUPT_APIC); 403 403 } 404 404 405 405 406 406 /** @copydoc PDMAPICHLPRC::pfnClearInterruptFF */ 407 static DECLCALLBACK(void) pdmRCApicHlp_ClearInterruptFF(PPDMDEVINS pDevIns, VMCPUID cpuid)407 static DECLCALLBACK(void) pdmRCApicHlp_ClearInterruptFF(PPDMDEVINS pDevIns, VMCPUID idCpu) 408 408 { 409 409 PDMDEV_ASSERT_DEVINS(pDevIns); 410 410 LogFlow(("pdmRCApicHlp_ClearInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 0\n", 411 pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMGC, cpuid, VM_FF_INTERRUPT_APIC)));412 VMCPU_FF_CLEAR(pDevIns->Internal.s.pVMGC, cpuid, VM_FF_INTERRUPT_APIC);411 pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMGC, idCpu, VM_FF_INTERRUPT_APIC))); 412 VMCPU_FF_CLEAR(pDevIns->Internal.s.pVMGC, idCpu, VM_FF_INTERRUPT_APIC); 413 413 } 414 414 -
TabularUnified trunk/src/VBox/VMM/VMMR0/PDMR0Device.cpp ¶
r12684 r12799 99 99 * @{ 100 100 */ 101 static DECLCALLBACK(void) pdmR0ApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, VMCPUID cpuid);102 static DECLCALLBACK(void) pdmR0ApicHlp_ClearInterruptFF(PPDMDEVINS pDevIns, VMCPUID cpuid);101 static DECLCALLBACK(void) pdmR0ApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, VMCPUID idCpu); 102 static DECLCALLBACK(void) pdmR0ApicHlp_ClearInterruptFF(PPDMDEVINS pDevIns, VMCPUID idCpu); 103 103 static DECLCALLBACK(void) pdmR0ApicHlp_ChangeFeature(PPDMDEVINS pDevIns, bool fEnabled); 104 104 static DECLCALLBACK(int) pdmR0ApicHlp_Lock(PPDMDEVINS pDevIns, int rc); … … 398 398 399 399 /** @copydoc PDMAPICHLPR0::pfnSetInterruptFF */ 400 static DECLCALLBACK(void) pdmR0ApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, VMCPUID cpuid)401 { 402 PDMDEV_ASSERT_DEVINS(pDevIns); 403 400 static DECLCALLBACK(void) pdmR0ApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, VMCPUID idCpu) 401 { 402 PDMDEV_ASSERT_DEVINS(pDevIns); 403 404 404 LogFlow(("pdmR0ApicHlp_SetInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 1\n", 405 pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMHC, cpuid, VM_FF_INTERRUPT_APIC)));406 VMCPU_FF_SET(pDevIns->Internal.s.pVMHC, cpuid, VM_FF_INTERRUPT_APIC);405 pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMHC, idCpu, VM_FF_INTERRUPT_APIC))); 406 VMCPU_FF_SET(pDevIns->Internal.s.pVMHC, idCpu, VM_FF_INTERRUPT_APIC); 407 407 } 408 408 409 409 410 410 /** @copydoc PDMAPICHLPR0::pfnClearInterruptFF */ 411 static DECLCALLBACK(void) pdmR0ApicHlp_ClearInterruptFF(PPDMDEVINS pDevIns, VMCPUID cpuid)412 { 413 PDMDEV_ASSERT_DEVINS(pDevIns); 414 411 static DECLCALLBACK(void) pdmR0ApicHlp_ClearInterruptFF(PPDMDEVINS pDevIns, VMCPUID idCpu) 412 { 413 PDMDEV_ASSERT_DEVINS(pDevIns); 414 415 415 LogFlow(("pdmR0ApicHlp_ClearInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 0\n", 416 pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMHC, cpuid, VM_FF_INTERRUPT_APIC)));417 VMCPU_FF_CLEAR(pDevIns->Internal.s.pVMHC, cpuid, VM_FF_INTERRUPT_APIC);416 pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pDevIns->Internal.s.pVMHC, idCpu, VM_FF_INTERRUPT_APIC))); 417 VMCPU_FF_CLEAR(pDevIns->Internal.s.pVMHC, idCpu, VM_FF_INTERRUPT_APIC); 418 418 } 419 419
Note:
See TracChangeset
for help on using the changeset viewer.