kernel/eka/memmodel/epoc/multiple/x86/xmonitor.cpp
changeset 279 957c583b417b
parent 0 a41df078684a
--- a/kernel/eka/memmodel/epoc/multiple/x86/xmonitor.cpp	Tue Sep 28 15:28:31 2010 +0100
+++ b/kernel/eka/memmodel/epoc/multiple/x86/xmonitor.cpp	Mon Oct 04 12:03:52 2010 +0100
@@ -64,8 +64,10 @@
 
 	const TPde* kpd=(const TPde*)KPageDirectoryBase;
 	const TPde* ppd=(const TPde*)(KPageDirectoryBase+(aProcess->iOsAsid<<KPageTableShift));
-	if (!PdesEqual(kpd, ppd, KRomLinearBase, KUserGlobalDataEnd) ||		// ROM + user global
-		!PdesEqual(kpd, ppd, KRamDriveEndAddress, 0x00000000))			// kernel mappings
+	if (!PdesEqual(kpd, ppd, KRomLinearBase, KUserGlobalDataEnd)		||	// ROM + user global
+		!PdesEqual(kpd, ppd, KRamDriveEndAddress, KIPCAlias)			||	// kernel mappings other than IPC aliases
+		!PdesEqual(kpd, ppd, KIPCAlias+KIPCAliasAreaSize, 0x00000000u)		// kernel mappings other than IPC aliases
+		)			// kernel mappings
 		{
 		if (!aForce)
 			return KErrCorrupt;