First pass at stripping down the system startup (currently boots to a white screen responding to key input, but at least doesn't panic or go into shutdown) system_startup
authorTom Pritchard <tomp@symbian.org>
Wed, 13 Oct 2010 12:07:40 +0100
branchsystem_startup
changeset 30 292fee808849
parent 24 4bdc3581e65c
child 31 f56b9efb7155
First pass at stripping down the system startup (currently boots to a white screen responding to key input, but at least doesn't panic or go into shutdown)
group/bld.inf
startup/ssmstartuppolicy.cpp
startup/ssmstartuppolicy.mmp
startup/stem_criticalappscmdlist.rss
startup/stem_noncriticalcmdlist.rss
startup/stem_uiservicescmdlist.rss
syborg_stem/rom_content.csv
syborg_stem/syborg_stem_rom.oby
--- a/group/bld.inf	Mon Oct 11 22:35:41 2010 +0100
+++ b/group/bld.inf	Wed Oct 13 12:07:40 2010 +0100
@@ -20,5 +20,6 @@
 DEFAULT
 
 PRJ_MMPFILES
-..\startup\ssmcmdlists
+..\startup\ssmcmdlists.mmp
+..\startup\ssmstartuppolicy.mmp
 ..\breakdeps\backend.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/startup/ssmstartuppolicy.cpp	Wed Oct 13 12:07:40 2010 +0100
@@ -0,0 +1,400 @@
+/*
+* 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: Implementation of CSsmStartupPolicy class.
+*
+*/
+
+#include <centralrepository.h>
+#include <e32property.h>
+#include <e32uid.h>
+#include <featmgr.h>
+#include <ssm/ssmdomaindefs.h>
+#include <ssm/ssmcmd.hrh>
+#include <ssm/ssmcommandlistresourcereader.h>
+#include <ssm/ssmstate.h>
+#include <ssm/ssmstateawaresession.h>
+#include <ssm/ssmstatetransition.h>
+#include <ssm/startupdomainpskeys.h>
+
+#include "ssmsubstateext.hrh"
+#include "ssmmapperutility.h"
+#include "ssmmapperutilitystatic.h"
+#include "ssmstartuppolicy.h"
+#include "ssmpolicypluginsprivatecrkeys.h"
+#include "trace.h"
+
+/**
+* Start-up state policy resource file path format :
+* "\private\<SID of SSM>\startup\<Value of KSystemStartupModeKey>\"
+*/
+_LIT( KCommandListPath, "Z:\\private\\2000D75B\\startup\\%d\\" );
+
+// ======== LOCAL FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// GetStartupMode
+// ---------------------------------------------------------------------------
+//
+static TInt GetStartupMode()
+    {
+    FUNC_LOG;
+
+    TInt startupMode( EStartupModeNormal );
+    TInt errorCode = RProperty::Get(
+        SsmMapperUtility::PsUid( KPSUidStartup ), KPSGlobalStartupMode, startupMode );
+    ERROR( errorCode, "Failed to read startup mode from P&S" );
+    INFO_1( "Startup mode is %d", startupMode );
+    return startupMode;
+    }
+
+
+// ---------------------------------------------------------------------------
+// DecideStateByStartupMode
+// ---------------------------------------------------------------------------
+//
+static TSsmStartupSubStateExt DecideStateByStartupMode()
+    {
+    FUNC_LOG;
+
+    TInt startupMode( GetStartupMode() );
+    TSsmStartupSubStateExt nextState( ESsmStateSecurityCheck );
+    switch ( startupMode )
+        {
+        case EStartupModeTest:
+            nextState = ESsmStateTest;
+            break;
+        case EStartupModeAlarm:
+            nextState = ESsmStateAlarm;
+            break;
+        case EStartupModeCharging:
+            nextState = ESsmStateCharging;
+            break;
+        default:
+            break;
+        }
+
+    return nextState;
+    }
+
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// CSsmStartupPolicy::NewL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C MSsmStatePolicy* CSsmStartupPolicy::NewL()
+    {
+    CSsmStartupPolicy* self = new( ELeave ) CSsmStartupPolicy;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// ---------------------------------------------------------------------------
+// CSsmStartupPolicy::~CSsmStartupPolicy
+// ---------------------------------------------------------------------------
+//
+CSsmStartupPolicy::~CSsmStartupPolicy()
+    {
+    FUNC_LOG;
+    }
+
+
+// ---------------------------------------------------------------------------
+// CSsmStartupPolicy::GetNextState
+// ---------------------------------------------------------------------------
+//
+// TomP - We've simplified this: we now only have 3 sub-states: PreUIServices StartingUIServices and StartingCriticalApps
+// After that we'll drop into the Normal state which with it's 1 sub-state: NonCritcalApps
+TBool CSsmStartupPolicy::GetNextState(
+    TSsmState aCurrentTransition,
+    TInt /*aReason*/,
+    TInt aError,
+    TInt aSeverity,
+    TSsmState& aNextState )
+    {
+    FUNC_LOG;
+    INFO_2( "Current state %04x.%04x",
+        aCurrentTransition.MainState(), aCurrentTransition.SubState() );
+    ERROR_1( aError, "State transition resulted in an error, severity %d", aSeverity );
+	ASSERT_TRACE( aCurrentTransition.MainState() == ESsmStartup );
+
+	TBool moreToCome = EFalse;
+	if ( aError == KErrNone || aSeverity < ECmdHighSeverity )
+		{
+		switch( aCurrentTransition.SubState() )
+			{
+			case KSsmAnySubState:
+			case ESsmStatePreUiServices:
+				aNextState = TSsmState( ESsmStartup, ESsmStateStartingUiServices );
+				moreToCome = ETrue;
+				break;
+			case ESsmStateStartingUiServices:
+				aNextState = TSsmState( ESsmStartup, ESsmStateStartingCriticalApps );
+				moreToCome = ETrue;
+				break;
+			case ESsmStateStartingCriticalApps:
+				//TomP aNextState = TSsmState( ESsmStartup, ESsmStateSelfTestOK );
+				moreToCome = EFalse;
+				break;
+/*TomP		
+			case ESsmStateSelfTestOK:
+				aNextState = TSsmState( ESsmStartup, DecideStateByStartupMode() );
+				moreToCome = ETrue;
+				break;
+			case ESsmStateChargingToNormal:
+			case ESsmStateAlarmToNormal:
+				aNextState = TSsmState( ESsmStartup, ESsmStateSecurityCheck );
+				moreToCome = ETrue;
+				break;
+			case ESsmStateSecurityCheck:
+				aNextState = TSsmState( ESsmStartup, SelectStateAfterSecurityCheck() );
+				moreToCome = ETrue;
+				break;
+			case ESsmStateChargingToAlarm:
+				aNextState = TSsmState( ESsmStartup, ESsmStateAlarm );
+				moreToCome = ETrue;
+				break;
+			case ESsmStateAlarmToCharging:
+				aNextState = TSsmState( ESsmStartup, ESsmStateCharging );
+				moreToCome = ETrue;
+				break;
+			case ESsmStateNonCritical:
+			    ClearResetCounter(); // start-up is successful
+				aNextState = TSsmState( ESsmNormal, KSsmAnySubState );
+				moreToCome = ETrue;
+				break;
+			case ESsmStateAlarm:
+			case ESsmStateCharging:
+			case ESsmStateTest:
+				moreToCome = EFalse;
+				break;
+			case ESsmStateEmergencyCallsOnly:
+			    ClearResetCounter(); // start-up is successful
+				moreToCome = EFalse;
+				break;
+*/
+			default:
+        		ASSERT_ALWAYS_TRACE;
+				moreToCome = EFalse;
+				break;
+			}
+		}
+	else
+		{
+        if ( ResetLimitReached() ) // Updates the reset count
+            {
+            aNextState = TSsmState( ESsmFail, KSsmAnySubState );
+	    	moreToCome = ETrue;
+    	    }
+    	else
+    	    {
+            aNextState = TSsmState( ESsmShutdown, ESsmErrorShutdown );
+            moreToCome = ETrue;
+    	    }
+		}
+
+	return moreToCome;
+    }
+
+
+// ---------------------------------------------------------------------------
+// CSsmStartupPolicy::GetCommandListPathL
+// ---------------------------------------------------------------------------
+//
+void CSsmStartupPolicy::GetCommandListPathL( TDes& aCmdListPath )
+    {
+    FUNC_LOG;
+
+	aCmdListPath.Format( KCommandListPath, iHardwareReason );
+	iUtil->GetCommandListPath( aCmdListPath );
+    }
+
+
+// ---------------------------------------------------------------------------
+// CSsmStartupPolicy::IsAllowedTargetState
+// ---------------------------------------------------------------------------
+//
+TBool CSsmStartupPolicy::IsAllowedTargetState(
+    const TSsmStateTransition& aRequest ) const
+    {
+    FUNC_LOG;
+
+    TSsmState currentState;
+    TInt errorCode = GetCurrentState( currentState );
+    ERROR( errorCode, "Failed to get current state" );
+
+    if ( errorCode == KErrNone )
+        {
+        TUint16 reqMainState( aRequest.State().MainState() );
+        TUint16 reqSubState( aRequest.State().SubState() );
+        INFO_2( "Requested target state = %04x.%04x", reqMainState, reqSubState );
+        TUint16 curMainState( currentState.MainState() );
+        TUint16 curSubState( currentState.SubState() );
+        INFO_2( "Current state = %04x.%04x", curMainState, curSubState );
+
+		// TomP - We'll allow any state transition as long as there was no error
+		return ETrue;
+        if ( reqMainState == ESsmStartup )
+            {
+            if ( ( curSubState == ESsmStateCharging &&
+                   ( reqSubState == ESsmStateChargingToAlarm ||
+                     reqSubState == ESsmStateChargingToNormal ) ) ||
+                 ( curSubState == ESsmStateAlarm &&
+                   ( reqSubState == ESsmStateAlarmToCharging ||
+                     reqSubState == ESsmStateAlarmToNormal ) ) )
+                {
+                return ETrue;
+                }
+            }
+        else if ( reqMainState == ESsmNormal )
+            {
+            if ( ( curMainState == ESsmStartup &&
+                   curSubState == ESsmStateNonCritical ) )
+                {
+                return ETrue;
+                }
+            }
+        else if ( reqMainState == ESsmFail ||
+                  reqMainState == ESsmShutdown )
+            {
+            return ETrue;
+            }
+        }
+
+    return EFalse;
+    }
+
+
+// ---------------------------------------------------------------------------
+// CSsmStartupPolicy::TargetSubState
+// ---------------------------------------------------------------------------
+//
+TUint16 CSsmStartupPolicy::TargetSubState( const TUint16 aRequestedSubState )
+    {
+    FUNC_LOG;
+    INFO_1( "Requested sub state %04x", aRequestedSubState );
+
+	return ( aRequestedSubState == KSsmAnySubState ) ?
+        ESsmStatePreUiServices : aRequestedSubState;
+    }
+
+
+// ---------------------------------------------------------------------------
+// CSsmStartupPolicy::CSsmStartupPolicy
+// ---------------------------------------------------------------------------
+//
+CSsmStartupPolicy::CSsmStartupPolicy()
+    {
+    FUNC_LOG;
+    }
+
+
+// ---------------------------------------------------------------------------
+// CSsmStartupPolicy::ConstructL
+// ---------------------------------------------------------------------------
+//
+void CSsmStartupPolicy::ConstructL()
+    {
+    FUNC_LOG;
+
+	// Read the hardware reason
+	User::LeaveIfError( RProperty::Get(
+	    KUidSystemCategory, KSystemStartupModeKey, iHardwareReason ) );
+
+    BaseConstructL();
+    }
+
+
+// ---------------------------------------------------------------------------
+// CSsmStartupPolicy::IsSimlessOfflineSupported
+// ---------------------------------------------------------------------------
+//
+TBool CSsmStartupPolicy::IsSimlessOfflineSupported()
+    {
+    FUNC_LOG;
+/*	
+    TBool ret( EFalse );
+
+    ret = ( iUtil->FeatureStatus( TUid::Uid( KFeatureIdOfflineMode ) ) ||
+            iUtil->FeatureStatus( TUid::Uid( KFeatureIdFlightMode ) ) ) &&
+            iUtil->FeatureStatus( TUid::Uid( KFeatureIdFfSimlessOfflineSupport ) );
+
+    INFO_1( "Simless offline supported = %d", ret );
+*/	
+	//TomP - SIMless Offline is always supported
+    return ETrue;
+    }
+
+
+// ---------------------------------------------------------------------------
+// CSsmStartupPolicy::SelectStateAfterSecurityCheck
+// ---------------------------------------------------------------------------
+//
+TUint16 CSsmStartupPolicy::SelectStateAfterSecurityCheck()
+    {
+    FUNC_LOG;
+/*
+    TInt value( ESimStatusUninitialized );
+    TInt errorCode = RProperty::Get( iUtil->PsUid( KPSUidStartup ), KPSSimStatus, value );
+    ERROR( errorCode, "Failed to read KPSUidStartup::KPSSimStatus P&S key" );
+    INFO_1( "Current SIM status = %d", value );
+    TUint16 retVal( ESsmStateEmergencyCallsOnly );
+    if ( errorCode == KErrNone )
+        {
+        if ( value == ESimUsable || value == ESimNotSupported )
+            {
+            retVal = ESsmStateNonCritical;
+            }
+        else if ( value == ESimNotPresent && IsSimlessOfflineSupported() )
+            {
+            retVal = ESsmStateNonCritical;
+            }
+        }
+
+    INFO_1( "State selected after security check = %04x", retVal );
+*/	
+	// TomP - Always jump straight into Non Critical State next
+    return ESsmStateNonCritical;
+    }
+
+
+// ---------------------------------------------------------------------------
+// CSsmStartupPolicy::ClearResetCounter
+// ---------------------------------------------------------------------------
+//
+void CSsmStartupPolicy::ClearResetCounter()
+    {
+    FUNC_LOG;
+
+    TRAPD_ERR( errorCode, ClearResetCounterL() );
+    ERROR( errorCode, "Failed to clear reset counter" );
+    }
+
+
+// ---------------------------------------------------------------------------
+// ClearResetCounterL
+// ---------------------------------------------------------------------------
+//
+void CSsmStartupPolicy::ClearResetCounterL()
+    {
+    FUNC_LOG;
+
+    CRepository* repository = CRepository::NewLC( iUtil->CrUid( KCRUidSsmStartupPolicy ) );
+    User::LeaveIfError( repository->Set( KSsmStartupErrorResetCounter, 0 ) );
+    CleanupStack::PopAndDestroy( repository );
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/startup/ssmstartuppolicy.mmp	Wed Oct 13 12:07:40 2010 +0100
@@ -0,0 +1,65 @@
+/*
+* 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:
+* Project definition file for the ssmstartuppolicy project.
+*
+*/
+
+#include <platform_paths.hrh>
+#include <data_caging_paths.hrh>
+
+TARGET          stem_ssm.state.policy.0000.dll
+TARGETTYPE      dll
+UID             0x2000D75D 0x20021346
+
+CAPABILITY      PowerMgmt ReadDeviceData WriteDeviceData ProtServ DiskAdmin SwEvent
+VENDORID        VID_DEFAULT
+
+#ifdef WINSCW
+DEFFILE         /sf/os/devicesrv/sysstatemgmt/ssmpolicyplugins/ssmstartuppolicy/bwins/ssmstartuppolicy.def
+#else
+DEFFILE         /sf/os/devicesrv/sysstatemgmt/ssmpolicyplugins/ssmstartuppolicy/eabi/ssmstartuppolicy.def
+#endif
+
+SOURCEPATH      ./
+SOURCE          ssmstartuppolicy.cpp
+
+USERINCLUDE     /sf/os/devicesrv/sysstatemgmt/ssmpolicyplugins/ssmstartuppolicy/inc
+USERINCLUDE     /sf/os/devicesrv/sysstatemgmt/ssmpolicyplugins/cenrep
+USERINCLUDE     /sf/os/devicesrv/sysstatemgmt/ssmpolicyplugins/inc
+USERINCLUDE     /sf/os/devicesrv/sysstatemgmt/ssmpolicyplugins/ssmpolicybase/inc
+USERINCLUDE     /sf/os/devicesrv/sysstatemgmt/ssmpolicyplugins/ssmstatepolicybase/inc
+USERINCLUDE     /sf/os/devicesrv/sysstatemgmt/ssmmapperutility/inc
+
+OS_LAYER_SYSTEMINCLUDE
+
+LIBRARY         centralrepository.lib
+LIBRARY         efsrv.lib
+LIBRARY         euser.lib
+LIBRARY         ssmcmd.lib
+LIBRARY         ssmcmn.lib
+LIBRARY         ssmpolicybase.lib
+LIBRARY         ssmstatepolicybase.lib
+LIBRARY         ssmmapperutility.lib
+
+// >>> uncomment to enable function-level tracing
+// MACRO        __SSM_FUNC_TRACE__
+// <<< uncomment to enable function-level tracing
+
+// >>> uncomment to direct trace output to file
+// MACRO        __SSM_TRACE_INTO_FILE__
+// LIBRARY      flogger.lib
+// <<< uncomment to direct trace output to file
+
+SMPSAFE
--- a/startup/stem_criticalappscmdlist.rss	Mon Oct 11 22:35:41 2010 +0100
+++ b/startup/stem_criticalappscmdlist.rss	Wed Oct 13 12:07:40 2010 +0100
@@ -69,11 +69,13 @@
         r_cmd_publishstate,     // prio 0xFFF1
         r_cmd_psstate,          // prio 0xFFF0
         // prio 0xFFE7
-        r_cmd_selftest,
-        r_cmd_cfserver,
-        r_cmd_sysap,
-        r_cmd_calsrv,
-        r_cmd_profmon,
+    //TomP    r_cmd_selftest,
+    //TomP   r_cmd_cfserver,
+    //TomP    r_cmd_sysap,
+    //TomP    r_cmd_calsrv,
+    //TomP    r_cmd_profmon,
+		r_cmd_menu,	// TomP - moved from the Security command list
+		r_cmd_startup, // TomP - moved from the Security command list
         // prio 0xFFE6
         r_cmd_multiwaitforever
         };
@@ -85,9 +87,36 @@
 //
 
 // ---------------------------------------------------------------------------
+// r_cmd_menu
+// ---------------------------------------------------------------------------
+//
+RESOURCE SSM_START_APP_INFO r_cmd_menu
+    {
+    priority = 0xFFE7;
+    name = "z:\\sys\\bin\\matrixmenu.exe";
+    execution_behaviour = ESsmDeferredWaitForSignal;
+    //TomP background = 1; // To background
+    }
+	
+
+// ---------------------------------------------------------------------------
+// r_cmd_startup
+// ---------------------------------------------------------------------------
+//
+RESOURCE SSM_START_PROCESS_INFO r_cmd_startup
+    {
+    priority = 0xFFE7;
+    name = "z:\\sys\\bin\\startup.exe";
+    execution_behaviour = ESsmDeferredWaitForSignal;
+    severity = ECmdCriticalSeverity;
+    retries = 2;
+    }
+
+// ---------------------------------------------------------------------------
 // r_cmd_calsrv
 // ---------------------------------------------------------------------------
 //
+/*
 RESOURCE SSM_START_PROCESS_INFO r_cmd_calsrv
     {
     priority = 0xFFE7;
@@ -107,6 +136,7 @@
     execution_behaviour = ESsmDeferredWaitForSignal;
     monitor_info = r_mon_100_restarts_reset;
     }
+*/
 
 // ---------------------------------------------------------------------------
 // r_cmd_multiwaitforever
@@ -121,12 +151,14 @@
 // r_cmd_profmon
 // ---------------------------------------------------------------------------
 //
+/*
 RESOURCE SSM_START_PROCESS_INFO r_cmd_profmon
     {
     priority = 0xFFE7;
     name = "Z:\\sys\\bin\\profilesettingsmonitor.exe";
     execution_behaviour = ESsmDeferredWaitForSignal;
     }
+*/
 
 // ---------------------------------------------------------------------------
 // r_cmd_psstate
@@ -171,6 +203,7 @@
 // r_cmd_selftest
 // ---------------------------------------------------------------------------
 //
+/*
 RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_selftest
     {
     priority = 0xFFE7;
@@ -196,7 +229,7 @@
     background = 1; // To background
     monitor_info = r_mon_reset;
     }
-
+*/
 // ===========================================================================
 // DLL data items in alphabetical order
 // ===========================================================================
--- a/startup/stem_noncriticalcmdlist.rss	Mon Oct 11 22:35:41 2010 +0100
+++ b/startup/stem_noncriticalcmdlist.rss	Wed Oct 13 12:07:40 2010 +0100
@@ -72,16 +72,16 @@
         r_cmd_publishstate,     // prio 0xFFF1
         r_cmd_psstate,          // prio 0xFFF0
         // prio 0xFFE7
-        r_cmd_simcheck,
-        r_cmd_clearstartupreason,
-        r_cmd_createswp_uiphase,
-        r_cmd_createswp_rfstatus,
-        r_cmd_waitforofflinequery,
-        r_cmd_setswp_uistart,   // After offline query has been made // prio 0xFFD7 
-        r_cmd_bsengine,					// prio 0xFFD3      
+    //TomP    r_cmd_simcheck,
+    //TomP    r_cmd_clearstartupreason,
+    //TomP    r_cmd_createswp_uiphase,
+    //TomP    r_cmd_createswp_rfstatus,
+    //TomP    r_cmd_waitforofflinequery,
+    //TomP    r_cmd_setswp_uistart,   // After offline query has been made // prio 0xFFD7 
+    //TomP    r_cmd_bsengine,					// prio 0xFFD3      
         // prio 0xFFC7
-        r_cmd_setswp_rfon,
-        r_cmd_setswp_rfoff,
+    //TomP    r_cmd_setswp_rfon,
+    //TomP    r_cmd_setswp_rfoff,
         r_cmd_startupready      // Last command, prio 0x0000
         };
     }
@@ -94,6 +94,7 @@
 // r_cmd_bsengine
 // ---------------------------------------------------------------------------
 //
+/*
 RESOURCE SSM_START_PROCESS_INFO r_cmd_bsengine
     {
     priority = 0xFFD3;
@@ -125,7 +126,7 @@
     key = SWP_UID_SSM_UI_PHASE;
     filename = "ssmuiswppolicy.dll";
     }
-
+*/
 // ---------------------------------------------------------------------------
 // r_cmd_psstate
 // ---------------------------------------------------------------------------
@@ -169,6 +170,7 @@
 // r_cmd_setswp_rfoff
 // ---------------------------------------------------------------------------
 //
+/*
 RESOURCE SSM_REQUEST_SYSTEM_WIDE_PROPERTY r_cmd_setswp_rfoff
     {
     priority = 0xFFC7;
@@ -216,7 +218,7 @@
     unload_on_finish = ENeverUnload;
     conditional_information = r_cond_ps_simusable;
     }
-
+*/
 // ---------------------------------------------------------------------------
 // r_cmd_startupready
 // ---------------------------------------------------------------------------
@@ -236,6 +238,7 @@
 // r_cmd_waitforofflinequery
 // ---------------------------------------------------------------------------
 //
+/*
 RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_waitforofflinequery
     {
     priority = 0xFFE7;
@@ -261,7 +264,7 @@
     retries = 2;
     execution_behaviour = ESsmWaitForSignal;
     }
-
+*/
 // ===========================================================================
 // DLL data items in alphabetical order
 // ===========================================================================
--- a/startup/stem_uiservicescmdlist.rss	Mon Oct 11 22:35:41 2010 +0100
+++ b/startup/stem_uiservicescmdlist.rss	Wed Oct 13 12:07:40 2010 +0100
@@ -72,31 +72,31 @@
         r_cmd_startupmode,
         r_cmd_loadpowersup,
         // prio 0xFFD7
-        r_cmd_rfsfirstboot,
-        r_cmd_rfsdeep,
-        r_cmd_rfsnormal,
+    //TomP    r_cmd_rfsfirstboot,
+    //TomP    r_cmd_rfsdeep,
+    //TomP    r_cmd_rfsnormal,
         // prio 0xFFC7
-        r_cmd_initclkeys,
-        r_cmd_initramdrive,
+    //TomP    r_cmd_initclkeys,
+    //TomP    r_cmd_initramdrive,
         // prio 0xFFA7
         r_cmd_splash,
         // prio 0xFF97
-        r_cmd_rtc,
+    //TomP    r_cmd_rtc,
         // prio 0xFF96 - rtc (tzsrv, cntsrv, mediator & hwrmsrv have been moved to extended startup list but use the same multiplewait command)
         r_cmd_multiwaitforever1,
         // prio 0xFF87
-        r_cmd_accsrv,
-        r_cmd_selectlanguage,   // Select UI language to use
+    //TomP    r_cmd_accsrv,
+    //TomP    r_cmd_selectlanguage,   // Select UI language to use
         // prio 0xFF86 - accsrv, seleclanguage (dbrecovery has been moved to extended startup list but uses the same multiplewait command)
         r_cmd_multiwaitforever2,
         // prio 0xFF85
-        r_cmd_loadlocalesup,    // Observes changes in locale data
+    //TomP    r_cmd_loadlocalesup,    // Observes changes in locale data
         // prio 0xFF79
         r_cmd_aknstart,         // UI Framework
         // prio 0xFF77
-        r_cmd_apparc_init,      // Init application framework
+        r_cmd_apparc_init      // Init application framework
         // prio 0xFF75
-        r_cmd_rfspostui        // Restore factory settings - after UI framework is up
+    //TomP    r_cmd_rfspostui        // Restore factory settings - after UI framework is up
         };
     }
 
