• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* $NoKeywords */
2 /**
3  * @file
4  *
5  * CoreState.h
6  *
7  * CPU Core State Structures and Definitions.
8  *
9  * @xrefitem bom "File Content Label" "Release Content"
10  * @e project: FDK
11  * @e sub-project: UEFI
12  * @e version: $Revision: 334098 $ @e date: $Date: 2016-01-08 14:21:15 -0600 (Fri, 08 Jan 2016) $
13  *
14  */
15 /*****************************************************************************
16 *
17 *  Copyright 2013 - 2016 ADVANCED MICRO DEVICES, INC.  All Rights Reserved.
18 *
19 *  This program and the accompanying materials are licensed and made available
20 *  under the terms and conditions of the BSD License which accompanies this
21 *  distribution. The full text of the license may be found at
22 *  http://opensource.org/licenses/bsd-license.php
23 *
24 *  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
25 *  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR
26 *  IMPLIED.
27 *
28 ***************************************************************************/
29 //#########################################################################
30 //#########################################################################
31 //#########################################################################
32 //        NOTE: This file shared between SCP and UEFI, make sure all     //
33 //              changes are reflected in both copies.                    //
34 //#########################################################################
35 //#########################################################################
36 //#########################################################################
37 
38 #ifndef CORESTATUS_H_
39 #define CORESTATUS_H_
40 
41 
42 /*----------------------------------------------------------------------------------------
43  *                  T Y P E D E F S     A N D     S T R U C T U  R E S
44  *----------------------------------------------------------------------------------------
45  */
46 
47 /// Core State Enumeration
48 typedef enum {
49   CPU_CORE_UNDEFINED = 0,         ///< Core is undefined
50   CPU_CORE_DISABLED,              ///< Core is disabled
51   CPU_CORE_POWERUP,               ///< Core/cluster is powered up
52   CPU_CORE_POWERDOWN,             ///< Core/cluster is powered down
53   CPU_CORE_RESET,                 ///< Core is powered but in reset
54   CPU_CORE_RUN,                   ///< Core is running
55   CPU_CORE_SLEEP,                 ///< Core is powered and sleeping (TBD)
56 } CPU_CORE_STATE;
57 
58 /// SOC Core Status Structure
59 typedef struct {
60   UINT32            ClusterId;    ///< CPU Cluster ID
61   UINT32            CoreId;       ///< CPU Core ID
62   CPU_CORE_STATE    Status;       ///< Core State Enumeration
63   UINT64            ResetVector;  ///< CPU Core Reset Vector
64 } SocCoreStatus;
65 
66 #endif /* CORESTATUS_H_ */
67