Changeset 8042 in vbox for trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
- Timestamp:
- Apr 16, 2008 1:50:43 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
r8034 r8042 41 41 /* Filter out some illegal combinations of guest and shadow paging, so we can remove redundant checks inside functions. */ 42 42 #if PGM_GST_TYPE == PGM_TYPE_PAE && PGM_SHW_TYPE != PGM_TYPE_PAE 43 # error "Invalid combination; PAE guest implies PAE shadow"43 # error "Invalid combination; PAE guest implies PAE shadow" 44 44 #endif 45 45 46 46 #if (PGM_GST_TYPE == PGM_TYPE_REAL || PGM_GST_TYPE == PGM_TYPE_PROT) \ 47 47 && !(PGM_SHW_TYPE == PGM_TYPE_32BIT || PGM_SHW_TYPE == PGM_TYPE_PAE) 48 # error "Invalid combination; real or protected mode without paging implies 32 bits or PAE shadow paging."48 # error "Invalid combination; real or protected mode without paging implies 32 bits or PAE shadow paging." 49 49 #endif 50 50 51 51 #if (PGM_GST_TYPE == PGM_TYPE_32BIT || PGM_GST_TYPE == PGM_TYPE_PAE) \ 52 52 && !(PGM_SHW_TYPE == PGM_TYPE_32BIT || PGM_SHW_TYPE == PGM_TYPE_PAE) 53 # error "Invalid combination; 32 bits guest paging or PAE implies 32 bits or PAE shadow paging."53 # error "Invalid combination; 32 bits guest paging or PAE implies 32 bits or PAE shadow paging." 54 54 #endif 55 55 56 56 #if (PGM_GST_TYPE == PGM_TYPE_AMD64 && PGM_SHW_TYPE != PGM_TYPE_AMD64) 57 57 || (PGM_SHW_TYPE == PGM_TYPE_AMD64 && PGM_GST_TYPE != PGM_TYPE_AMD64) 58 # error "Invalid combination; AMD64 guest implies AMD64 shadow and vice versa"58 # error "Invalid combination; AMD64 guest implies AMD64 shadow and vice versa" 59 59 #endif 60 60 61 61 #ifdef IN_RING0 /* no mappings in VT-x and AMD-V mode */ 62 # define PGM_WITHOUT_MAPPINGS62 # define PGM_WITHOUT_MAPPINGS 63 63 #endif 64 64 … … 842 842 PX86PDPAE pPDSrc = pgmGstGetPaePDPtr(&pVM->pgm.s, GCPtrPage, &iPDSrc); 843 843 GSTPDE PdeSrc; 844 844 845 845 if (pPDSrc) 846 846 PdeSrc = pPDSrc->a[iPDSrc]; … … 1671 1671 || (fNoExecuteBitValid && (uErr & X86_TRAP_PF_ID) && pPdpeSrc->n.u1NoExecute) 1672 1672 || (fWriteFault && !pPdpeSrc->n.u1Write && (fUserLevelFault || fWriteProtect)) 1673 || (fUserLevelFault && !pPdpeSrc->n.u1User) 1673 || (fUserLevelFault && !pPdpeSrc->n.u1User) 1674 1674 # endif 1675 1675 ) … … 1995 1995 # else /* PGM_WITHOUT_MAPPINGS */ 1996 1996 Assert(!pgmMapAreMappingsEnabled(&pVM->pgm.s)); 1997 # endif /* !PGM_WITHOUT_MAPPINGS */1997 # endif /* PGM_WITHOUT_MAPPINGS */ 1998 1998 Assert(!PdeDst.n.u1Present); /* We're only supposed to call SyncPT on PDE!P and conflicts.*/ 1999 1999 … … 2736 2736 && (PdeSrc.n.u1User || fRawR0Enabled)) 2737 2737 { 2738 # if ( PGM_GST_TYPE == PGM_TYPE_32BIT \2739 || PGM_GST_TYPE == PGM_TYPE_PAE)\2738 # if ( PGM_GST_TYPE == PGM_TYPE_32BIT \ 2739 || PGM_GST_TYPE == PGM_TYPE_PAE) \ 2740 2740 && !defined(PGM_WITHOUT_MAPPINGS) 2741 2741 … … 2780 2780 # endif 2781 2781 } 2782 # else /* PGM_GST_TYPE != PGM_TYPE_32BIT && PGM_GST_TYPE != PGM_TYPE_PAE &&PGM_WITHOUT_MAPPINGS */2782 # else /* (PGM_GST_TYPE != PGM_TYPE_32BIT && PGM_GST_TYPE != PGM_TYPE_PAE) || PGM_WITHOUT_MAPPINGS */ 2783 2783 Assert(!pgmMapAreMappingsEnabled(&pVM->pgm.s)); 2784 # endif /* (PGM_GST_TYPE == PGM_TYPE_32BIT || PGM_GST_TYPE == PGM_TYPE_PAE) && !PGM_WITHOUT_MAPPINGS */2784 # endif /* (PGM_GST_TYPE != PGM_TYPE_32BIT && PGM_GST_TYPE != PGM_TYPE_PAE) || PGM_WITHOUT_MAPPINGS */ 2785 2785 /* 2786 2786 * Sync page directory entry. … … 2898 2898 else 2899 2899 { 2900 # if ( PGM_GST_TYPE == PGM_TYPE_32BIT \2901 ||PGM_GST_TYPE == PGM_TYPE_PAE) \2900 # if ( PGM_GST_TYPE == PGM_TYPE_32BIT \ 2901 || PGM_GST_TYPE == PGM_TYPE_PAE) \ 2902 2902 && !defined(PGM_WITHOUT_MAPPINGS) 2903 2903 … … 2961 2961 AssertCompile(PGM_GST_TYPE == PGM_TYPE_32BIT && PGM_SHW_TYPE == PGM_TYPE_PAE); 2962 2962 # endif 2963 # else /* PGM_GST_TYPE != PGM_TYPE_32BIT && PGM_GST_TYPE != PGM_TYPE_PAE &&PGM_WITHOUT_MAPPINGS */2963 # else /* (PGM_GST_TYPE != PGM_TYPE_32BIT && PGM_GST_TYPE != PGM_TYPE_PAE) || PGM_WITHOUT_MAPPINGS */ 2964 2964 Assert(!pgmMapAreMappingsEnabled(&pVM->pgm.s)); 2965 # endif /* (PGM_GST_TYPE == PGM_TYPE_32BIT || PGM_GST_TYPE == PGM_TYPE_PAE) && !PGM_WITHOUT_MAPPINGS */2965 # endif /* (PGM_GST_TYPE != PGM_TYPE_32BIT && PGM_GST_TYPE != PGM_TYPE_PAE) || PGM_WITHOUT_MAPPINGS */ 2966 2966 } 2967 2967 … … 3089 3089 AssertMsg( pVM->pgm.s.apGstPaePDsHC[i] == (R3R0PTRTYPE(PX86PDPAE))HCPtr 3090 3090 && pVM->pgm.s.aGCPhysGstPaePDs[i] == GCPhys, 3091 ("idx %d apGstPaePDsHC %VHv vs %VHv aGCPhysGstPaePDs %VGp vs %VGp\n", 3091 ("idx %d apGstPaePDsHC %VHv vs %VHv aGCPhysGstPaePDs %VGp vs %VGp\n", 3092 3092 i, pVM->pgm.s.apGstPaePDsHC[i], HCPtr, pVM->pgm.s.aGCPhysGstPaePDs[i], GCPhys)); 3093 3093 }
Note:
See TracChangeset
for help on using the changeset viewer.