@@ -109,6 +109,7 @@
 // r_cmd_accsrv
 // ---------------------------------------------------------------------------
 //
+/*
 RESOURCE SSM_START_PROCESS_INFO r_cmd_accsrv
     {
     priority = 0xFF87;
@@ -117,7 +118,7 @@
     execution_behaviour = ESsmWaitForSignal;
     monitor_info = r_mon_3_restarts_reset;
     }
-
+*/
 // ---------------------------------------------------------------------------
 // r_cmd_aknstart
 // ---------------------------------------------------------------------------
@@ -145,6 +146,7 @@
 // r_cmd_initclkeys
 // ---------------------------------------------------------------------------
 //
+/*
 RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_initclkeys
     {
     priority = 0xFFC7;
@@ -170,18 +172,19 @@
     unload_on_finish = ENeverUnload;
     retries = 2;
     }
-
+*/
 // ---------------------------------------------------------------------------
 // r_cmd_loadlocalesup
 // ---------------------------------------------------------------------------
 //
+/*
 RESOURCE SSM_START_SSM_UTILITY_PLUGIN r_cmd_loadlocalesup
     {
     priority = 0xFF85;
     filename = "ssmlocaleobserversup.dll";
     ordinal = 1;
     }
-
+*/
 // ---------------------------------------------------------------------------
 // r_cmd_loadpowersup
 // ---------------------------------------------------------------------------
