diff options
author | Sam Hurst <shurst@google.com> | 2020-05-06 08:51:08 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-05-21 04:56:46 +0000 |
commit | 61efe94f1e1ca1ebbd7c49ed9bd1bcfe8948e7f0 (patch) | |
tree | d4484be2e69c78dcb8369be447b0b139ba147ef0 /fuzz | |
parent | c92f3d36f70a551e3df442cc7e015000f73f0578 (diff) | |
download | chrome-ec-61efe94f1e1ca1ebbd7c49ed9bd1bcfe8948e7f0.tar.gz |
TCPMv2: Only include PD3.0 functionality when CONFIG_USB_PD_REV30
The TCPMv2 stack defaults to PD2.0 functionality. Defining
CONFIG_USB_PD_REV30 enables PD3.0 functionality.
BUG=b:155879504
BRANCH=none
TEST=make -j buildall
Manual tests:
passed FAFT_PD running on kohaku
Before patch:
*** 18624 bytes in flash and 29216 bytes in RAM on kohaku RO ****
*** 18544 bytes in flash and 29216 bytes in RAM on kohaku RW ****
After patch:
*** 23320 bytes in flash and 30336 bytes in RAM on kohaku RO ****
*** 23228 bytes in flash and 30336 bytes in RAM on kohaku RW ****
Flash savings of 4696 bytest
Ram savings of 1120
Signed-off-by: Sam Hurst <shurst@google.com>
Change-Id: I082cf62617a91b487d2d3567afd5e340bd52258c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2184547
Reviewed-by: Jett Rink <jettrink@chromium.org>
Diffstat (limited to 'fuzz')
-rw-r--r-- | fuzz/build.mk | 8 | ||||
-rw-r--r-- | fuzz/fuzz_config.h | 25 | ||||
-rw-r--r-- | fuzz/usb_tcpm_v2_rev20_fuzz.c (renamed from fuzz/usb_tcpm_v2_fuzz.c) | 3 | ||||
-rw-r--r-- | fuzz/usb_tcpm_v2_rev20_fuzz.mocklist (renamed from fuzz/usb_tcpm_v2_fuzz.mocklist) | 0 | ||||
-rw-r--r-- | fuzz/usb_tcpm_v2_rev20_fuzz.tasklist (renamed from fuzz/usb_tcpm_v2_fuzz.tasklist) | 1 | ||||
l--------- | fuzz/usb_tcpm_v2_rev30_fuzz.c | 1 | ||||
l--------- | fuzz/usb_tcpm_v2_rev30_fuzz.mocklist | 1 | ||||
l--------- | fuzz/usb_tcpm_v2_rev30_fuzz.tasklist | 1 |
8 files changed, 35 insertions, 5 deletions
diff --git a/fuzz/build.mk b/fuzz/build.mk index e1ed79b77b..44ddb56974 100644 --- a/fuzz/build.mk +++ b/fuzz/build.mk @@ -9,7 +9,8 @@ fuzz-test-list-host = # Fuzzers should only be built for architectures that support sanitizers. ifeq ($(ARCH),amd64) -fuzz-test-list-host += host_command_fuzz usb_pd_fuzz usb_tcpm_v2_fuzz +fuzz-test-list-host += host_command_fuzz usb_pd_fuzz usb_tcpm_v2_rev20_fuzz \ + usb_tcpm_v2_rev30_fuzz endif # For fuzzing targets libec.a is built from the ro objects and hides functions @@ -26,4 +27,7 @@ endif # Otherwise use <obj_name>-y host_command_fuzz-y = host_command_fuzz.o usb_pd_fuzz-y = usb_pd_fuzz.o -usb_tcpm_v2_fuzz-y = usb_pd_fuzz.o usb_tcpm_v2_fuzz.o ../test/fake_battery.o +usb_tcpm_v2_rev30_fuzz-y = usb_pd_fuzz.o usb_tcpm_v2_rev30_fuzz.o \ + ../test/fake_battery.o +usb_tcpm_v2_rev20_fuzz-y = usb_pd_fuzz.o usb_tcpm_v2_rev20_fuzz.o \ + ../test/fake_battery.o diff --git a/fuzz/fuzz_config.h b/fuzz/fuzz_config.h index 61aacb7660..88664c8fb6 100644 --- a/fuzz/fuzz_config.h +++ b/fuzz/fuzz_config.h @@ -41,7 +41,7 @@ #define CONFIG_SW_CRC #endif /* TEST_USB_PD_FUZZ */ -#ifdef TEST_USB_TCPM_V2_FUZZ +#ifdef TEST_USB_TCPM_V2_REV30_FUZZ #define CONFIG_USB_PD_DUAL_ROLE #define CONFIG_USB_PD_PORT_MAX_COUNT 2 #define CONFIG_USB_PD_TCPC_LOW_POWER @@ -49,6 +49,7 @@ #define CONFIG_USB_PID 0x5555 #define CONFIG_USB_POWER_DELIVERY #define CONFIG_USB_PRL_SM +#define CONFIG_USB_PD_REV30 #define CONFIG_USB_PD_TCPMV2 #define CONFIG_USB_PD_DECODE_SOP #define CONFIG_USB_DRP_ACC_TRYSRC @@ -59,7 +60,27 @@ #define PD_VCONN_SWAP_DELAY 5000 #define CONFIG_SHA256 #define CONFIG_SW_CRC -#endif /* TEST_USB_TCPM_V2_FUZZ */ +#endif /* TEST_USB_TCPM_V2_REV30_FUZZ */ + +#ifdef TEST_USB_TCPM_V2_REV20_FUZZ +#define CONFIG_USB_PD_DUAL_ROLE +#define CONFIG_USB_PD_PORT_MAX_COUNT 2 +#define CONFIG_USB_PD_TCPC_LOW_POWER +#define CONFIG_USB_PD_TRY_SRC +#define CONFIG_USB_PID 0x5555 +#define CONFIG_USB_POWER_DELIVERY +#define CONFIG_USB_PRL_SM +#define CONFIG_USB_PD_TCPMV2 +#define CONFIG_USB_PD_DECODE_SOP +#define CONFIG_USB_DRP_ACC_TRYSRC +#define CONFIG_USB_PD_ALT_MODE_DFP +#define CONFIG_USBC_SS_MUX +#define CONFIG_USBC_VCONN +#define CONFIG_USBC_VCONN_SWAP +#define PD_VCONN_SWAP_DELAY 5000 +#define CONFIG_SHA256 +#define CONFIG_SW_CRC +#endif /* TEST_USB_TCPM_V2_REV20_FUZZ */ #endif /* TEST_FUZZ */ #endif /* __FUZZ_FUZZ_CONFIG_H */ diff --git a/fuzz/usb_tcpm_v2_fuzz.c b/fuzz/usb_tcpm_v2_rev20_fuzz.c index d4f91aba8d..f5afb92ac1 100644 --- a/fuzz/usb_tcpm_v2_fuzz.c +++ b/fuzz/usb_tcpm_v2_rev20_fuzz.c @@ -1,4 +1,4 @@ -/* Copyright 2019 The Chromium OS Authors. All rights reserved. +/* Copyright 2020 The Chromium OS Authors. All rights reserved. * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. * @@ -30,3 +30,4 @@ int pd_check_vconn_swap(int port) { return 1; } + diff --git a/fuzz/usb_tcpm_v2_fuzz.mocklist b/fuzz/usb_tcpm_v2_rev20_fuzz.mocklist index 1b2c615371..1b2c615371 100644 --- a/fuzz/usb_tcpm_v2_fuzz.mocklist +++ b/fuzz/usb_tcpm_v2_rev20_fuzz.mocklist diff --git a/fuzz/usb_tcpm_v2_fuzz.tasklist b/fuzz/usb_tcpm_v2_rev20_fuzz.tasklist index 41f5791411..e3ad19e719 100644 --- a/fuzz/usb_tcpm_v2_fuzz.tasklist +++ b/fuzz/usb_tcpm_v2_rev20_fuzz.tasklist @@ -9,3 +9,4 @@ #define CONFIG_TEST_TASK_LIST \ TASK_TEST(PD_C0, pd_task, NULL, LARGER_TASK_STACK_SIZE) \ TASK_TEST(PD_C1, pd_task, NULL, LARGER_TASK_STACK_SIZE) + diff --git a/fuzz/usb_tcpm_v2_rev30_fuzz.c b/fuzz/usb_tcpm_v2_rev30_fuzz.c new file mode 120000 index 0000000000..e62b1786fd --- /dev/null +++ b/fuzz/usb_tcpm_v2_rev30_fuzz.c @@ -0,0 +1 @@ +usb_tcpm_v2_rev20_fuzz.c
\ No newline at end of file diff --git a/fuzz/usb_tcpm_v2_rev30_fuzz.mocklist b/fuzz/usb_tcpm_v2_rev30_fuzz.mocklist new file mode 120000 index 0000000000..061e1ef826 --- /dev/null +++ b/fuzz/usb_tcpm_v2_rev30_fuzz.mocklist @@ -0,0 +1 @@ +usb_tcpm_v2_rev20_fuzz.mocklist
\ No newline at end of file diff --git a/fuzz/usb_tcpm_v2_rev30_fuzz.tasklist b/fuzz/usb_tcpm_v2_rev30_fuzz.tasklist new file mode 120000 index 0000000000..a01883297a --- /dev/null +++ b/fuzz/usb_tcpm_v2_rev30_fuzz.tasklist @@ -0,0 +1 @@ +usb_tcpm_v2_rev20_fuzz.tasklist
\ No newline at end of file |