Changeset 277 in vbox
- Timestamp:
- Jan 24, 2007 2:43:42 PM (18 years ago)
- svn:sync-xref-src-repo-rev:
- 17819
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/PATM/PATMA.asm
r181 r277 1099 1099 ; @@todo fix this properly, so we can dispatch pending interrupts in GC 1100 1100 test dword [ss:PATM_VM_FORCEDACTIONS], VM_FF_INTERRUPT_APIC | VM_FF_INTERRUPT_PIC | VM_FF_TIMER | VM_FF_REQUEST 1101 jnz iret_fault 1102 1101 jz iret_continue 1102 1103 ; Go to our hypervisor trap handler to dispatch the pending irq 1104 mov dword [ss:PATM_TEMP_EAX], eax 1105 mov dword [ss:PATM_TEMP_ECX], ecx 1106 mov dword [ss:PATM_TEMP_EDI], edi 1107 mov dword [ss:PATM_TEMP_RESTORE_FLAGS], PATM_RESTORE_EAX | PATM_RESTORE_ECX | PATM_RESTORE_EDI 1108 mov eax, PATM_ACTION_PENDING_IRQ_AFTER_IRET 1109 lock or dword [ss:PATM_PENDINGACTION], eax 1110 mov ecx, PATM_ACTION_MAGIC 1111 mov edi, PATM_CURINSTRADDR 1112 1113 popfd 1114 1115 db 0fh, 0bh ; illegal instr (hardcoded assumption in PATMHandleIllegalInstrTrap) 1116 ; does not return 1117 1118 iret_continue: 1103 1119 or dword [esp+8], 1 1104 1120 iret_notring0: … … 1146 1162 DD PATMIretEnd- PATMIretStart 1147 1163 %ifdef PATM_LOG_IF_CHANGES 1148 DD 1 11164 DD 17 1149 1165 %else 1150 DD 1 01166 DD 16 1151 1167 %endif 1152 1168 DD PATM_INTERRUPTFLAG … … 1157 1173 %endif 1158 1174 DD PATM_VM_FORCEDACTIONS 1175 DD 0 1176 DD PATM_TEMP_EAX 1177 DD 0 1178 DD PATM_TEMP_ECX 1179 DD 0 1180 DD PATM_TEMP_EDI 1181 DD 0 1182 DD PATM_TEMP_RESTORE_FLAGS 1183 DD 0 1184 DD PATM_PENDINGACTION 1185 DD 0 1186 DD PATM_CURINSTRADDR 1159 1187 DD 0 1160 1188 DD PATM_VMFLAGS
Note:
See TracChangeset
for help on using the changeset viewer.