@@ -253,6 +256,7 @@
 // r_cmd_rfsfirstboot
 // ---------------------------------------------------------------------------
 //
+/*
 RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_rfsfirstboot
     {
     priority = 0xFFD7;
@@ -301,7 +305,7 @@
     execution_behaviour = ESsmDeferredWaitForSignal;
     retries = 2;
     }
-
+*/
 // ---------------------------------------------------------------------------
 // r_cmd_sastate
 // ---------------------------------------------------------------------------
@@ -321,6 +325,7 @@
 // r_cmd_selectlanguage
 // ---------------------------------------------------------------------------
 //
+/*
 RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_selectlanguage
     {
     priority = 0xFF87;
@@ -329,7 +334,7 @@
     ordinal = 1; // SelectLanguage
     retries = 2;
     }
-
+*/
 // ---------------------------------------------------------------------------
 // r_cmd_splash
 // ---------------------------------------------------------------------------
--- a/syborg_stem/rom_content.csv	Mon Oct 11 22:35:41 2010 +0100
+++ b/syborg_stem/rom_content.csv	Wed Oct 13 12:07:40 2010 +0100
@@ -814,23 +814,23 @@
 private\2000B4D8\backup_registration.xml,/epoc32/data/z/private/2000b4d8/backup_registration.xml,core/mw/WidgetBackupRestore.iby,mw/web,,,
 private\2000D75B\fail\failcmdlist.rsc,/epoc32/data/z/private/2000d75b/fail/failcmdlist.rsc,core/os/ssmcmdlists.iby,os/devicesrv,stem,WR,Startup script
 private\2000D75B\startup\0\noncriticalcmdlist_hw.rsc,/epoc32/data/z/private/2000d75b/hw/noncriticalcmdlist_hw.rsc,core/os/ssmcmdlists.iby,os/devicesrv,stem,WR,Startup script
