kernel/eka/memmodel/epoc/multiple/x86/xkernel.cpp
changeset 286 48e57fb1237e
parent 0 a41df078684a
equal deleted inserted replaced
285:ff5437e4337c 286:48e57fb1237e
   156 	{
   156 	{
   157 	Mmu& m=Mmu::Get();
   157 	Mmu& m=Mmu::Get();
   158 	if(iChunkType==ESharedKernelSingle || iChunkType==ESharedKernelMultiple || iChunkType==ESharedIo || iChunkType==ESharedKernelMirror)
   158 	if(iChunkType==ESharedKernelSingle || iChunkType==ESharedKernelMultiple || iChunkType==ESharedIo || iChunkType==ESharedKernelMirror)
   159 		{
   159 		{
   160 		// override map attributes for shared kernel chunks
   160 		// override map attributes for shared kernel chunks
   161 		TUint ma = (iMapAttr &~ EMapAttrAccessMask) | (iChunkType==ESharedKernelMirror?EMapAttrSupRw:EMapAttrUserRw);
   161 		TBool kernelMirror = iChunkType == ESharedKernelMirror;
   162 		TInt r = m.PdePtePermissions(ma, iPdePermissions, iPtePermissions);
   162 		TUint ma = (iMapAttr &~ EMapAttrAccessMask) | ((kernelMirror)? EMapAttrSupRw : EMapAttrUserRw);
       
   163 		TInt r = m.PdePtePermissions(ma, iPdePermissions, iPtePermissions, kernelMirror);
   163 		if (r != KErrNone)
   164 		if (r != KErrNone)
   164 			return r;
   165 			return r;
   165 		iMapAttr = ma;
   166 		iMapAttr = ma;
   166 		}
   167 		}
   167 	else
   168 	else