kernel/eka/include/drivers/smppower/idlehelper.h
changeset 132 e4a7b1cbe40c
parent 90 947f0dc9f7a8
child 148 31ea0f8e3c99
equal deleted inserted replaced
131:e880629062dd 132:e4a7b1cbe40c
     1 /*
     1 /*
     2 * Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 * Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This material, including documentation and any related computer
     5 * under the terms of "Eclipse Public License v1.0"
     5 * programs, is protected by copyright controlled by Nokia. All
     6 * which accompanies this distribution, and is available
     6 * rights are reserved. Copying, including reproducing, storing
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * adapting or translating, any or all of this material requires the
       
     8 * prior written consent of Nokia. This material also contains
       
     9 * confidential information which may not be disclosed to others
       
    10 * without the prior written consent of Nokia.
     8 *
    11 *
     9 * Initial Contributors:
    12 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    13 * Nokia Corporation - initial contribution.
    11 *
    14 *
    12 * Contributors:
    15 * Contributors:
    13 *
    16 *
    14 * Description:  
    17 * Description: 
    15 * os\kernelhwsrv\kernel\eka\include\drivers\smpidlehelper.h
    18 * os\kernelhwsrv\kernel\eka\include\drivers\smpidlehelper.h
    16 * Helper classes required to implement CPU idle
    19 * Helper classes required to implement CPU idle
    17 * functionality in a SMP BSP.
    20 * functionality in a SMP BSP.
    18 *
    21 *
    19 */
    22 */
    20 
       
    21 
    23 
    22 /**
    24 /**
    23  @file
    25  @file
    24  @prototype
    26  @prototype
    25 */
    27 */
   172 	static void SetIdleIPIToHighestPriority();//sets idle IPI priority to be the highest
   174 	static void SetIdleIPIToHighestPriority();//sets idle IPI priority to be the highest
   173 	static void DoIdleIPI(TUint32);
   175 	static void DoIdleIPI(TUint32);
   174 	static void ClearIdleIPI();
   176 	static void ClearIdleIPI();
   175 	static void DoWFI();//puts current CPU in wait for interrupt state
   177 	static void DoWFI();//puts current CPU in wait for interrupt state
   176 	static TBool IsIntPending();
   178 	static TBool IsIntPending();
   177 	static TInt	IntPending();
   179 	static TUint32	IntPending();
   178 	static TUint32 GetTimerCount();//HW timer can be used for tracing
   180 	static TUint32 GetTimerCount();//HW timer can be used for tracing
   179 	//Atomic checks used to synchronise cores going idle
   181 	//Atomic checks used to synchronise cores going idle
   180 	static TBool ClearLocalAndCheckGlobalIdle(TUint32);
   182 	static TBool ClearLocalAndCheckGlobalIdle(TUint32);
   181 	static TBool SetLocalAndCheckSetGlobalIdle(TUint32);
   183 	static TBool SetLocalAndCheckSetGlobalIdle(TUint32);
   182 	static TBool FirstCoreAwake(TUint32);
   184 	static TBool FirstCoreAwake(TUint32);