Changeset 20835 in vbox
- Timestamp:
- Jun 23, 2009 1:55:08 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 48974
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/include/VBox/pdmdev.h ¶
r20374 r20835 1103 1103 } PDMAPICVERSION; 1104 1104 1105 /** 1106 * APIC irq argument for SetInterruptFF. 1107 */ 1108 typedef enum PDMAPICIRQ 1109 { 1110 /** Invalid 0 entry. */ 1111 PDMAPICIRQ_INVALID = 0, 1112 /** Normal hardware interrupt. */ 1113 PDMAPICIRQ_HARDWARE, 1114 /** NMI. */ 1115 PDMAPICIRQ_NMI, 1116 /** SMI. */ 1117 PDMAPICIRQ_SMI, 1118 /** The usual 32-bit paranoia. */ 1119 PDMAPICIRQ_32BIT_HACK = 0x7fffffff 1120 } PDMAPICIRQ; 1121 1105 1122 1106 1123 /** … … 1116 1133 * 1117 1134 * @param pDevIns Device instance of the APIC. 1135 * @param enmType Irq type 1118 1136 * @param idCpu Virtual CPU to set flag upon. 1119 1137 */ 1120 DECLRCCALLBACKMEMBER(void, pfnSetInterruptFF,(PPDMDEVINS pDevIns, VMCPUID idCpu));1138 DECLRCCALLBACKMEMBER(void, pfnSetInterruptFF,(PPDMDEVINS pDevIns, PDMAPICIRQ enmType, VMCPUID idCpu)); 1121 1139 1122 1140 /** … … 1169 1187 1170 1188 /** Current PDMAPICHLPRC version number. */ 1171 #define PDM_APICHLPRC_VERSION 0x6001000 01189 #define PDM_APICHLPRC_VERSION 0x60010001 1172 1190 1173 1191 … … 1184 1202 * 1185 1203 * @param pDevIns Device instance of the APIC. 1204 * @param enmType Irq type 1186 1205 * @param idCpu Virtual CPU to set flag upon. 1187 1206 */ 1188 DECLR0CALLBACKMEMBER(void, pfnSetInterruptFF,(PPDMDEVINS pDevIns, VMCPUID idCpu));1207 DECLR0CALLBACKMEMBER(void, pfnSetInterruptFF,(PPDMDEVINS pDevIns, PDMAPICIRQ enmType, VMCPUID idCpu)); 1189 1208 1190 1209 /** … … 1237 1256 1238 1257 /** Current PDMAPICHLPR0 version number. */ 1239 #define PDM_APICHLPR0_VERSION 0x6001000 01258 #define PDM_APICHLPR0_VERSION 0x60010001 1240 1259 1241 1260 /** … … 1251 1270 * 1252 1271 * @param pDevIns Device instance of the APIC. 1272 * @param enmType IRQ type 1253 1273 * @param idCpu Virtual CPU to set flag upon. 1254 1274 */ 1255 DECLR3CALLBACKMEMBER(void, pfnSetInterruptFF,(PPDMDEVINS pDevIns, VMCPUID idCpu));1275 DECLR3CALLBACKMEMBER(void, pfnSetInterruptFF,(PPDMDEVINS pDevIns, PDMAPICIRQ enmType, VMCPUID idCpu)); 1256 1276 1257 1277 /** … … 1351 1371 1352 1372 /** Current PDMAPICHLP version number. */ 1353 #define PDM_APICHLPR3_VERSION 0xfd02000 01373 #define PDM_APICHLPR3_VERSION 0xfd020001 1354 1374 1355 1375 -
TabularUnified trunk/include/VBox/vm.h ¶
r20752 r20835 294 294 295 295 296 /** This action forces the VM to service check andpending interrups on the APIC. */296 /** This action forces the VM to check any pending interrups on the APIC. */ 297 297 #define VMCPU_FF_INTERRUPT_APIC RT_BIT_32(0) 298 /** This action forces the VM to service check andpending interrups on the PIC. */298 /** This action forces the VM to check any pending interrups on the PIC. */ 299 299 #define VMCPU_FF_INTERRUPT_PIC RT_BIT_32(1) 300 300 /** This action forces the VM to schedule and run pending timer (TM). 301 301 * @remarks Don't move - PATM compatability. */ 302 302 #define VMCPU_FF_TIMER RT_BIT_32(2) 303 /** This action forces the VM to check any pending NMIs. */ 304 #define VMCPU_FF_INTERRUPT_NMI RT_BIT_32(3) 305 /** This action forces the VM to check any pending SMIs. */ 306 #define VMCPU_FF_INTERRUPT_SMI RT_BIT_32(4) 303 307 /** PDM critical section unlocking is pending, process promptly upon return to R3. */ 304 308 #define VMCPU_FF_PDM_CRITSECT RT_BIT_32(5) -
TabularUnified trunk/include/iprt/log.h ¶
r20374 r20835 323 323 /** New lines should be prefixed with thread name. */ 324 324 RTLOGFLAGS_PREFIX_THREAD = 0x00800000, 325 /** New lines should be prefixed with the VCPU id. */ 326 RTLOGFLAGS_PREFIX_VCPU = 0x01000000, 325 327 /** New lines should be prefixed with formatted timestamp since program start. */ 326 328 RTLOGFLAGS_PREFIX_TIME_PROG = 0x04000000, -
TabularUnified trunk/src/VBox/VMM/PDMDevMiscHlp.cpp ¶
r20092 r20835 145 145 146 146 /** @copydoc PDMAPICHLPR3::pfnSetInterruptFF */ 147 static DECLCALLBACK(void) pdmR3ApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, VMCPUID idCpu)147 static DECLCALLBACK(void) pdmR3ApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, PDMAPICIRQ enmType, VMCPUID idCpu) 148 148 { 149 149 PDMDEV_ASSERT_DEVINS(pDevIns); … … 156 156 pDevIns->pDevReg->szDeviceName, pDevIns->iInstance, idCpu, VMCPU_FF_ISSET(pVCpu, VMCPU_FF_INTERRUPT_APIC))); 157 157 158 VMCPU_FF_SET(pVCpu, VMCPU_FF_INTERRUPT_APIC); 158 switch (enmType) 159 { 160 case PDMAPICIRQ_HARDWARE: 161 VMCPU_FF_SET(pVCpu, VMCPU_FF_INTERRUPT_APIC); 162 break; 163 case PDMAPICIRQ_NMI: 164 VMCPU_FF_SET(pVCpu, VMCPU_FF_INTERRUPT_NMI); 165 break; 166 case PDMAPICIRQ_SMI: 167 VMCPU_FF_SET(pVCpu, VMCPU_FF_INTERRUPT_SMI); 168 break; 169 } 159 170 REMR3NotifyInterruptSet(pVM, pVCpu); 160 171 VMR3NotifyCpuFFU(pVCpu->pUVCpu, VMNOTIFYFF_FLAGS_DONE_REM | VMNOTIFYFF_FLAGS_POKE); -
TabularUnified trunk/src/VBox/VMM/VMMGC/PDMGCDevice.cpp ¶
r20374 r20835 86 86 * @{ 87 87 */ 88 static DECLCALLBACK(void) pdmRCApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, VMCPUID idCpu);88 static DECLCALLBACK(void) pdmRCApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, PDMAPICIRQ enmType, VMCPUID idCpu); 89 89 static DECLCALLBACK(void) pdmRCApicHlp_ClearInterruptFF(PPDMDEVINS pDevIns, VMCPUID idCpu); 90 90 static DECLCALLBACK(void) pdmRCApicHlp_ChangeFeature(PPDMDEVINS pDevIns, PDMAPICVERSION enmVersion); … … 412 412 413 413 /** @copydoc PDMAPICHLPRC::pfnSetInterruptFF */ 414 static DECLCALLBACK(void) pdmRCApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, VMCPUID idCpu)414 static DECLCALLBACK(void) pdmRCApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, PDMAPICIRQ enmType, VMCPUID idCpu) 415 415 { 416 416 PDMDEV_ASSERT_DEVINS(pDevIns); … … 422 422 LogFlow(("pdmRCApicHlp_SetInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 1\n", 423 423 pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pVCpu, VMCPU_FF_INTERRUPT_APIC))); 424 VMCPU_FF_SET(pVCpu, VMCPU_FF_INTERRUPT_APIC); 424 switch (enmType) 425 { 426 case PDMAPICIRQ_HARDWARE: 427 VMCPU_FF_SET(pVCpu, VMCPU_FF_INTERRUPT_APIC); 428 break; 429 case PDMAPICIRQ_NMI: 430 VMCPU_FF_SET(pVCpu, VMCPU_FF_INTERRUPT_NMI); 431 break; 432 case PDMAPICIRQ_SMI: 433 VMCPU_FF_SET(pVCpu, VMCPU_FF_INTERRUPT_SMI); 434 break; 435 } 425 436 } 426 437 -
TabularUnified trunk/src/VBox/VMM/VMMR0/PDMR0Device.cpp ¶
r20374 r20835 89 89 * @{ 90 90 */ 91 static DECLCALLBACK(void) pdmR0ApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, VMCPUID idCpu);91 static DECLCALLBACK(void) pdmR0ApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, PDMAPICIRQ enmType, VMCPUID idCpu); 92 92 static DECLCALLBACK(void) pdmR0ApicHlp_ClearInterruptFF(PPDMDEVINS pDevIns, VMCPUID idCpu); 93 93 static DECLCALLBACK(void) pdmR0ApicHlp_ChangeFeature(PPDMDEVINS pDevIns, PDMAPICVERSION enmVersion); … … 427 427 428 428 /** @copydoc PDMAPICHLPR0::pfnSetInterruptFF */ 429 static DECLCALLBACK(void) pdmR0ApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, VMCPUID idCpu)429 static DECLCALLBACK(void) pdmR0ApicHlp_SetInterruptFF(PPDMDEVINS pDevIns, PDMAPICIRQ enmType, VMCPUID idCpu) 430 430 { 431 431 PDMDEV_ASSERT_DEVINS(pDevIns); … … 437 437 LogFlow(("pdmR0ApicHlp_SetInterruptFF: caller=%p/%d: VM_FF_INTERRUPT %d -> 1\n", 438 438 pDevIns, pDevIns->iInstance, VMCPU_FF_ISSET(pVCpu, VMCPU_FF_INTERRUPT_APIC))); 439 VMCPU_FF_SET(pVCpu, VMCPU_FF_INTERRUPT_APIC); 439 440 switch (enmType) 441 { 442 case PDMAPICIRQ_HARDWARE: 443 VMCPU_FF_SET(pVCpu, VMCPU_FF_INTERRUPT_APIC); 444 break; 445 case PDMAPICIRQ_NMI: 446 VMCPU_FF_SET(pVCpu, VMCPU_FF_INTERRUPT_NMI); 447 break; 448 case PDMAPICIRQ_SMI: 449 VMCPU_FF_SET(pVCpu, VMCPU_FF_INTERRUPT_SMI); 450 break; 451 } 440 452 441 453 /* We need to wait up the target CPU. */
Note:
See TracChangeset
for help on using the changeset viewer.