summaryrefslogtreecommitdiff
path: root/Documentation/contributing
diff options
context:
space:
mode:
authorPatrick Georgi <pgeorgi@google.com>2019-03-08 09:25:29 +0100
committerPatrick Georgi <pgeorgi@google.com>2019-03-09 12:46:09 +0000
commitd9a5779a0e2dbe52ca22593da78c32a8b2d7d29e (patch)
treed2605deb8a100e4385430477f83ec3be9af210e4 /Documentation/contributing
parent1ddccbf2d2a9efe91119e879bd7f33b3044ecf51 (diff)
Docs/project_ideas: Add a "parse SerialICE traces" project idea
Change-Id: I696811ff93948358f03ff617d294ecc40bd4c746 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/31820 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Diffstat (limited to 'Documentation/contributing')
-rw-r--r--Documentation/contributing/project_ideas.md22
1 files changed, 22 insertions, 0 deletions
diff --git a/Documentation/contributing/project_ideas.md b/Documentation/contributing/project_ideas.md
index 97499a8c62..21a756d99a 100644
--- a/Documentation/contributing/project_ideas.md
+++ b/Documentation/contributing/project_ideas.md
@@ -179,3 +179,25 @@ disassembler and decompiler that is extensible through plugins. Make it
useful for firmware related work: Automatically parse formats (eg. by
integrating UEFITool, cbfstool, decompressors), automatically identify
16/32/64bit code on x86/amd64, etc.
+
+## Learn hardware behavior from I/O and memory access logs
+[SerialICE](https://www.serialice.com) is a tool to trace the behavior of
+executable code like firmware images. One result of that is a long log file
+containing the accesses to hardware resources.
+
+It would be useful to have a tool that assists a developer-analyst in deriving
+knowledge about hardware from such logs. This likely can't be entirely
+automatic, but a tool that finds patterns and can propagate them across the
+log (incrementially raising the log from plain I/O accesses to a high-level
+description of driver behavior) would be of great use.
+
+This is a research-heavy project.
+
+### Requirements
+* Driver knowledge: Somebody working on this should be familiar with
+ how hardware works (eg. MMIO based register access, index/data port
+ accesses) and how to read data sheets.
+* Machine Learning: ML techniques may be useful to find structure in traces.
+
+### Mentors
+* Ron Minnich <rminnich@google.com>