Changeset 16424 in vbox
- Timestamp:
- Jan 30, 2009 3:51:58 PM (16 years ago)
- File:
-
- 1 edited
-
trunk/src/VBox/VMM/VMMAll/PGMAllBth.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
r16419 r16424 2921 2921 # elif PGM_GST_TYPE == PGM_TYPE_PAE 2922 2922 unsigned iPDSrc; 2923 # ifdef VBOX_WITH_PGMPOOL_PAGING_ONLY 2924 X86PDPE PdpeSrc; 2925 PGSTPD pPDSrc = pgmGstGetPaePDPtr(&pVM->pgm.s, GCPtrPage, &iPDSrc, &PdpeSrc); 2926 # else 2923 2927 PGSTPD pPDSrc = pgmGstGetPaePDPtr(&pVM->pgm.s, GCPtrPage, &iPDSrc, NULL); 2928 # endif /* VBOX_WITH_PGMPOOL_PAGING_ONLY */ 2924 2929 if (!pPDSrc) 2925 2930 return VINF_SUCCESS; /* not present */ … … 2950 2955 const X86PDE PdeDst = pgmShwGet32BitPDE(&pVM->pgm.s, GCPtrPage); 2951 2956 # elif PGM_SHW_TYPE == PGM_TYPE_PAE 2957 # ifdef VBOX_WITH_PGMPOOL_PAGING_ONLY 2958 const unsigned iPDDst = ((GCPtrPage >> SHW_PD_SHIFT) & SHW_PD_MASK); 2959 PX86PDPAE pPDDst; 2960 X86PDEPAE PdeDst; 2961 # if PGM_GST_TYPE != PGM_TYPE_PAE 2962 X86PDPE PdpeSrc; 2963 2964 /* Fake PDPT entry; access control handled on the page table level, so allow everything. */ 2965 PdpeSrc.u = X86_PDPE_P | X86_PDPE_RW | X86_PDPE_US | X86_PDPE_A; 2966 # endif 2967 int rc = pgmShwSyncPaePDPtr(pVM, GCPtrPage, &PdpeSrc, &pPDDst); 2968 if (rc != VINF_SUCCESS) 2969 { 2970 AssertRC(rc); 2971 return rc; 2972 } 2973 Assert(pPDDst); 2974 PdeDst = pPDDst->a[iPDDst]; 2975 # else 2952 2976 const X86PDEPAE PdeDst = pgmShwGetPaePDE(&pVM->pgm.s, GCPtrPage); 2977 # endif /* VBOX_WITH_PGMPOOL_PAGING_ONLY */ 2978 2953 2979 # elif PGM_SHW_TYPE == PGM_TYPE_AMD64 2954 2980 const unsigned iPDDst = ((GCPtrPage >> SHW_PD_SHIFT) & SHW_PD_MASK);
Note:
See TracChangeset
for help on using the changeset viewer.

