⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spsif.h

📁 RMI的处理器au1200系列所用的BOOTLOAD,包括SD卡启动USB启动硬盘启动网络启动,并初始化硬件的所有参数,支持内核调试.
💻 H
字号:
/** * \file * SIS external definitions. * * \version $Revision$ $State$ *  * \date $Date$ * * \author $Author$ *  * \par Last changed by: * $Author$ * *****************************************************************************//* * Copyright 2002 ADVANCED MICRO DEVICES, INC. All Rights Reserved. *  * This software and any related documentation (the "Materials") are the * confidential proprietary information of AMD. Unless otherwise provided * in an agreement specifically licensing the Materials, the Materials are * provided in confidence and may not to be used, distributed, modified, or * reproduced in whole or in part by any means. *  * LIMITATION OF LIABILITY: THE MATERIALS ARE PROVIDED "AS IS" WITHOUT ANY * EXPRESS OR IMPLIED WARRANTY OF ANY KIND, INCLUDING BUT NOT LIMITED TO * WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, TITLE, FITNESS FOR ANY * PARTICULAR PURPOSE, OR WARRANTIES ARISING FORM CONDUCT, COURSE OF * DEALING, OR USAGE OF TRADE.  IN NO EVENT SHALL AMD OR ITS LICENSORS BE * LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, * DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION, OR LOSS OF * INFORMATION) ARISING OUT OF THE USE OF OR INABILITY TO USE THE * MATERIALS, EVEN IF AMD HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH * DAMAGES.  BECAUSE SOME JURISDICTIONS PROHIBIT THE EXCLUSION OR * LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE * ABOVE LIMITATION MAY NOT APPLY TO YOU. *  * AMD does not assume any responsibility for any errors which may appear * in the Materials nor any responsibility to support or update the * Materials.  AMD retains the right to modify the Materials at any time, * without notice, and is not obligated to provide such modified Materials * to you. *  * NO SUPPORT OBLIGATION: AMD is not obligated to furnish, support, or make * any further information, software, technical information, know-how, or * show-how available to you. *  *****************************************************************************/#ifndef SPSIF_H#define SPSIF_H/* sec.h definitions should reside in shared */#include "sec.h"		/* here the patch record structure is defined *//******************************************************************************  Constants*****************************************************************************//******************************************************************************  Types*****************************************************************************//** * integrity check mode, i.e. mode of operation:  * what security measures shall be applied in what order */typedef enum SpsIntegrCheckModeTag {			      /** < image was...*/    SPS_ENCRYPT_SIGNED = 0x0,	  /** < ...first signed, then encrypted; "classic" histaeus mode */    SPS_SIGNED_ONLY,		  /** < ...signed only; adaptation for TRAVIS */    SPS_SIGN_ENCRYPTED,		  /** < ...first encrypted, then signed; snowmass secure boot mode */} SpsIntegrCheckMode_t;/** * \brief * SPS context information */typedef struct SpsContext_tag {    /* Magic Number, which indicates that structure initialized */    Int32 Magic;    /* integrity check mode, i.e. mode of operation: */    /* what security measures shall be applied in what order */    SpsIntegrCheckMode_t IntCheckMode;    /* Trustlevel Flags */    Boolean OverFlowObserved;	/* flag which inidcates invalid lengths or buffersizes */    Boolean TrustedEncrKey;	/* if it is not a */    Boolean WithSignature;    Int32 PatchPkgCounter;    /* pointer to DVE data structure */    void *pDveWorkspace;    void *pHashChainWorkspace;    /* current patch package information */    SpsPpPatchHeader_t patchheader; /** < storage for a copy of the patch header */    /* data block, which contains the patch records record */    Int8 *pPatchBuffer;		/** < pointer to the buffer start */    Int32 PatchRecordCnt;	/** < number of processed patch records */    Int32 PatchBufferSize;	/** < size of the total available patch buffer */    Int32 PatchBufferOffset;	/** < current offset of write pointer in patch buffer */} SpsContext_t;/** * return value for sps fuctions */typedef enum SpsSuccessTag {    SPS_SUCCESSFUL = 0x0,    SPS_UNSUCCESSFUL = SPS_ERROR_BASE,    SPS_NULL_PTR_FAIL,    SPS_INIT_FAIL,    SPS_PINFO_FAIL,    SPS_PHEADER_FAIL,    SPS_NO_BUFFER_FAIL,    SPS_SMALL_BUFFER_FAIL,    SPS_EPR_LENGTH_FAIL,    SPS_PP_NBPR_FAIL,    SPS_PP_DATASIZE_FAIL,} SpsSuccess_t;/******************************************************************************  Macros*****************************************************************************/#define SPS_CONTEXT_SIZE 	(sizeof(SpsContext_t))/******************************************************************************  Classes*****************************************************************************//******************************************************************************  Data*****************************************************************************/#ifdef __cplusplusextern "C" {#endif#ifdef __cplusplus}				/* extern "C" */#endif/******************************************************************************  Functions*****************************************************************************/#ifdef __cplusplusextern "C" {#endif/* from sis.c - see there for docs */    SpsSuccess_t SpsInitCtx(SpsContext_t * pCtx);    SpsSuccess_t SpsProcessInfo(SpsContext_t * pCtx,				SpsPpPatchInfo_t * pInfo, Int32 Size);    SpsSuccess_t SpsProcessHeader(SpsContext_t * pCtx, Int8 * pHdr,				  Int32 Size, Int32 * pPatchSize);    SpsSuccess_t SpsProcessPrFragment(SpsContext_t * pCtx, Int8 * pData,				      Int32 Size);    SpsSuccess_t SpsFinalizePp(SpsContext_t * pCtx, Int8 * pTrustLevel,			       char *pVersionInfo, Int8 ** pPatchData);#ifdef __cplusplus}				/* extern "C" */#endif/******************************************************************************  Inline Functions*****************************************************************************/#endif				/* #ifndef SISIF_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -