Lines Matching refs:PATM
145 static int patmCorrectFixup(PVM pVM, unsigned ulSSMVersion, PATM &patmInfo, PPATCHINFO pPatch, PRELOCREC pRec,
153 * SSM descriptor table for the PATM structure.
158 SSMFIELD_ENTRY_IGNORE( PATM, offVM),
159 SSMFIELD_ENTRY_RCPTR( PATM, pPatchMemGC),
160 SSMFIELD_ENTRY_IGN_HCPTR( PATM, pPatchMemHC),
161 SSMFIELD_ENTRY( PATM, cbPatchMem),
162 SSMFIELD_ENTRY( PATM, offPatchMem),
163 SSMFIELD_ENTRY( PATM, fOutOfMemory),
165 SSMFIELD_ENTRY( PATM, deltaReloc),
166 SSMFIELD_ENTRY_IGN_HCPTR( PATM, pGCStateHC),
167 SSMFIELD_ENTRY_RCPTR( PATM, pGCStateGC),
168 SSMFIELD_ENTRY_RCPTR( PATM, pGCStackGC),
169 SSMFIELD_ENTRY_IGN_HCPTR( PATM, pGCStackHC),
170 SSMFIELD_ENTRY_RCPTR( PATM, pCPUMCtxGC),
171 SSMFIELD_ENTRY_RCPTR( PATM, pStatsGC),
172 SSMFIELD_ENTRY_IGN_HCPTR( PATM, pStatsHC),
173 SSMFIELD_ENTRY( PATM, uCurrentPatchIdx),
174 SSMFIELD_ENTRY( PATM, ulCallDepth),
175 SSMFIELD_ENTRY( PATM, cPageRecords),
176 SSMFIELD_ENTRY_RCPTR( PATM, pPatchedInstrGCLowest),
177 SSMFIELD_ENTRY_RCPTR( PATM, pPatchedInstrGCHighest),
178 SSMFIELD_ENTRY_RCPTR( PATM, PatchLookupTreeGC),
179 SSMFIELD_ENTRY_IGN_HCPTR( PATM, PatchLookupTreeHC),
180 SSMFIELD_ENTRY_RCPTR( PATM, pfnHelperCallGC),
181 SSMFIELD_ENTRY_RCPTR( PATM, pfnHelperRetGC),
182 SSMFIELD_ENTRY_RCPTR( PATM, pfnHelperJumpGC),
183 SSMFIELD_ENTRY_RCPTR( PATM, pfnHelperIretGC),
184 SSMFIELD_ENTRY_IGN_HCPTR( PATM, pGlobalPatchRec),
185 SSMFIELD_ENTRY_RCPTR( PATM, pfnSysEnterGC),
186 SSMFIELD_ENTRY_RCPTR( PATM, pfnSysEnterPatchGC),
187 SSMFIELD_ENTRY( PATM, uSysEnterPatchIdx),
188 SSMFIELD_ENTRY_RCPTR( PATM, pvFaultMonitor),
189 SSMFIELD_ENTRY_GCPHYS( PATM, mmio.GCPhys),
190 SSMFIELD_ENTRY_RCPTR( PATM, mmio.pCachedData),
191 SSMFIELD_ENTRY_IGN_RCPTR( PATM, mmio.Alignment0),
192 SSMFIELD_ENTRY_IGN_HCPTR( PATM, savedstate.pSSM),
193 SSMFIELD_ENTRY( PATM, savedstate.cPatches),
194 SSMFIELD_ENTRY_PAD_HC64( PATM, savedstate.Alignment0, sizeof(uint32_t)),
195 SSMFIELD_ENTRY_IGNORE( PATM, StatNrOpcodeRead),
196 SSMFIELD_ENTRY_IGNORE( PATM, StatDisabled),
197 SSMFIELD_ENTRY_IGNORE( PATM, StatUnusable),
198 SSMFIELD_ENTRY_IGNORE( PATM, StatEnabled),
199 SSMFIELD_ENTRY_IGNORE( PATM, StatInstalled),
200 SSMFIELD_ENTRY_IGNORE( PATM, StatInstalledFunctionPatches),
201 SSMFIELD_ENTRY_IGNORE( PATM, StatInstalledTrampoline),
202 SSMFIELD_ENTRY_IGNORE( PATM, StatInstalledJump),
203 SSMFIELD_ENTRY_IGNORE( PATM, StatInt3Callable),
204 SSMFIELD_ENTRY_IGNORE( PATM, StatInt3BlockRun),
205 SSMFIELD_ENTRY_IGNORE( PATM, StatOverwritten),
206 SSMFIELD_ENTRY_IGNORE( PATM, StatFixedConflicts),
207 SSMFIELD_ENTRY_IGNORE( PATM, StatFlushed),
208 SSMFIELD_ENTRY_IGNORE( PATM, StatPageBoundaryCrossed),
209 SSMFIELD_ENTRY_IGNORE( PATM, StatMonitored),
210 SSMFIELD_ENTRY_IGNORE( PATM, StatHandleTrap),
211 SSMFIELD_ENTRY_IGNORE( PATM, StatSwitchBack),
212 SSMFIELD_ENTRY_IGNORE( PATM, StatSwitchBackFail),
213 SSMFIELD_ENTRY_IGNORE( PATM, StatPATMMemoryUsed),
214 SSMFIELD_ENTRY_IGNORE( PATM, StatDuplicateREQSuccess),
215 SSMFIELD_ENTRY_IGNORE( PATM, StatDuplicateREQFailed),
216 SSMFIELD_ENTRY_IGNORE( PATM, StatDuplicateUseExisting),
217 SSMFIELD_ENTRY_IGNORE( PATM, StatFunctionFound),
218 SSMFIELD_ENTRY_IGNORE( PATM, StatFunctionNotFound),
219 SSMFIELD_ENTRY_IGNORE( PATM, StatPatchWrite),
220 SSMFIELD_ENTRY_IGNORE( PATM, StatPatchWriteDetect),
221 SSMFIELD_ENTRY_IGNORE( PATM, StatDirty),
222 SSMFIELD_ENTRY_IGNORE( PATM, StatPushTrap),
223 SSMFIELD_ENTRY_IGNORE( PATM, StatPatchWriteInterpreted),
224 SSMFIELD_ENTRY_IGNORE( PATM, StatPatchWriteInterpretedFailed),
225 SSMFIELD_ENTRY_IGNORE( PATM, StatSysEnter),
226 SSMFIELD_ENTRY_IGNORE( PATM, StatSysExit),
227 SSMFIELD_ENTRY_IGNORE( PATM, StatEmulIret),
228 SSMFIELD_ENTRY_IGNORE( PATM, StatEmulIretFailed),
229 SSMFIELD_ENTRY_IGNORE( PATM, StatInstrDirty),
230 SSMFIELD_ENTRY_IGNORE( PATM, StatInstrDirtyGood),
231 SSMFIELD_ENTRY_IGNORE( PATM, StatInstrDirtyBad),
232 SSMFIELD_ENTRY_IGNORE( PATM, StatPatchPageInserted),
233 SSMFIELD_ENTRY_IGNORE( PATM, StatPatchPageRemoved),
234 SSMFIELD_ENTRY_IGNORE( PATM, StatPatchRefreshSuccess),
235 SSMFIELD_ENTRY_IGNORE( PATM, StatPatchRefreshFailed),
236 SSMFIELD_ENTRY_IGNORE( PATM, StatGenRet),
237 SSMFIELD_ENTRY_IGNORE( PATM, StatGenRetReused),
238 SSMFIELD_ENTRY_IGNORE( PATM, StatGenJump),
239 SSMFIELD_ENTRY_IGNORE( PATM, StatGenCall),
240 SSMFIELD_ENTRY_IGNORE( PATM, StatGenPopf),
241 SSMFIELD_ENTRY_IGNORE( PATM, StatCheckPendingIRQ),
242 SSMFIELD_ENTRY_IGNORE( PATM, StatFunctionLookupReplace),
243 SSMFIELD_ENTRY_IGNORE( PATM, StatFunctionLookupInsert),
244 SSMFIELD_ENTRY_IGNORE( PATM, StatU32FunctionMaxSlotsUsed),
245 SSMFIELD_ENTRY_IGNORE( PATM, Alignment0),
250 * SSM descriptor table for the PATM structure starting with r86139.
255 SSMFIELD_ENTRY_IGNORE( PATM, offVM),
256 SSMFIELD_ENTRY_RCPTR( PATM, pPatchMemGC),
257 SSMFIELD_ENTRY_IGN_HCPTR( PATM, pPatchMemHC),
258 SSMFIELD_ENTRY( PATM, cbPatchMem),
259 SSMFIELD_ENTRY( PATM, offPatchMem),
260 SSMFIELD_ENTRY( PATM, fOutOfMemory),
262 SSMFIELD_ENTRY( PATM, deltaReloc),
263 SSMFIELD_ENTRY_IGN_HCPTR( PATM, pGCStateHC),
264 SSMFIELD_ENTRY_RCPTR( PATM, pGCStateGC),
265 SSMFIELD_ENTRY_RCPTR( PATM, pGCStackGC),
266 SSMFIELD_ENTRY_IGN_HCPTR( PATM, pGCStackHC),
267 SSMFIELD_ENTRY_RCPTR( PATM, pCPUMCtxGC),
268 SSMFIELD_ENTRY_RCPTR( PATM, pStatsGC),
269 SSMFIELD_ENTRY_IGN_HCPTR( PATM, pStatsHC),
270 SSMFIELD_ENTRY( PATM, uCurrentPatchIdx),
271 SSMFIELD_ENTRY( PATM, ulCallDepth),
272 SSMFIELD_ENTRY( PATM, cPageRecords),
273 SSMFIELD_ENTRY_RCPTR( PATM, pPatchedInstrGCLowest),
274 SSMFIELD_ENTRY_RCPTR( PATM, pPatchedInstrGCHighest),
275 SSMFIELD_ENTRY_RCPTR( PATM, PatchLookupTreeGC),
276 SSMFIELD_ENTRY_IGN_HCPTR( PATM, PatchLookupTreeHC),
277 SSMFIELD_ENTRY_RCPTR( PATM, pfnHelperCallGC),
278 SSMFIELD_ENTRY_RCPTR( PATM, pfnHelperRetGC),
279 SSMFIELD_ENTRY_RCPTR( PATM, pfnHelperJumpGC),
280 SSMFIELD_ENTRY_RCPTR( PATM, pfnHelperIretGC),
281 SSMFIELD_ENTRY_IGN_HCPTR( PATM, pGlobalPatchRec),
282 SSMFIELD_ENTRY_RCPTR( PATM, pfnSysEnterGC),
283 SSMFIELD_ENTRY_RCPTR( PATM, pfnSysEnterPatchGC),
284 SSMFIELD_ENTRY( PATM, uSysEnterPatchIdx),
285 SSMFIELD_ENTRY_RCPTR( PATM, pvFaultMonitor),
286 SSMFIELD_ENTRY_GCPHYS( PATM, mmio.GCPhys),
287 SSMFIELD_ENTRY_RCPTR( PATM, mmio.pCachedData),
288 SSMFIELD_ENTRY_IGN_RCPTR( PATM, mmio.Alignment0),
289 SSMFIELD_ENTRY_IGN_HCPTR( PATM, savedstate.pSSM),
290 SSMFIELD_ENTRY( PATM, savedstate.cPatches),
291 SSMFIELD_ENTRY_PAD_HC64( PATM, savedstate.Alignment0, sizeof(uint32_t)),
292 SSMFIELD_ENTRY_IGN_HCPTR( PATM, hDbgModPatchMem),
293 SSMFIELD_ENTRY_PAD_HC32( PATM, Alignment0, sizeof(uint32_t)),
294 SSMFIELD_ENTRY_IGNORE( PATM, StatNrOpcodeRead),
295 SSMFIELD_ENTRY_IGNORE( PATM, StatDisabled),
296 SSMFIELD_ENTRY_IGNORE( PATM, StatUnusable),
297 SSMFIELD_ENTRY_IGNORE( PATM, StatEnabled),
298 SSMFIELD_ENTRY_IGNORE( PATM, StatInstalled),
299 SSMFIELD_ENTRY_IGNORE( PATM, StatInstalledFunctionPatches),
300 SSMFIELD_ENTRY_IGNORE( PATM, StatInstalledTrampoline),
301 SSMFIELD_ENTRY_IGNORE( PATM, StatInstalledJump),
302 SSMFIELD_ENTRY_IGNORE( PATM, StatInt3Callable),
303 SSMFIELD_ENTRY_IGNORE( PATM, StatInt3BlockRun),
304 SSMFIELD_ENTRY_IGNORE( PATM, StatOverwritten),
305 SSMFIELD_ENTRY_IGNORE( PATM, StatFixedConflicts),
306 SSMFIELD_ENTRY_IGNORE( PATM, StatFlushed),
307 SSMFIELD_ENTRY_IGNORE( PATM, StatPageBoundaryCrossed),
308 SSMFIELD_ENTRY_IGNORE( PATM, StatMonitored),
309 SSMFIELD_ENTRY_IGNORE( PATM, StatHandleTrap),
310 SSMFIELD_ENTRY_IGNORE( PATM, StatSwitchBack),
311 SSMFIELD_ENTRY_IGNORE( PATM, StatSwitchBackFail),
312 SSMFIELD_ENTRY_IGNORE( PATM, StatPATMMemoryUsed),
313 SSMFIELD_ENTRY_IGNORE( PATM, StatDuplicateREQSuccess),
314 SSMFIELD_ENTRY_IGNORE( PATM, StatDuplicateREQFailed),
315 SSMFIELD_ENTRY_IGNORE( PATM, StatDuplicateUseExisting),
316 SSMFIELD_ENTRY_IGNORE( PATM, StatFunctionFound),
317 SSMFIELD_ENTRY_IGNORE( PATM, StatFunctionNotFound),
318 SSMFIELD_ENTRY_IGNORE( PATM, StatPatchWrite),
319 SSMFIELD_ENTRY_IGNORE( PATM, StatPatchWriteDetect),
320 SSMFIELD_ENTRY_IGNORE( PATM, StatDirty),
321 SSMFIELD_ENTRY_IGNORE( PATM, StatPushTrap),
322 SSMFIELD_ENTRY_IGNORE( PATM, StatPatchWriteInterpreted),
323 SSMFIELD_ENTRY_IGNORE( PATM, StatPatchWriteInterpretedFailed),
324 SSMFIELD_ENTRY_IGNORE( PATM, StatSysEnter),
325 SSMFIELD_ENTRY_IGNORE( PATM, StatSysExit),
326 SSMFIELD_ENTRY_IGNORE( PATM, StatEmulIret),
327 SSMFIELD_ENTRY_IGNORE( PATM, StatEmulIretFailed),
328 SSMFIELD_ENTRY_IGNORE( PATM, StatInstrDirty),
329 SSMFIELD_ENTRY_IGNORE( PATM, StatInstrDirtyGood),
330 SSMFIELD_ENTRY_IGNORE( PATM, StatInstrDirtyBad),
331 SSMFIELD_ENTRY_IGNORE( PATM, StatPatchPageInserted),
332 SSMFIELD_ENTRY_IGNORE( PATM, StatPatchPageRemoved),
333 SSMFIELD_ENTRY_IGNORE( PATM, StatPatchRefreshSuccess),
334 SSMFIELD_ENTRY_IGNORE( PATM, StatPatchRefreshFailed),
335 SSMFIELD_ENTRY_IGNORE( PATM, StatGenRet),
336 SSMFIELD_ENTRY_IGNORE( PATM, StatGenRetReused),
337 SSMFIELD_ENTRY_IGNORE( PATM, StatGenJump),
338 SSMFIELD_ENTRY_IGNORE( PATM, StatGenCall),
339 SSMFIELD_ENTRY_IGNORE( PATM, StatGenPopf),
340 SSMFIELD_ENTRY_IGNORE( PATM, StatCheckPendingIRQ),
341 SSMFIELD_ENTRY_IGNORE( PATM, StatFunctionLookupReplace),
342 SSMFIELD_ENTRY_IGNORE( PATM, StatFunctionLookupInsert),
343 SSMFIELD_ENTRY_IGNORE( PATM, StatU32FunctionMaxSlotsUsed),
344 SSMFIELD_ENTRY_IGNORE( PATM, Alignment0),
733 PATM patmInfo = pVM->patm.s;
754 * Save PATM structure
772 * Save PATM stack page
801 PATM patmInfo;
819 * Restore PATM structure
882 * Restore PATM stack page
1072 /* Correct fixups that refer to PATM structures in the hypervisor region (their addresses might have changed). */
1091 * Correct fixups to predefined hypervisor PATM regions. (their addresses might have changed)
1096 * @param patmInfo Saved PATM structure
1102 static int patmCorrectFixup(PVM pVM, unsigned uVersion, PATM &patmInfo, PPATCHINFO pPatch, PRELOCREC pRec,
1375 AssertLogRelMsgFailedReturn(("Unsupported PATM fixup. You have to discard this saved state or snapshot."),
1391 AssertLogRelMsgFailedReturn(("Unsupported PATM fixup. You have to discard this saved state or snapshot."),
1488 Log(("PATM: Patch jump was overwritten -> disabling patch!!\n"));