-private\2000D75B\startup\0\usbwatcher.rsc,/epoc32/data/z/private/2000d75b/hw/usbwatcher_hw.rsc,core/os/ssmcmdlists.iby,os/devicesrv,stem,WR,Startup script
+private\2000D75B\startup\0\usbwatcher.rsc,/epoc32/data/z/private/2000d75b/hw/usbwatcher_hw.rsc,core/os/ssmcmdlists.iby,os/devicesrv,out,TomP,Stripped down startup
 private\2000D75B\startup\0\wserv.rsc,/epoc32/data/z/private/2000d75b/hw/wserv_hw.rsc,core/os/ssmcmdlists.iby,os/devicesrv,stem,WR,Startup script
 private\2000d75b\normal\gsanormalcmdlist.rsc,/epoc32/data/z/private/2000d75b/normal/gsanormalcmdlist.rsc,core/os/ssmcompatibility.iby,os/devicesrv,,,
-private\2000D75B\rfstatusswpcmdlist\rfswpcmdlists.rsc,/epoc32/data/z/private/2000d75b/rfstatusswpcmdlist/rfswpcmdlists.rsc,core/os/ssmcmdlists.iby,os/devicesrv,stem,WR,Startup script
+private\2000D75B\rfstatusswpcmdlist\rfswpcmdlists.rsc,/epoc32/data/z/private/2000d75b/rfstatusswpcmdlist/rfswpcmdlists.rsc,core/os/ssmcmdlists.iby,os/devicesrv,out,WR,Stripped down startup
 private\2000D75B\shutdown\shutdowncmdlists.rsc,/epoc32/data/z/private/2000d75b/shutdown/shutdowncmdlists.rsc,core/os/ssmcmdlists.iby,os/devicesrv,stem,WR,Startup script
