diff -r 000000000000 -r 96e5fb8b040d kernel/eka/memmodel/epoc/direct/x86/xkernel.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kernel/eka/memmodel/epoc/direct/x86/xkernel.cpp Thu Dec 17 09:24:54 2009 +0200 @@ -0,0 +1,61 @@ +// Copyright (c) 1994-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// e32\memmodel\epoc\direct\x86\xkernel.cpp +// +// + +#include + +/******************************************** + * Thread + ********************************************/ + +TInt DX86PlatThread::SetupContext(SThreadCreateInfo& anInfo) + { + return KErrNone; + } + +DX86PlatProcess::DX86PlatProcess() + {} + +DX86PlatProcess::~DX86PlatProcess() + { + __KTRACE_OPT(KMMU,Kern::Printf("DX86PlatProcess destruct")); + DMemModelProcess::Destruct(); + } + +TBool Exc::IsMagic(TLinAddr /*anAddress*/) +// +// Return TRUE if anAddress is a 'magic' exception handling instruction +// + { + return EFalse; + } + +void DThread::IpcExcHandler(TExcTrap* aTrap, DThread* aThread, TAny* aContext) + { + aThread->iIpcClient = 0; + TIpcExcTrap& xt=*(TIpcExcTrap*)aTrap; + TX86ExcInfo& info=*(TX86ExcInfo*)aContext; + if (info.iExcId==EX86VectorPageFault) + { + TLinAddr va=(TLinAddr)info.iFaultAddress; + if (va>=xt.iRemoteBase && (va-xt.iRemoteBase)=xt.iLocalBase && (va-xt.iLocalBase)