201035
authorhgs
Mon, 06 Sep 2010 15:00:47 +0300
changeset 50 827f48a8fbdf
parent 42 0ff24a8f6ca2
201035
perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanStack.h
perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanThreadAndProcess.h
perfsrv/memspy/MemSpyClient/inc/memspythreaddata.h
perfsrv/piprofiler/rom/piprofiler_s2.iby
perfsrv/piprofiler/symbian_version.hrh
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanStack.h	Mon Sep 06 15:00:47 2010 +0300
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+*/
+
+#ifndef MEMSPYDRIVERLOGICALCHANSTACK_H
+#define MEMSPYDRIVERLOGICALCHANSTACK_H
+
+// System includes
+#include <e32cmn.h>
+#include <kernel.h>
+
+// Shared includes
+#include <memspy/driver/memspydriverenumerationsshared.h>
+
+// User includes
+#include "MemSpyDriverLogChanBase.h"
+
+// Classes referenced
+class DMemSpyDriverDevice;
+class TMemSpyDriverStackInfo;
+class TMemSpyDriverInternalStackDataParams;
+
+
+
+class DMemSpyDriverLogChanStack : public DMemSpyDriverLogChanBase
+	{
+public:
+	DMemSpyDriverLogChanStack( DMemSpyDriverDevice& aDevice, DThread& aThread );
+	~DMemSpyDriverLogChanStack();
+
+public: // From DMemSpyDriverLogChanBase
+	TInt Request( TInt aFunction, TAny* a1, TAny* a2 );
+    TBool IsHandler( TInt aFunction ) const;
+
+private: // Channel operation handlers
+    TInt GetStackData( TMemSpyDriverInternalStackDataParams* aParams );
+    TInt GetStackInfo( TUint aTid, TMemSpyDriverStackInfo* aParams );
+
+private: // Internal methods
+    void GetStackPointers( DThread* aThread, TUint& aSupSP, TUint& aUsrSP );
+    TInt GetStackHighWatermark( DThread& aThread, TLinAddr& aHighWaterMark, TMemSpyDriverDomainType aDomain, TUint aRune );
+    TInt ReadStackData( DThread& aThread, TDes8& aDestination, TUint8*& aReadAddress, TMemSpyDriverDomainType aDomain );
+    TLinAddr GetStackPointerByDomain( DThread* aThread, TMemSpyDriverDomainType aDomainType );
+
+private: // Data members
+	};
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/perfsrv/memspy/Driver/Kernel/Include/SubChannels/MemSpyDriverLogChanThreadAndProcess.h	Mon Sep 06 15:00:47 2010 +0300
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+*/
+
+#ifndef MEMSPYDRIVERLOGICALCHANTHREADANDPROCESS_H
+#define MEMSPYDRIVERLOGICALCHANTHREADANDPROCESS_H
+
+// System includes
+#include <e32cmn.h>
+#include <kern_priv.h>
+
+// User includes
+#include "MemSpyDriverLogChanBase.h"
+
+// Classes referenced
+class DMemSpyDriverDevice;
+class TMemSpyDriverProcessInfo;
+class TMemSpyDriverInternalThreadInfoParams;
+
+
+class DMemSpyDriverLogChanThreadAndProcess : public DMemSpyDriverLogChanBase
+	{
+public:
+	DMemSpyDriverLogChanThreadAndProcess( DMemSpyDriverDevice& aDevice, DThread& aThread );
+	~DMemSpyDriverLogChanThreadAndProcess();
+    TInt Construct();
+
+public: // From DMemSpyDriverLogChanBase
+	TInt Request( TInt aFunction, TAny* a1, TAny* a2 );
+    TBool IsHandler( TInt aFunction ) const;
+
+private: // Channel operation handlers
+	TInt GetInfoThread(TUint aTid, TMemSpyDriverInternalThreadInfoParams* aParams );
+	TInt GetInfoProcess(TUint aTid, TMemSpyDriverProcessInfo* aParams );
+    TInt EndThread( TUint aId, TExitType aType );
+    TInt OpenThread( TUint aId );
+    TInt OpenProcess( TUint aId );
+    TInt SuspendAllThreadsInProcess( TUint aPid );
+    TInt ResumeAllThreadsInProcess( TUint aPid );
+    TInt GetThreadsForProcess( TUint aPid, TDes8* aBufferSink );
+    TInt SetPriority( TUint aTid, TThreadPriority aPriority );
+
+private: // Internal methods
+    static TInt MapToMemSpyExitReason( TExitType aType );
+
+private: // Data members
+	};
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/perfsrv/memspy/MemSpyClient/inc/memspythreaddata.h	Mon Sep 06 15:00:47 2010 +0300
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+*/
+
+#ifndef MEMSPYTHREADDATA_H
+#define MEMSPYTHREADDATA_H
+
+//#include <kernel/arm/arm_types.h>
+
+class TMemSpyThreadData {
+public:
+	TMemSpyThreadData()
+	: iId(0), iPid(0), iSID(0), iVID(0), iRequestCount(0), iThreadHandles(0), iProcessHandles(0), iThreadNumberUsing(0), 
+	  iProcessNumberUsing(0), iAttributes(0), iCpuUse(0)
+		{
+		}
+	
+public:
+    TThreadId iId;
+    TProcessId iPid;    
+    TFullName iName;    //name without formatting. Formatting to be moved to the Avkon UI part
+    TInt iSID;
+    TInt iVID;
+    TThreadPriority iThreadPriority;
+    TProcessPriority iProcessPriority;
+    TInt iRequestCount;
+    TInt iThreadHandles;
+    TInt iProcessHandles;
+    TInt iThreadNumberUsing;
+    TInt iProcessNumberUsing;
+    TInt iAttributes;
+    TInt iCpuUse;        
+    TExitType iExitType;
+    RArray<TUint> iRegisters; //containts register contents of the thread (R00-R12, SP, LR, PC, Flags & DACR) - TUint for formating to HEX    
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/perfsrv/piprofiler/rom/piprofiler_s2.iby	Mon Sep 06 15:00:47 2010 +0300
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:  
+*
+*/
+
+
+#ifndef __PIPROFILER__
+#define __PIPROFILER__
+
+// PI Profiler Engine itself 
+file=ABI_DIR\BUILD_DIR\PIProfilerEngine.exe						sys\bin\PIProfilerEngine.exe
+file=ABI_DIR\BUILD_DIR\PIProfiler.exe							sys\bin\PIProfiler.exe
+
+// sampler plugins
+// NOTE: Mandatory kernel driver included in piprofiler_ldd.iby
+ECOM_PLUGIN(PIProfilerGenerals.dll, PIProfilerGenerals.rsc)
+
+ECOM_PLUGIN(PIProfilerBUP.dll, PIProfilerBUP.rsc)
+file=ABI_DIR\BUILD_DIR\PIProfilerTouchEventAnim.dll				sys\bin\PIProfilerTouchEventAnim.dll
+
+// Writer plugins
+ECOM_PLUGIN(piprofilerdebugwriter.dll, piprofilerdebugwriter.rsc)
+ECOM_PLUGIN(piprofilerdiskwriter.dll, piprofilerdiskwriter.rsc)
+
+#endif //__PIPROFILER__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/perfsrv/piprofiler/symbian_version.hrh	Mon Sep 06 15:00:47 2010 +0300
@@ -0,0 +1,43 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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: Symbian version configuration file 
+*
+*/
+
+#ifndef __SYMBIAN_VERSION_HRH
+#define __SYMBIAN_VERSION_HRH
+
+// S60 and Symbian version number enumeration definitions
+
+#define S60_30                                              30
+#define S60_31                                              31
+#define S60_32                                              32
+#define S60_50                                              50
+#define S60_51                                              91
+#define S60_52                                              92
+#define SYMBIAN_1                                           50
+#define SYMBIAN_2                                           91
+#define SYMBIAN_3                                           92
+#define SYMBIAN_4                                           101
+
+
+/**
+ * Defines the S60 or Symbian version used by this component. This flag can be
+ * used to variate the source code based on the SDK in use. The value of the
+ * flag should be always changed to reflect the current build environment.
+ */
+#define SYMBIAN_VERSION_SUPPORT                              SYMBIAN_4
+
+
+#endif  // __SYMBIAN_VERSION_HRH