equal
deleted
inserted
replaced
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); |