Home | History | Annotate | Download | only in Include
      1 /** @file
      2 
      3   Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>
      4   This program and the accompanying materials
      5   are licensed and made available under the terms and conditions of the BSD License
      6   which accompanies this distribution.  The full text of the license may be found at
      7   http://opensource.org/licenses/bsd-license.php.
      8 
      9   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     10   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     11 
     12 **/
     13 
     14 #ifndef _FSP_GLOBAL_DATA_H_
     15 #define _FSP_GLOBAL_DATA_H_
     16 
     17 #include <FspEas.h>
     18 
     19 #pragma pack(1)
     20 
     21 typedef enum {
     22   TempRamInitApiIndex,
     23   FspInitApiIndex,
     24   NotifyPhaseApiIndex,
     25   FspMemoryInitApiIndex,
     26   TempRamExitApiIndex,
     27   FspSiliconInitApiIndex,
     28   FspApiIndexMax
     29 } FSP_API_INDEX;
     30 
     31 typedef struct  {
     32    VOID               *DataPtr;
     33    UINT32             MicrocodeRegionBase;
     34    UINT32             MicrocodeRegionSize;
     35    UINT32             CodeRegionBase;
     36    UINT32             CodeRegionSize;
     37 } FSP_PLAT_DATA;
     38 
     39 #define FSP_GLOBAL_DATA_SIGNATURE  SIGNATURE_32 ('F', 'S', 'P', 'D')
     40 #define FSP_PERFORMANCE_DATA_SIGNATURE  SIGNATURE_32 ('P', 'E', 'R', 'F')
     41 #define FSP_PERFORMANCE_DATA_TIMER_MASK 0xFFFFFFFFFFFFFF
     42 
     43 typedef struct  {
     44    UINT32             Signature;
     45    UINT8              Version;
     46    UINT8              Reserved1[3];
     47    UINT32             CoreStack;
     48    UINT32             StatusCode;
     49    UINT32             Reserved2[8];
     50    FSP_PLAT_DATA      PlatformData;
     51    FSP_INFO_HEADER    *FspInfoHeader;
     52    VOID               *UpdDataPtr;
     53    VOID               *TempRamInitUpdPtr;
     54    VOID               *MemoryInitUpdPtr;
     55    VOID               *SiliconInitUpdPtr;
     56    UINT8              ApiIdx;
     57    UINT8              Reserved3[31];
     58    UINT32             PerfSig;
     59    UINT16             PerfLen;
     60    UINT16             Reserved4;
     61    UINT32             PerfIdx;
     62    UINT64             PerfData[32];
     63 } FSP_GLOBAL_DATA;
     64 
     65 #pragma pack()
     66 
     67 #endif
     68