-
Notifications
You must be signed in to change notification settings - Fork 318
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SKIP SOF-TEST] Add new -i3/-i4 flags + fuzz_*features.conf files to add more CONFIG_ when fuzzing #9409
[SKIP SOF-TEST] Add new -i3/-i4 flags + fuzz_*features.conf files to add more CONFIG_ when fuzzing #9409
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# See main file fuzz_features.conf |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# See main file fuzz_features.conf | ||
|
||
CONFIG_COMP_UP_DOWN_MIXER=y | ||
CONFIG_COMP_ARIA=y |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
# The goal of this file is to: | ||
# 1. Fuzz more code | ||
# 2. Reduce the gap between fuzzed SOF and the real thing. | ||
|
||
# KConfig warnings are NOT fatal so you must always INSPECT build logs when changing | ||
# .conf files. See https://github.com/thesofproject/sof/issues/9386 | ||
|
||
# Note 1. is not as simple as enabling as many CONFIG_ as possible. Enabling some CONFIG_ | ||
# can technically _disable_ some code paths. But the opposite is more common so let's add | ||
# more. | ||
|
||
# In the longer term we should have some more elaborate configuration framework to reduce | ||
# duplicate/diverge between fuzzing and production but also across product | ||
# generations. Something like config fragments including each other? Not something as | ||
# complicated as Yocto fragments but something more flexible than | ||
# https://docs.zephyrproject.org/latest/build/kconfig/setting.html#initial-conf | ||
# | ||
# Discuss in https://github.com/thesofproject/sof/issues/9386 | ||
|
||
# Many of these features are too far from IPC to make any fuzzing difference. But as long | ||
# as they reduce the size of the textual difference between build-fuzz/zephyr/.config and | ||
# build-xxx/zephyr/.config, they make that manual comparison easier which is still a win. | ||
|
||
|
||
CONFIG_COUNTER=y | ||
|
||
CONFIG_PROBE=y | ||
|
||
CONFIG_CRYPTO=y | ||
|
||
CONFIG_LOG_TIMESTAMP_64BIT=y | ||
CONFIG_MM_DRV=y | ||
|
||
CONFIG_DMA=y | ||
|
||
CONFIG_DAI=y | ||
|
||
CONFIG_PM_DEVICE=y | ||
CONFIG_POWER_DOMAIN=y | ||
|
||
CONFIG_COMP_SRC_IPC4_FULL_MATRIX=y | ||
CONFIG_COMP_CROSSOVER=y | ||
CONFIG_COMP_DRC=y | ||
CONFIG_COMP_KPB=y | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. everything should be one here, even if its only a stub, can you turn everything on? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I ran into some Kconfig warnings when trying to enable more stuff and I'm running a bit out of SOF time... the main purpose of this PR is really to set the scripting "framework" in place so people who know better can come and just tweak the CONFIG_... / features. Does that make sense? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. yep that is fine There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. A long time ago, I tried to find some -Werr option in kconfiglib.py but there is none, at least none for this. Because most people don't look at build logs, I'm afraid it means that CONFIG_ warnings and messes will never stop creeping in, see some examples in: This comment is NOT fuzzer-specific unfortunately. |
||
|
||
CONFIG_MATH_LUT_SINE_FIXED=y | ||
CONFIG_MATH_EXP=y | ||
CONFIG_MATH_IIR_DF2T=y |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we actually want / need to fuzz-test Zephyr Kconfig options or only SOF?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's a long comment at the top of this file... too long? :-)
Does line 20 answer the question?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I was confusing things a bit. For some reason I decided that for fuzzing tests we also randomise .config, which isn't the case, is it? Our fuzzing .config is fully deterministic so it can be fixed as close to the production one as only possible?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes that's the idea.
Even if we wanted to do it somewhere,
kconfiglib.py
has unfortunately no "randconfig" ability. At least not the last time I checked.