Changeset 60804 in vbox for trunk/include
- Timestamp:
- May 3, 2016 2:13:51 PM (9 years ago)
- Location:
- trunk/include/VBox/vmm
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/apic.h
r60689 r60804 901 901 AssertCompileMemberOffset(X2APICPAGE, self_ipi, X2APIC_OFF_SELF_IPI); 902 902 903 /**904 * APIC Pending Interrupt Bitmap (PIB).905 * @note This structure is used in saved-state, careful with changing layout or906 * size!907 */908 typedef struct APICPIB909 {910 uint64_t volatile aVectorBitmap[4];911 uint32_t volatile fOutstandingNotification;912 uint8_t au8Reserved[28];913 } APICPIB;914 AssertCompileMemberOffset(APICPIB, fOutstandingNotification, 256 / 8);915 AssertCompileSize(APICPIB, 64);916 /** Pointer to a pending interrupt bitmap. */917 typedef APICPIB *PAPICPIB;918 /** Pointer to a const pending interrupt bitmap. */919 typedef const APICPIB *PCAPICPIB;920 921 903 RT_C_DECLS_BEGIN 922 904 -
trunk/include/VBox/vmm/pdmapi.h
r60716 r60804 53 53 VMMDECL(VBOXSTRICTRC) PDMApicSetBaseMsr(PVMCPU pVCpu, uint64_t u64Base); 54 54 VMMDECL(VBOXSTRICTRC) PDMApicGetBaseMsr(PVMCPU pVCpu, uint64_t *pu64Base, bool fIgnoreErrors); 55 VMMDECL(void) PDMApicUpdateInterrupts(PVMCPU pVCpu); 55 56 VMMDECL(int) PDMApicSetTPR(PVMCPU pVCpu, uint8_t u8TPR); 56 57 VMMDECL(int) PDMApicGetTPR(PVMCPU pVCpu, uint8_t *pu8TPR, bool *pfPending, uint8_t *pu8PendingIntr); -
trunk/include/VBox/vmm/pdmdev.h
r60716 r60804 1369 1369 /** ExtINT (HW interrupt via PIC). */ 1370 1370 PDMAPICIRQ_EXTINT, 1371 /** Interrupt arrived, needs to be updated to the IRR. */ 1372 PDMAPICIRQ_UPDATE_PENDING, 1371 1373 /** The usual 32-bit paranoia. */ 1372 1374 PDMAPICIRQ_32BIT_HACK = 0x7fffffff -
trunk/include/VBox/vmm/vm.h
r60542 r60804 132 132 * data could be lumped together at the end with a < 64 byte padding 133 133 * following it (to grow into and align the struct size). 134 * */134 */ 135 135 uint8_t abAlignment1[HC_ARCH_BITS == 64 ? 56 : 12+64]; 136 136 /** State data for use by ad hoc profiling. */ … … 372 372 373 373 374 /** This action forces the VM to check any pending interrup s on the APIC. */374 /** This action forces the VM to check any pending interrupts on the APIC. */ 375 375 #define VMCPU_FF_INTERRUPT_APIC RT_BIT_32(0) 376 376 /** This action forces the VM to check any pending interrups on the PIC. */ … … 393 393 /** Pending IEM action (mask). */ 394 394 #define VMCPU_FF_IEM RT_BIT_32(VMCPU_FF_IEM_BIT) 395 /** Pending APIC action (bit number). */ 396 #define VMCPU_FF_UPDATE_APIC_BIT 8 397 /** This action forces the VM to update APIC's asynchronously arrived 398 * interrupts as pending interrupts. */ 399 #define VMCPU_FF_UPDATE_APIC RT_BIT_32(VMCPU_FF_UPDATE_APIC_BIT) 400 395 401 /** This action forces the VM to service pending requests from other 396 402 * thread or requests which must be executed in another context. */ … … 450 456 | VM_FF_PDM_QUEUES | VM_FF_PDM_DMA | VM_FF_EMT_RENDEZVOUS) 451 457 /** Externally forced VMCPU actions. Used to quit the idle/wait loop. */ 452 #define VMCPU_FF_EXTERNAL_HALTED_MASK ( VMCPU_FF_ INTERRUPT_APIC | VMCPU_FF_INTERRUPT_PIC | VMCPU_FF_REQUEST\453 | VMCPU_FF_ INTERRUPT_NMI | VMCPU_FF_INTERRUPT_SMI | VMCPU_FF_UNHALT\454 | VMCPU_FF_ TIMER)458 #define VMCPU_FF_EXTERNAL_HALTED_MASK ( VMCPU_FF_UPDATE_APIC | VMCPU_FF_INTERRUPT_APIC | VMCPU_FF_INTERRUPT_PIC \ 459 | VMCPU_FF_REQUEST | VMCPU_FF_INTERRUPT_NMI | VMCPU_FF_INTERRUPT_SMI \ 460 | VMCPU_FF_UNHALT | VMCPU_FF_TIMER) 455 461 456 462 /** High priority VM pre-execution actions. */ … … 460 466 /** High priority VMCPU pre-execution actions. */ 461 467 #define VMCPU_FF_HIGH_PRIORITY_PRE_MASK ( VMCPU_FF_TIMER | VMCPU_FF_INTERRUPT_APIC | VMCPU_FF_INTERRUPT_PIC \ 468 | VMCPU_FF_UPDATE_APIC \ 462 469 | VMCPU_FF_PGM_SYNC_CR3 | VMCPU_FF_PGM_SYNC_CR3_NON_GLOBAL \ 463 470 | VMCPU_FF_INHIBIT_INTERRUPTS \
Note:
See TracChangeset
for help on using the changeset viewer.