-private\2000D75B\startup\0\alarm_charging.rsc,/epoc32/data/z/private/2000d75b/startup/0/alarm_charging.rsc,core/os/ssmcmdlists.iby,os/devicesrv,stem,WR,Startup script
+private\2000D75B\startup\0\alarm_charging.rsc,/epoc32/data/z/private/2000d75b/startup/0/alarm_charging.rsc,core/os/ssmcmdlists.iby,os/devicesrv,out,WR,Stripped down startup
 private\2000D75B\startup\0\criticalappscmdlist.rsc,/epoc32/data/z/private/2000d75b/startup/0/criticalappscmdlist.rsc,core/os/ssmcmdlists.iby,os/devicesrv,stem,WR,Startup script
-private\2000D75B\startup\0\emergencycallsonlycmdlist.rsc,/epoc32/data/z/private/2000d75b/startup/0/emergencycallsonlycmdlist.rsc,core/os/ssmcmdlists.iby,os/devicesrv,stem,WR,Startup script
+private\2000D75B\startup\0\emergencycallsonlycmdlist.rsc,/epoc32/data/z/private/2000d75b/startup/0/emergencycallsonlycmdlist.rsc,core/os/ssmcmdlists.iby,os/devicesrv,out,WR,Stripped down startup
 private\2000D75B\startup\0\noncriticalcmdlist.rsc,/epoc32/data/z/private/2000d75b/startup/0/noncriticalcmdlist.rsc,core/os/ssmcmdlists.iby,os/devicesrv,stem,WR,Startup script
 private\2000D75B\startup\0\preuiservicescmdlist.rsc,/epoc32/data/z/private/2000d75b/startup/0/preuiservicescmdlist.rsc,core/os/ssmcmdlists.iby,os/devicesrv,stem,WR,Startup script
-private\2000D75B\startup\0\securitycheckcmdlist.rsc,/epoc32/data/z/private/2000d75b/startup/0/securitycheckcmdlist.rsc,core/os/ssmcmdlists.iby,os/devicesrv,stem,WR,Startup script
-private\2000D75B\startup\0\selftestokcmdlist.rsc,/epoc32/data/z/private/2000d75b/startup/0/selftestokcmdlist.rsc,core/os/ssmcmdlists.iby,os/devicesrv,stem,WR,Startup script
+private\2000D75B\startup\0\securitycheckcmdlist.rsc,/epoc32/data/z/private/2000d75b/startup/0/securitycheckcmdlist.rsc,core/os/ssmcmdlists.iby,os/devicesrv,out,WR,Stripped down startup
+private\2000D75B\startup\0\selftestokcmdlist.rsc,/epoc32/data/z/private/2000d75b/startup/0/selftestokcmdlist.rsc,core/os/ssmcmdlists.iby,os/devicesrv,out,WR,Stripped down startup
 private\2000D75B\startup\0\uiservicescmdlist.rsc,/epoc32/data/z/private/2000d75b/startup/0/uiservicescmdlist.rsc,core/os/ssmcmdlists.iby,os/devicesrv,stem,WR,Startup script
