boot_cert_pattern.c
2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include "kal_release.h"
#include "GFH_defs.h"
#include "br_GFH_error.h"
#include "br_GFH.h"
#include "br_GFH_file_info.h"
#include "boot_cert_pattern.h"
#include "custom_secure_config.h"
#if defined(__BOOT_CERT__)
extern kal_uint32 Image$$BOOT_CERT$$Base;
extern kal_uint32 Image$$BOOT_CERT$$Length;
#if defined(_NAND_FLASH_BOOTING_)
const GFH_FLASH_DEV g_flash_dev = F_NAND_FDM50;
#elif defined (__EMMC_BOOTING__)
const GFH_FLASH_DEV g_flash_dev = F_EMMC_DATA_REGION;
#elif defined (__SERIAL_FLASH_EN__)
const GFH_FLASH_DEV g_flash_dev = F_SF;
#else
const GFH_FLASH_DEV g_flash_dev = F_NOR;
#endif /* */
/* ------------------------------------- */
/* V1 structure */
/* ------------------------------------- */
#if defined(__BOOT_CERT_V1__)
const MTK_SRDInfo_v01_ST g_SRD_INFO =
{
"MTK_SRDINFO_V01",
0x1,
(kal_uint32)(&Image$$BOOT_CERT$$Base),
{BOOT_CERT_CTRL_PATTERN }
};
#elif defined(__BOOT_CERT_V2__)
/* ------------------------------------- */
/* V2 structure */
/* ------------------------------------- */
const MTK_SRDInfo_v02_ST g_SRD_INFO =
{
"MTK_SRDINFO_V02",
0x2,
(kal_uint32)(&Image$$BOOT_CERT$$Base),
{BOOT_CERT_CTRL_PATTERN },
{0}
};
#else
#error "no boot cert structure match this"
#endif /* */
/* ------------------------------------- */
/* global information */
/* ------------------------------------- */
#pragma arm section rodata = "BOOT_CERT_SIG"
const kal_uint32 g_boot_cert_sig[SIG_SINGLE_AND_PHASH_LEN>>2] = {SIG_HASH_VER};
#pragma arm section rodata
#pragma arm section rodata = "BOOT_CERT_DATA"
const DL_CTRL_FORMAT_ST DL_CTRL_BIN =
{
//GFH_FILE_INFO_v1
{
GFH_HEADER(GFH_FILE_INFO, 1),
GFH_FILE_INFO_ID,
1,
BOOT_CERT_CTRL,
g_flash_dev,
SIG_SINGLE_AND_PHASH,
(kal_uint32)(&Image$$BOOT_CERT$$Base),
sizeof(DL_CTRL_FORMAT_ST)+ sizeof(g_boot_cert_sig), //File Length, filled out by post-build
32*1024,
(kal_uint32)(&Image$$BOOT_CERT$$Length),
SIG_SINGLE_AND_PHASH_LEN,
0,
0
},
//GFH_BOOT_CERT_CTRL_CONTENT
{
GFH_HEADER(GFH_BOOT_CERT_CTRL_CONTENT, 1)
,{ BOOT_CERT_CTRL_PATTERN }
,{ 0 }
,{ 0 }
,{ 0 }
}
};
#pragma arm section rodata
#endif /* __BOOT_CERT__ */