fix gcc6 build error
[profile/mobile/platform/kernel/u-boot-tm1.git] / include / secure_verify.h
1 #ifndef SECURE_VERIFY_H
2 #define SECURE_VERIFY_H
3
4 #include <config.h>
5 #include <common.h>
6 #include <asm/arch/secure_boot.h>
7
8 #define SEC_HEADER_MAX_SIZE 4096
9
10 #define BOOTLOADER_HEADER_OFFSET 0x20
11 typedef struct {
12         uint32 mVersion;        // 1
13         uint32 mMagicNum;       // 0xaa55a5a5
14         uint32 mCheckSum;       //check sum value for bootloader header
15         uint32 mHashLen;        //word length
16         uint32 mSectorSize;     // sector size 1-1024
17         uint32 mAcyCle;         // 0, 1, 2
18         uint32 mBusWidth;       // 0--8 bit, 1--16bit
19         uint32 mSpareSize;      // spare part size for one sector
20         uint32 mEccMode;        // 0--1bit, 1-- 2bit, 2--4bit, 3--8bit, 4--12bit, 5--16bit, 6--24bit
21         uint32 mEccPostion;     // ECC postion at spare part
22         uint32 mSectPerPage;    // sector per page
23         uint32 mSinfoPos;
24         uint32 mSinfoSize;
25         uint32 mECCValue[27];
26         uint32 mPgPerBlk;
27         uint32 mImgPage[5];
28 } NBLHeader;
29
30 int secure_header_parser(uint8_t * header_addr);
31 uint32_t get_code_offset(uint8_t * header_addr);
32 int secure_verify(wchar_t * name, uint8_t * header, uint8_t * code);
33
34 #endif