Update ApiEntry.asm to use MACRO instead of direct XMM access. Add sanity parameter check for FSP API. Add sanity return code check for internal API. Call LoadUcode before CarInit to meet silicon requirement. Remove unnecessary VpdBase for PatchTable. Add ASSERT for NULL check FSP1.1 entrypoint. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: "Yao, Jiewen" <jiewen.yao@intel.com> Reviewed-by: "Rangarajan, Ravi P" <ravi.p.rangarajan@intel.com> Reviewed-by: "Ma, Maurice" <maurice.ma@intel.com> Reviewed-by: "Mudusuru, Giri P" <giri.p.mudusuru@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16834 6f19259b-4bc3-4df7-8a09-765794883524
46 lines
1.3 KiB
C
46 lines
1.3 KiB
C
/** @file
|
|
|
|
Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.<BR>
|
|
This program and the accompanying materials
|
|
are licensed and made available under the terms and conditions of the BSD License
|
|
which accompanies this distribution. The full text of the license may be found at
|
|
http://opensource.org/licenses/bsd-license.php.
|
|
|
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
|
|
**/
|
|
|
|
#ifndef _FSP_GLOBAL_DATA_H_
|
|
#define _FSP_GLOBAL_DATA_H_
|
|
|
|
#include <FspInfoHeader.h>
|
|
|
|
#pragma pack(1)
|
|
|
|
typedef struct {
|
|
VOID *DataPtr;
|
|
UINT32 CodeRegionBase;
|
|
UINT32 CodeRegionSize;
|
|
UINT32 MicorcodeRegionBase;
|
|
UINT32 MicorcodeRegionSize;
|
|
} FSP_PLAT_DATA;
|
|
|
|
#define FSP_GLOBAL_DATA_SIGNATURE SIGNATURE_32 ('F', 'S', 'P', 'D')
|
|
|
|
typedef struct {
|
|
UINT32 Signature;
|
|
UINT32 CoreStack;
|
|
FSP_PLAT_DATA PlatformData;
|
|
FSP_INFO_HEADER *FspInfoHeader;
|
|
VOID *UpdDataRgnPtr;
|
|
UINT8 ApiMode;
|
|
UINT8 Reserved[3];
|
|
UINT32 PerfIdx;
|
|
UINT64 PerfData[32];
|
|
} FSP_GLOBAL_DATA;
|
|
|
|
#pragma pack()
|
|
|
|
#endif
|