-private\2000D75B\startup\0\noncriticalcmdlist_ext.rsc,/epoc32/data/z/private/2000d75b/startup/0_ext/noncriticalcmdlist_ext.rsc,core/os/ssmcmdlists.iby,os/devicesrv,stem,WR,Startup script
-private\2000D75B\startup\0\uiservicescmdlist_ext.rsc,/epoc32/data/z/private/2000d75b/startup/0_ext/uiservicescmdlist_ext.rsc,core/os/ssmcmdlists.iby,os/devicesrv,stem,WR,Startup script
-private\2000D75B\swpnoncritical\noncriticalswpcmdlists.rsc,/epoc32/data/z/private/2000d75b/swpnoncritical/noncriticalswpcmdlists.rsc,core/os/ssmcmdlists.iby,os/devicesrv,stem,WR,Startup script
-private\2000D75B\swpui\uiswpcmdlists.rsc,/epoc32/data/z/private/2000d75b/swpui/uiswpcmdlists.rsc,core/os/ssmcmdlists.iby,os/devicesrv,stem,WR,Startup script
+private\2000D75B\startup\0\noncriticalcmdlist_ext.rsc,/epoc32/data/z/private/2000d75b/startup/0_ext/noncriticalcmdlist_ext.rsc,core/os/ssmcmdlists.iby,os/devicesrv,out,WR,Stripped down startup
+private\2000D75B\startup\0\uiservicescmdlist_ext.rsc,/epoc32/data/z/private/2000d75b/startup/0_ext/uiservicescmdlist_ext.rsc,core/os/ssmcmdlists.iby,os/devicesrv,out,WR,Stripped down startup
+private\2000D75B\swpnoncritical\noncriticalswpcmdlists.rsc,/epoc32/data/z/private/2000d75b/swpnoncritical/noncriticalswpcmdlists.rsc,core/os/ssmcmdlists.iby,os/devicesrv,out,WR,Stripped down startup
+private\2000D75B\swpui\uiswpcmdlists.rsc,/epoc32/data/z/private/2000d75b/swpui/uiswpcmdlists.rsc,core/os/ssmcmdlists.iby,os/devicesrv,out,WR,Stripped down startup
 private\2000d766\backup_registration.xml,/epoc32/data/z/private/2000d766/backup_registration.xml,core/os/ssmutilityplugins.iby,os/devicesrv,,,
 private\2000E53C\backup_registration.xml,/epoc32/data/z/private/2000e53c/backup_registration.xml,core/app/FreestyleIpsServices.iby,app/commonemail,,,
 private\2000F83E\bs_config.xml,/epoc32/data/z/private/2000f83e/bs_config.xml,core/mw/backsteppingservice.iby,mw/homescreensrv,,,
@@ -5496,7 +5496,7 @@
 sys\bin\Srtp.dll,/epoc32/release/armv5/urel/srtp.dll,core/mw/srtp.iby,mw/ipappprotocols,,,
 sys\bin\ssdpserver.dll,/epoc32/release/armv5/urel/ssdpserver.dll,core/mw/upnpstack.iby,mw/srvdiscovery,,,
 sys\bin\ssl.dll,/epoc32/release/armv5/urel/ssl.dll,tls.iby,os/networkingsrv,,,
-sys\bin\ssm.state.policy.0000.dll,/epoc32/release/armv5/urel/ssm.state.policy.0000.dll,core/os/ssmpolicyplugins.iby,os/devicesrv,,,
+sys\bin\ssm.state.policy.0000.dll,/epoc32/release/armv5/urel/ssm.state.policy.0000.dll,core/os/ssmpolicyplugins.iby,os/devicesrv,stem,TomP,Stripping down the system startup to minimal components only
 sys\bin\ssm.state.policy.0001.dll,/epoc32/release/armv5/urel/ssm.state.policy.0001.dll,core/os/ssmcompatibility.iby,os/devicesrv,,,
 sys\bin\ssm.state.policy.0002.dll,/epoc32/release/armv5/urel/ssm.state.policy.0002.dll,core/os/ssmpolicyplugins.iby,os/devicesrv,,,
 sys\bin\ssm.state.policy.0003.dll,/epoc32/release/armv5/urel/ssm.state.policy.0003.dll,core/os/ssmpolicyplugins.iby,os/devicesrv,,,
--- a/syborg_stem/syborg_stem_rom.oby	Mon Oct 11 22:35:41 2010 +0100
+++ b/syborg_stem/syborg_stem_rom.oby	Wed Oct 13 12:07:40 2010 +0100
@@ -1924,11 +1924,11 @@
 data=\epoc32\data\Z\Private\101F413C\backup_registration.xml 	"private\101F413C\backup_registration.xml"
 REM SQLITE3
 file=\epoc32\release\ARMV5\urel\sqlite3.dll 	"sys\bin\sqlite3.dll" 
-file=\epoc32\release\ARMV5\urel\ssmcmn.dll 	"sys\bin\ssmcmn.dll"
-file=\epoc32\release\ARMV5\urel\ssmcmd.dll 	"sys\bin\ssmcmd.dll"
-file=\epoc32\release\ARMV5\urel\sysstatemgr.exe 	"sys\bin\sysstatemgr.exe"
-file=\epoc32\release\ARMV5\urel\ssmstartsafe.dll 	"sys\bin\ssmstartsafe.dll"
-file=\epoc32\release\ARMV5\urel\domainpolicy2.dll 	"sys\bin\domainpolicy2.dll"
+file=\epoc32\release\ARMV5\UDEB\ssmcmn.dll 	"sys\bin\ssmcmn.dll"
+file=\epoc32\release\ARMV5\UDEB\ssmcmd.dll 	"sys\bin\ssmcmd.dll"
+file=\epoc32\release\ARMV5\UDEB\sysstatemgr.exe 	"sys\bin\sysstatemgr.exe"
+file=\epoc32\release\ARMV5\UDEB\ssmstartsafe.dll 	"sys\bin\ssmstartsafe.dll"
+file=\epoc32\release\ARMV5\UDEB\domainpolicy2.dll 	"sys\bin\domainpolicy2.dll"
 file=\epoc32\release\ARMV5\urel\subtitlegraphic.dll 	"sys\bin\subtitlegraphic.dll"
 __ECOM_PLUGIN(\epoc32\release\ARMV5\urel,Sys\Bin,\epoc32\data\Z,Resource\Plugins, subtitlegraphicdrawer.dll , subtitlegraphicdrawer.dll ) 
 REM surface update client\server
@@ -5842,52 +5842,52 @@
 file=\epoc32\release\ARMV5\urel\libssl.dll 	"sys\bin\libssl.dll"
 data=\epoc32\data\Z\System\INSTALL\openc_ssl_stub.sis 	"System\Install\openc_ssl_stub.sis"
 data=\epoc32\data\Z\System\INSTALL\openc_libzcore_stub.sis 	"System\Install\openc_libzcore_stub.sis"
