vbox的更動 44399 路徑 trunk/src/VBox/VMM/VMMR3/PGMDbg.cpp
- 時間撮記:
- 2013-1-27 下午09:12:53 (12 年 以前)
- 檔案:
-
- 修改 1 筆資料
圖例:
- 未更動
- 新增
- 刪除
-
trunk/src/VBox/VMM/VMMR3/PGMDbg.cpp
r41965 r44399 5 5 6 6 /* 7 * Copyright (C) 2006-201 0Oracle Corporation7 * Copyright (C) 2006-2013 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 24 24 #include "PGMInternal.h" 25 25 #include <VBox/vmm/vm.h> 26 #include <VBox/vmm/uvm.h> 26 27 #include "PGMInline.h" 27 28 #include <iprt/assert.h> … … 103 104 * @retval VERR_INVALID_POINTER if the pointer is not within the GC physical memory. 104 105 * 105 * @param p VM Pointer to the VM.106 * @param pUVM The user mode VM handle. 106 107 * @param R3Ptr The R3 pointer to convert. 107 108 * @param pGCPhys Where to store the GC physical address on success. 108 109 */ 109 VMMR3DECL(int) PGMR3DbgR3Ptr2GCPhys(P VM pVM, RTR3PTR R3Ptr, PRTGCPHYS pGCPhys)110 { 111 NOREF(p VM); NOREF(R3Ptr);110 VMMR3DECL(int) PGMR3DbgR3Ptr2GCPhys(PUVM pUVM, RTR3PTR R3Ptr, PRTGCPHYS pGCPhys) 111 { 112 NOREF(pUVM); NOREF(R3Ptr); 112 113 *pGCPhys = NIL_RTGCPHYS; 113 114 return VERR_NOT_IMPLEMENTED; … … 125 126 * @retval VERR_INVALID_POINTER if the pointer is not within the GC physical memory. 126 127 * 127 * @param p VM Pointer to the VM.128 * @param pUVM The user mode VM handle. 128 129 * @param R3Ptr The R3 pointer to convert. 129 130 * @param pHCPhys Where to store the HC physical address on success. 130 131 */ 131 VMMR3DECL(int) PGMR3DbgR3Ptr2HCPhys(P VM pVM, RTR3PTR R3Ptr, PRTHCPHYS pHCPhys)132 { 133 NOREF(p VM); NOREF(R3Ptr);132 VMMR3DECL(int) PGMR3DbgR3Ptr2HCPhys(PUVM pUVM, RTR3PTR R3Ptr, PRTHCPHYS pHCPhys) 133 { 134 NOREF(pUVM); NOREF(R3Ptr); 134 135 *pHCPhys = NIL_RTHCPHYS; 135 136 return VERR_NOT_IMPLEMENTED; … … 146 147 * @retval VERR_INVALID_POINTER if the HC physical address is not within the GC physical memory. 147 148 * 148 * @param p VM Pointer to the VM.149 * @param pUVM The user mode VM handle. 149 150 * @param HCPhys The HC physical address to convert. 150 151 * @param pGCPhys Where to store the GC physical address on success. 151 152 */ 152 VMMR3DECL(int) PGMR3DbgHCPhys2GCPhys(PVM pVM, RTHCPHYS HCPhys, PRTGCPHYS pGCPhys) 153 { 153 VMMR3DECL(int) PGMR3DbgHCPhys2GCPhys(PUVM pUVM, RTHCPHYS HCPhys, PRTGCPHYS pGCPhys) 154 { 155 UVM_ASSERT_VALID_EXT_RETURN(pUVM, VERR_INVALID_VM_HANDLE); 156 VM_ASSERT_VALID_EXT_RETURN(pUVM->pVM, VERR_INVALID_VM_HANDLE); 157 154 158 /* 155 159 * Validate and adjust the input a bit. … … 162 166 return VERR_INVALID_POINTER; 163 167 164 for (PPGMRAMRANGE pRam = p VM->pgm.s.CTX_SUFF(pRamRangesX);168 for (PPGMRAMRANGE pRam = pUVM->pVM->pgm.s.CTX_SUFF(pRamRangesX); 165 169 pRam; 166 170 pRam = pRam->CTX_SUFF(pNext)) … … 193 197 * @todo Unused? 194 198 */ 195 VMMR3 DECL(int) PGMR3DbgReadGCPhys(PVM pVM, void *pvDst, RTGCPHYS GCPhysSrc, size_t cb, uint32_t fFlags, size_t *pcbRead)199 VMMR3_INT_DECL(int) PGMR3DbgReadGCPhys(PVM pVM, void *pvDst, RTGCPHYS GCPhysSrc, size_t cb, uint32_t fFlags, size_t *pcbRead) 196 200 { 197 201 /* validate */ … … 244 248 * @todo Unused? 245 249 */ 246 VMMR3 DECL(int) PGMR3DbgWriteGCPhys(PVM pVM, RTGCPHYS GCPhysDst, const void *pvSrc, size_t cb, uint32_t fFlags, size_t *pcbWritten)250 VMMR3_INT_DECL(int) PGMR3DbgWriteGCPhys(PVM pVM, RTGCPHYS GCPhysDst, const void *pvSrc, size_t cb, uint32_t fFlags, size_t *pcbWritten) 247 251 { 248 252 /* validate */ … … 295 299 * @todo Unused? 296 300 */ 297 VMMR3 DECL(int) PGMR3DbgReadGCPtr(PVM pVM, void *pvDst, RTGCPTR GCPtrSrc, size_t cb, uint32_t fFlags, size_t *pcbRead)301 VMMR3_INT_DECL(int) PGMR3DbgReadGCPtr(PVM pVM, void *pvDst, RTGCPTR GCPtrSrc, size_t cb, uint32_t fFlags, size_t *pcbRead) 298 302 { 299 303 /* validate */ … … 351 355 * @todo Unused? 352 356 */ 353 VMMR3 DECL(int) PGMR3DbgWriteGCPtr(PVM pVM, RTGCPTR GCPtrDst, void const *pvSrc, size_t cb, uint32_t fFlags, size_t *pcbWritten)357 VMMR3_INT_DECL(int) PGMR3DbgWriteGCPtr(PVM pVM, RTGCPTR GCPtrDst, void const *pvSrc, size_t cb, uint32_t fFlags, size_t *pcbWritten) 354 358 { 355 359 /* validate */ … … 570 574 * @param pGCPhysHit Where to store the address of the first occurrence on success. 571 575 */ 572 VMMR3 DECL(int) PGMR3DbgScanPhysical(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cbRange, RTGCPHYS GCPhysAlign,573 const uint8_t *pabNeedle, size_t cbNeedle, PRTGCPHYS pGCPhysHit)576 VMMR3_INT_DECL(int) PGMR3DbgScanPhysical(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cbRange, RTGCPHYS GCPhysAlign, 577 const uint8_t *pabNeedle, size_t cbNeedle, PRTGCPHYS pGCPhysHit) 574 578 { 575 579 /* … … 730 734 * @param pGCPtrHit Where to store the address of the first occurrence on success. 731 735 */ 732 VMMR3 DECL(int) PGMR3DbgScanVirtual(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, RTGCPTR cbRange, RTGCPTR GCPtrAlign,733 const uint8_t *pabNeedle, size_t cbNeedle, PRTGCUINTPTR pGCPtrHit)736 VMMR3_INT_DECL(int) PGMR3DbgScanVirtual(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, RTGCPTR cbRange, RTGCPTR GCPtrAlign, 737 const uint8_t *pabNeedle, size_t cbNeedle, PRTGCUINTPTR pGCPtrHit) 734 738 { 735 739 VMCPU_ASSERT_EMT(pVCpu); … … 1038 1042 char szPage[80]; 1039 1043 RTGCPHYS GCPhys; 1040 int rc = PGMR3DbgHCPhys2GCPhys(pState->pVM , HCPhys, &GCPhys);1044 int rc = PGMR3DbgHCPhys2GCPhys(pState->pVM->pUVM, HCPhys, &GCPhys); 1041 1045 if (RT_SUCCESS(rc)) 1042 1046 { … … 1681 1685 fFlags |= DBGFPGDMP_FLAGS_LME; 1682 1686 1683 return DBGFR3PagingDumpEx(pVM , pVCpu->idCpu, fFlags, cr3, 0, fLongMode ? UINT64_MAX : UINT32_MAX, cMaxDepth, pHlp);1687 return DBGFR3PagingDumpEx(pVM->pUVM, pVCpu->idCpu, fFlags, cr3, 0, fLongMode ? UINT64_MAX : UINT32_MAX, cMaxDepth, pHlp); 1684 1688 } 1685 1689
注意:
瀏覽 TracChangeset
來幫助您使用更動檢視器