xref: /aosp_15_r20/external/gsc-utils/fuzz/fuzz_config.h (revision 4f2df630800bdcf1d4f0decf95d8a1cb87344f5f)
1*4f2df630SAndroid Build Coastguard Worker /* Copyright 2018 The ChromiumOS Authors
2*4f2df630SAndroid Build Coastguard Worker  * Use of this source code is governed by a BSD-style license that can be
3*4f2df630SAndroid Build Coastguard Worker  * found in the LICENSE file.
4*4f2df630SAndroid Build Coastguard Worker  */
5*4f2df630SAndroid Build Coastguard Worker 
6*4f2df630SAndroid Build Coastguard Worker /* Fuzzer target config flags */
7*4f2df630SAndroid Build Coastguard Worker 
8*4f2df630SAndroid Build Coastguard Worker #ifndef __FUZZ_FUZZ_CONFIG_H
9*4f2df630SAndroid Build Coastguard Worker #define __FUZZ_FUZZ_CONFIG_H
10*4f2df630SAndroid Build Coastguard Worker #ifdef TEST_FUZZ
11*4f2df630SAndroid Build Coastguard Worker 
12*4f2df630SAndroid Build Coastguard Worker /* Disable hibernate: We never want to exit while fuzzing. */
13*4f2df630SAndroid Build Coastguard Worker #undef CONFIG_HIBERNATE
14*4f2df630SAndroid Build Coastguard Worker 
15*4f2df630SAndroid Build Coastguard Worker #ifdef TEST_PINWEAVER_FUZZ
16*4f2df630SAndroid Build Coastguard Worker #define CONFIG_DCRYPTO
17*4f2df630SAndroid Build Coastguard Worker #define CONFIG_PINWEAVER
18*4f2df630SAndroid Build Coastguard Worker #define CONFIG_UPTO_SHA512
19*4f2df630SAndroid Build Coastguard Worker #define SHA512_SUPPORT
20*4f2df630SAndroid Build Coastguard Worker #define CONFIG_MALLOC
21*4f2df630SAndroid Build Coastguard Worker 
22*4f2df630SAndroid Build Coastguard Worker /******************************************************************************/
23*4f2df630SAndroid Build Coastguard Worker /* From chip/g/config_chip.h */
24*4f2df630SAndroid Build Coastguard Worker 
25*4f2df630SAndroid Build Coastguard Worker #define CFG_FLASH_HALF (CONFIG_FLASH_SIZE >> 1)
26*4f2df630SAndroid Build Coastguard Worker #define CFG_TOP_SIZE   0x3000
27*4f2df630SAndroid Build Coastguard Worker #define CFG_TOP_A_OFF  (CFG_FLASH_HALF - CFG_TOP_SIZE)
28*4f2df630SAndroid Build Coastguard Worker #define CFG_TOP_B_OFF  (CONFIG_FLASH_SIZE - CFG_TOP_SIZE)
29*4f2df630SAndroid Build Coastguard Worker 
30*4f2df630SAndroid Build Coastguard Worker /******************************************************************************/
31*4f2df630SAndroid Build Coastguard Worker /* From board/cr50/board.h */
32*4f2df630SAndroid Build Coastguard Worker /* Non-volatile counter storage for U2F */
33*4f2df630SAndroid Build Coastguard Worker #define CONFIG_CRC8
34*4f2df630SAndroid Build Coastguard Worker #define CONFIG_FLASH_ERASED_VALUE32 (-1U)
35*4f2df630SAndroid Build Coastguard Worker #define CONFIG_FLASH_LOG
36*4f2df630SAndroid Build Coastguard Worker #define CONFIG_FLASH_LOG_BASE  CONFIG_PROGRAM_MEMORY_BASE
37*4f2df630SAndroid Build Coastguard Worker #define CONFIG_FLASH_LOG_SPACE 0x800
38*4f2df630SAndroid Build Coastguard Worker 
39*4f2df630SAndroid Build Coastguard Worker /* We're using TOP_A for partition 0, TOP_B for partition 1 */
40*4f2df630SAndroid Build Coastguard Worker #define CONFIG_FLASH_NVMEM
41*4f2df630SAndroid Build Coastguard Worker /* Offset to start of NvMem area from base of flash */
42*4f2df630SAndroid Build Coastguard Worker #define CONFIG_FLASH_NVMEM_OFFSET_A (CFG_TOP_A_OFF)
43*4f2df630SAndroid Build Coastguard Worker #define CONFIG_FLASH_NVMEM_OFFSET_B (CFG_TOP_B_OFF)
44*4f2df630SAndroid Build Coastguard Worker /* Address of start of Nvmem area */
45*4f2df630SAndroid Build Coastguard Worker #define CONFIG_FLASH_NVMEM_BASE_A \
46*4f2df630SAndroid Build Coastguard Worker 	(CONFIG_PROGRAM_MEMORY_BASE + CONFIG_FLASH_NVMEM_OFFSET_A)
47*4f2df630SAndroid Build Coastguard Worker #define CONFIG_FLASH_NVMEM_BASE_B \
48*4f2df630SAndroid Build Coastguard Worker 	(CONFIG_PROGRAM_MEMORY_BASE + CONFIG_FLASH_NVMEM_OFFSET_B)
49*4f2df630SAndroid Build Coastguard Worker #define CONFIG_FLASH_NEW_NVMEM_BASE_A \
50*4f2df630SAndroid Build Coastguard Worker 	(CONFIG_FLASH_NVMEM_BASE_A + CONFIG_FLASH_BANK_SIZE)
51*4f2df630SAndroid Build Coastguard Worker #define CONFIG_FLASH_NEW_NVMEM_BASE_B \
52*4f2df630SAndroid Build Coastguard Worker 	(CONFIG_FLASH_NVMEM_BASE_B + CONFIG_FLASH_BANK_SIZE)
53*4f2df630SAndroid Build Coastguard Worker /* Size partition in NvMem */
54*4f2df630SAndroid Build Coastguard Worker #define NVMEM_PARTITION_SIZE (CFG_TOP_SIZE)
55*4f2df630SAndroid Build Coastguard Worker /* Size in bytes of NvMem area */
56*4f2df630SAndroid Build Coastguard Worker #define CONFIG_FLASH_NVMEM_SIZE (NVMEM_PARTITION_SIZE * NVMEM_NUM_PARTITIONS)
57*4f2df630SAndroid Build Coastguard Worker 
58*4f2df630SAndroid Build Coastguard Worker #define NEW_NVMEM_PARTITION_SIZE (NVMEM_PARTITION_SIZE - CONFIG_FLASH_BANK_SIZE)
59*4f2df630SAndroid Build Coastguard Worker #define NEW_NVMEM_TOTAL_PAGES \
60*4f2df630SAndroid Build Coastguard Worker 	(2 * NEW_NVMEM_PARTITION_SIZE / CONFIG_FLASH_BANK_SIZE)
61*4f2df630SAndroid Build Coastguard Worker 
62*4f2df630SAndroid Build Coastguard Worker /* Enable <key, value> variable support. */
63*4f2df630SAndroid Build Coastguard Worker #define CONFIG_FLASH_NVMEM_VARS
64*4f2df630SAndroid Build Coastguard Worker #define NVMEM_CR50_SIZE			  272
65*4f2df630SAndroid Build Coastguard Worker #define CONFIG_FLASH_NVMEM_VARS_USER_SIZE NVMEM_CR50_SIZE
66*4f2df630SAndroid Build Coastguard Worker 
67*4f2df630SAndroid Build Coastguard Worker #ifndef __ASSEMBLER__
68*4f2df630SAndroid Build Coastguard Worker enum nvmem_users { NVMEM_TPM = 0, NVMEM_CR50, NVMEM_NUM_USERS };
69*4f2df630SAndroid Build Coastguard Worker #endif
70*4f2df630SAndroid Build Coastguard Worker 
71*4f2df630SAndroid Build Coastguard Worker #define NVMEM_TPM_SIZE \
72*4f2df630SAndroid Build Coastguard Worker 	(sizeof(((nvmem_partition *)(0))->buffer) - NVMEM_CR50_SIZE)
73*4f2df630SAndroid Build Coastguard Worker 
74*4f2df630SAndroid Build Coastguard Worker #define CONFIG_FLASH_NVMEM_VARS_USER_NUM NVMEM_CR50
75*4f2df630SAndroid Build Coastguard Worker 
76*4f2df630SAndroid Build Coastguard Worker /******************************************************************************/
77*4f2df630SAndroid Build Coastguard Worker #define CONFIG_SW_CRC
78*4f2df630SAndroid Build Coastguard Worker 
79*4f2df630SAndroid Build Coastguard Worker #endif /* TEST_PINWEAVER_FUZZ */
80*4f2df630SAndroid Build Coastguard Worker 
81*4f2df630SAndroid Build Coastguard Worker #ifdef TEST_HOST_COMMAND_FUZZ
82*4f2df630SAndroid Build Coastguard Worker #undef CONFIG_HOSTCMD_DEBUG_MODE
83*4f2df630SAndroid Build Coastguard Worker 
84*4f2df630SAndroid Build Coastguard Worker /* Defining this makes fuzzing slower, but exercises additional code paths. */
85*4f2df630SAndroid Build Coastguard Worker #define FUZZ_HOSTCMD_VERBOSE
86*4f2df630SAndroid Build Coastguard Worker 
87*4f2df630SAndroid Build Coastguard Worker #ifdef FUZZ_HOSTCMD_VERBOSE
88*4f2df630SAndroid Build Coastguard Worker #define CONFIG_HOSTCMD_DEBUG_MODE HCDEBUG_PARAMS
89*4f2df630SAndroid Build Coastguard Worker #else
90*4f2df630SAndroid Build Coastguard Worker #define CONFIG_HOSTCMD_DEBUG_MODE HCDEBUG_OFF
91*4f2df630SAndroid Build Coastguard Worker #endif /* ! FUZZ_HOSTCMD_VERBOSE */
92*4f2df630SAndroid Build Coastguard Worker 
93*4f2df630SAndroid Build Coastguard Worker /* The following are for fpsensor host commands. */
94*4f2df630SAndroid Build Coastguard Worker #define CONFIG_AES
95*4f2df630SAndroid Build Coastguard Worker #define CONFIG_AES_GCM
96*4f2df630SAndroid Build Coastguard Worker #define CONFIG_ROLLBACK_SECRET_SIZE 32
97*4f2df630SAndroid Build Coastguard Worker #define CONFIG_SHA256
98*4f2df630SAndroid Build Coastguard Worker 
99*4f2df630SAndroid Build Coastguard Worker #endif /* TEST_HOST_COMMAND_FUZZ */
100*4f2df630SAndroid Build Coastguard Worker 
101*4f2df630SAndroid Build Coastguard Worker #ifdef TEST_U2F_FUZZ
102*4f2df630SAndroid Build Coastguard Worker #define CONFIG_DCRYPTO
103*4f2df630SAndroid Build Coastguard Worker #define CONFIG_U2F
104*4f2df630SAndroid Build Coastguard Worker #define CC_EXTENSION CC_COMMAND
105*4f2df630SAndroid Build Coastguard Worker #endif /* TEST_U2F_FUZZ */
106*4f2df630SAndroid Build Coastguard Worker 
107*4f2df630SAndroid Build Coastguard Worker #endif /* TEST_FUZZ */
108*4f2df630SAndroid Build Coastguard Worker #endif /* __FUZZ_FUZZ_CONFIG_H */
109