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