-data=\epoc32\data\Z\private\2000D75B\startup\0\preuiservicescmdlist.rsc 	"private\2000D75B\startup\0\preuiservicescmdlist.rsc"
-data=\epoc32\data\Z\private\2000D75B\startup\0\uiservicescmdlist.rsc 	"private\2000D75B\startup\0\uiservicescmdlist.rsc"
-data=\epoc32\data\Z\private\2000D75B\startup\0\criticalappscmdlist.rsc 	"private\2000D75B\startup\0\criticalappscmdlist.rsc"
-data=\epoc32\data\Z\private\2000D75B\startup\0\selftestokcmdlist.rsc 	"private\2000D75B\startup\0\selftestokcmdlist.rsc"
-data=\epoc32\data\Z\private\2000D75B\startup\0\alarm_charging.rsc 	"private\2000D75B\startup\0\alarm_charging.rsc"
-data=\epoc32\data\Z\private\2000D75B\startup\0\securitycheckcmdlist.rsc 	"private\2000D75B\startup\0\securitycheckcmdlist.rsc"
-data=\epoc32\data\Z\private\2000D75B\startup\0\noncriticalcmdlist.rsc 	"private\2000D75B\startup\0\noncriticalcmdlist.rsc"
-data=\epoc32\data\Z\private\2000D75B\startup\0\emergencycallsonlycmdlist.rsc 	"private\2000D75B\startup\0\emergencycallsonlycmdlist.rsc"
-data=\epoc32\data\Z\private\2000D75B\startup\0_ext\uiservicescmdlist_ext.rsc 	"private\2000D75B\startup\0\uiservicescmdlist_ext.rsc"
-data=\epoc32\data\Z\private\2000D75B\startup\0_ext\noncriticalcmdlist_ext.rsc 	"private\2000D75B\startup\0\noncriticalcmdlist_ext.rsc"
-data=\epoc32\data\Z\private\2000D75B\hw\wserv_hw.rsc 	"private\2000D75B\startup\0\wserv.rsc"
-data=\epoc32\data\Z\private\2000D75B\hw\noncriticalcmdlist_hw.rsc 	"private\2000D75B\startup\0\noncriticalcmdlist_hw.rsc"
-data=\epoc32\data\Z\private\2000D75B\hw\usbwatcher_hw.rsc 	"private\2000D75B\startup\0\usbwatcher.rsc"
-data=\epoc32\data\Z\private\2000D75B\fail\failcmdlist.rsc 	"private\2000D75B\fail\failcmdlist.rsc"
-data=\epoc32\data\Z\private\2000D75B\shutdown\shutdowncmdlists.rsc 	"private\2000D75B\shutdown\shutdowncmdlists.rsc"
-data=\epoc32\data\Z\private\2000D75B\rfstatusswpcmdlist\rfswpcmdlists.rsc 	"private\2000D75B\rfstatusswpcmdlist\rfswpcmdlists.rsc"
-data=\epoc32\data\Z\private\2000D75B\swpui\uiswpcmdlists.rsc 	"private\2000D75B\swpui\uiswpcmdlists.rsc"
-data=\epoc32\data\Z\private\2000D75B\swpnoncritical\noncriticalswpcmdlists.rsc 	"private\2000D75B\swpnoncritical\noncriticalswpcmdlists.rsc"
+data=\epoc32\data\Z\private\2000D75B\startup\0\stem_preuiservicescmdlist.rsc 	"private\2000D75B\startup\0\preuiservicescmdlist.rsc"
+data=\epoc32\data\Z\private\2000D75B\startup\0\stem_uiservicescmdlist.rsc 	"private\2000D75B\startup\0\uiservicescmdlist.rsc"
+data=\epoc32\data\Z\private\2000D75B\startup\0\stem_criticalappscmdlist.rsc 	"private\2000D75B\startup\0\criticalappscmdlist.rsc"
+//data=\epoc32\data\Z\private\2000D75B\startup\0\stem_selftestokcmdlist.rsc 	"private\2000D75B\startup\0\selftestokcmdlist.rsc"
+//data=\epoc32\data\Z\private\2000D75B\startup\0\stem_alarm_charging.rsc 	"private\2000D75B\startup\0\alarm_charging.rsc"
+//data=\epoc32\data\Z\private\2000D75B\startup\0\stem_securitycheckcmdlist.rsc 	"private\2000D75B\startup\0\securitycheckcmdlist.rsc"
+data=\epoc32\data\Z\private\2000D75B\startup\0\stem_noncriticalcmdlist.rsc 	"private\2000D75B\startup\0\noncriticalcmdlist.rsc"
+//data=\epoc32\data\Z\private\2000D75B\startup\0\stem_emergencycallsonlycmdlist.rsc 	"private\2000D75B\startup\0\emergencycallsonlycmdlist.rsc"
+//data=\epoc32\data\Z\private\2000D75B\startup\0_ext\stem_uiservicescmdlist_ext.rsc 	"private\2000D75B\startup\0\uiservicescmdlist_ext.rsc"
+//data=\epoc32\data\Z\private\2000D75B\startup\0_ext\stem_noncriticalcmdlist_ext.rsc 	"private\2000D75B\startup\0\noncriticalcmdlist_ext.rsc"
+data=\epoc32\data\Z\private\2000D75B\hw\stem_wserv_hw.rsc 	"private\2000D75B\startup\0\wserv.rsc"
+//data=\epoc32\data\Z\private\2000D75B\hw\stem_noncriticalcmdlist_hw.rsc 	"private\2000D75B\startup\0\noncriticalcmdlist_hw.rsc"
+data=\epoc32\data\Z\private\2000D75B\hw\stem_usbwatcher_hw.rsc 	"private\2000D75B\startup\0\usbwatcher.rsc"
+data=\epoc32\data\Z\private\2000D75B\fail\stem_failcmdlist.rsc 	"private\2000D75B\fail\failcmdlist.rsc"
+data=\epoc32\data\Z\private\2000D75B\shutdown\stem_shutdowncmdlists.rsc 	"private\2000D75B\shutdown\shutdowncmdlists.rsc"
+//data=\epoc32\data\Z\private\2000D75B\rfstatusswpcmdlist\stem_rfswpcmdlists.rsc 	"private\2000D75B\rfstatusswpcmdlist\rfswpcmdlists.rsc"
+//data=\epoc32\data\Z\private\2000D75B\swpui\stem_uiswpcmdlists.rsc 	"private\2000D75B\swpui\uiswpcmdlists.rsc"
+//data=\epoc32\data\Z\private\2000D75B\swpnoncritical\stem_noncriticalswpcmdlists.rsc 	"private\2000D75B\swpnoncritical\noncriticalswpcmdlists.rsc"
 file=\epoc32\release\ARMV5\urel\saaemergencycallrfadaptation.dll 	"sys\bin\emergencycallrfadaptation.dll"
 file=\epoc32\release\ARMV5\urel\saastateadaptation.dll 	"sys\bin\stateadaptation.dll"
 file=\epoc32\release\ARMV5\urel\saasimadaptation.dll 	"sys\bin\simadaptation.dll"
 file=\epoc32\release\ARMV5\urel\saamiscadaptation.dll 	"sys\bin\miscadaptation.dll"
 file=\epoc32\release\ARMV5\urel\saartcadaptation.dll 	"sys\bin\rtcadaptation.dll"
