1 /*
2  * Copyright (C) 2015-2020 Alibaba Group Holding Limited
3  */
4 #include "plat_addr_map.h"
5 
6 #define BUILD_INFO_LOCATION             __attribute__((section(".build_info")))
7 
8 #define TO_STR_A(s)                     # s
9 #define TO_STR(s)                       TO_STR_A(s)
10 
11 #ifdef TRACE_CRLF
12 #define NEW_LINE_STR                    "\r\n"
13 #else
14 #define NEW_LINE_STR                    "\n"
15 #endif
16 
17 const char BUILD_INFO_LOCATION sys_build_info[] =
18 #if defined(ROM_BUILD) || defined(PROGRAMMER)
19     __DATE__   " "   __TIME__ " " TO_STR(REVISION_INFO);
20 #else
21     NEW_LINE_STR "CHIP=" TO_STR(CHIP)
22 #ifdef CHIP_SUBTYPE
23     NEW_LINE_STR "CHIP_SUBTYPE=" TO_STR(CHIP_SUBTYPE)
24 #endif
25     NEW_LINE_STR "KERNEL=" TO_STR(KERNEL)
26 #ifdef OTA_CODE_OFFSET
27     NEW_LINE_STR "OTA_CODE_OFFSET=" TO_STR(OTA_CODE_OFFSET)
28 #endif
29 #ifdef SOFTWARE_VERSION
30     NEW_LINE_STR "SW_VER=" TO_STR(SOFTWARE_VERSION)
31 #endif
32 #ifdef OTA_BOOT_SIZE
33     NEW_LINE_STR "SW_TYPE=OTA"
34     NEW_LINE_STR "OTA_BOOT_SIZE=" TO_STR(OTA_BOOT_SIZE)
35 #else
36     NEW_LINE_STR "CRASH_DUMP_SIZE=" TO_STR(CRASH_DUMP_SECTION_SIZE)
37     NEW_LINE_STR "AUD_SEC_SIZE=" TO_STR(AUD_SECTION_SIZE)
38     NEW_LINE_STR "USER_SEC_SIZE=" TO_STR(USERDATA_SECTION_SIZE)
39     NEW_LINE_STR "FACT_SEC_SIZE=" TO_STR(FACTORY_SECTION_SIZE)
40     NEW_LINE_STR "NV_REC_DEV_VER=" TO_STR(NV_REC_DEV_VER)
41 #endif
42     NEW_LINE_STR "FLASH_BASE=" TO_STR(FLASH_NC_BASE)
43     NEW_LINE_STR "FLASH_SIZE=" TO_STR(FLASH_SIZE)
44 #ifdef OTA_REMAP_OFFSET
45     NEW_LINE_STR "OTA_REMAP_OFFSET=" TO_STR(OTA_REMAP_OFFSET)
46 #endif
47     NEW_LINE_STR "CRC32_OF_IMAGE=0x00000000"
48     //--------------------
49     // Add new items above
50     //--------------------
51     NEW_LINE_STR "BUILD_DATE=" __DATE__   " "   __TIME__
52     NEW_LINE_STR "REV_INFO=" TO_STR(REVISION_INFO)
53     NEW_LINE_STR;
54 #endif
55 
56