-file=\epoc32\release\ARMV5\urel\starterclient.dll 	"sys\bin\starterclient.dll"
-file=\epoc32\release\ARMV5\urel\startupadaptationadapter.dll 	"sys\bin\startupadaptationadapter.dll"
-file=\epoc32\release\ARMV5\urel\ssmclayersup.dll 	"sys\bin\ssmclayersup.dll"
-file=\epoc32\release\ARMV5\urel\rfstatusswppolicy.dll 	"sys\bin\rfstatusswppolicy.dll"
-file=\epoc32\release\ARMV5\urel\ssm.state.policy.0001.dll 	"sys\bin\ssm.state.policy.0001.dll"
+file=\epoc32\release\ARMV5\UDEB\starterclient.dll 	"sys\bin\starterclient.dll"
+file=\epoc32\release\ARMV5\UDEB\startupadaptationadapter.dll 	"sys\bin\startupadaptationadapter.dll"
+file=\epoc32\release\ARMV5\UDEB\ssmclayersup.dll 	"sys\bin\ssmclayersup.dll"
+file=\epoc32\release\ARMV5\UDEB\rfstatusswppolicy.dll 	"sys\bin\rfstatusswppolicy.dll"
+file=\epoc32\release\ARMV5\UDEB\ssm.state.policy.0001.dll 	"sys\bin\ssm.state.policy.0001.dll"
 data=\epoc32\data\Z\private\2000d75b\normal\gsanormalcmdlist.rsc 	"private\2000d75b\normal\gsanormalcmdlist.rsc"
-file=\epoc32\release\ARMV5\urel\customcmds.dll 	"sys\bin\customcmds.dll"
-file=\epoc32\release\ARMV5\urel\ssm.swp.policy.simstatus.dll 	"sys\bin\ssm.swp.policy.simstatus.dll"
+file=\epoc32\release\ARMV5\UDEB\customcmds.dll 	"sys\bin\customcmds.dll"
+file=\epoc32\release\ARMV5\UDEB\ssm.swp.policy.simstatus.dll 	"sys\bin\ssm.swp.policy.simstatus.dll"
 data=\epoc32\data\Z\private\10202be9\2001d2aa.txt 	"private\10202be9\2001d2aa.txt"
-file=\epoc32\release\ARMV5\urel\ssmactivitycmd.dll 	"sys\bin\ssmactivitycmd.dll"
-file=\epoc32\release\ARMV5\urel\ssmsystemcmds.dll 	"sys\bin\ssmsystemcmds.dll"
+file=\epoc32\release\ARMV5\UDEB\ssmactivitycmd.dll 	"sys\bin\ssmactivitycmd.dll"
+file=\epoc32\release\ARMV5\UDEB\ssmsystemcmds.dll 	"sys\bin\ssmsystemcmds.dll"
 file=\epoc32\release\ARMV5\urel\ssmdiskreserver.exe 	"sys\bin\ssmdiskreserver.exe"
 file=\epoc32\release\ARMV5\urel\ssmmapperutility.dll 	"sys\bin\ssmmapperutility.dll"
-file=\epoc32\release\ARMV5\urel\ssmpolicybase.dll 	"sys\bin\ssmpolicybase.dll"
-file=\epoc32\release\ARMV5\urel\ssmstatepolicybase.dll 	"sys\bin\ssmstatepolicybase.dll"
-file=\epoc32\release\ARMV5\urel\ssmswppolicybase.dll 	"sys\bin\ssmswppolicybase.dll"
-file=\epoc32\release\ARMV5\urel\ssm.state.policy.0000.dll 	"sys\bin\ssm.state.policy.0000.dll"
+file=\epoc32\release\ARMV5\UDEB\ssmpolicybase.dll 	"sys\bin\ssmpolicybase.dll"
+file=\epoc32\release\ARMV5\UDEB\ssmstatepolicybase.dll 	"sys\bin\ssmstatepolicybase.dll"
+file=\epoc32\release\ARMV5\UDEB\ssmswppolicybase.dll 	"sys\bin\ssmswppolicybase.dll"
+file=\epoc32\release\ARMV5\UDEB\stem_ssm.state.policy.0000.dll 	"sys\bin\ssm.state.policy.0000.dll"
 file=\epoc32\release\ARMV5\urel\ssm.state.policy.0002.dll 	"sys\bin\ssm.state.policy.0002.dll"
 file=\epoc32\release\ARMV5\urel\ssm.state.policy.0003.dll 	"sys\bin\ssm.state.policy.0003.dll"
-file=\epoc32\release\ARMV5\urel\ssmuiswppolicy.dll 	"sys\bin\ssmuiswppolicy.dll"
-file=\epoc32\release\ARMV5\urel\ssmnoncriticalswppolicy.dll 	"sys\bin\ssmnoncriticalswppolicy.dll"
-file=\epoc32\release\ARMV5\urel\ssmpowersup.dll 	"sys\bin\ssmpowersup.dll"
-file=\epoc32\release\ARMV5\urel\ssmlocaleobserversup.dll 	"sys\bin\ssmlocaleobserversup.dll"
+file=\epoc32\release\ARMV5\UDEB\ssmuiswppolicy.dll 	"sys\bin\ssmuiswppolicy.dll"
+file=\epoc32\release\ARMV5\UDEB\ssmnoncriticalswppolicy.dll 	"sys\bin\ssmnoncriticalswppolicy.dll"
+file=\epoc32\release\ARMV5\UDEB\ssmpowersup.dll 	"sys\bin\ssmpowersup.dll"
+file=\epoc32\release\ARMV5\UDEB\ssmlocaleobserversup.dll 	"sys\bin\ssmlocaleobserversup.dll"
 data=\epoc32\data\Z\private\2000d766\backup_registration.xml 	"private\2000d766\backup_registration.xml"
 __ECOM_PLUGIN(\epoc32\release\ARMV5\urel,Sys\Bin,\epoc32\data\Z,Resource\Plugins, ssyreferenceplugin.dll , ssyreferenceplugin.dll ) 
 data=\epoc32\data\Z\Private\1020507E\reference\SsyReferenceConfig.xml 	"private\1020507E\reference\SsyReferenceConfig.xml"