diff options
author | Arthur Heymans <arthur@aheymans.xyz> | 2018-08-12 00:21:08 +0200 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2018-08-14 09:52:19 +0000 |
commit | 8bd25abc051d039dd05ab3c848fc8fae1eb1c736 (patch) | |
tree | f8c679c27526596b832993ac751e02076e181270 | |
parent | b75a08b1992902d1c2895e093b5d08d6e36211c2 (diff) |
util/autoport: Adapt logmaker for newer ACPI versions
acpidump now creates dumps with 4 spaces instead of 2 in front of the hex dump,
so be a bit smarter about the input with regexp.
Tested with X220 autoport logs: Still creates the same coreboot code.
Change-Id: I8d48c09cdff9432f394b350540ea9765fc942781
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/28054
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
-rw-r--r-- | util/autoport/log_reader.go | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/util/autoport/log_reader.go b/util/autoport/log_reader.go index c94d182b49..d9a687ad42 100644 --- a/util/autoport/log_reader.go +++ b/util/autoport/log_reader.go @@ -6,6 +6,7 @@ import ( "fmt" "log" "os" + "regexp" "strconv" "strings" ) @@ -106,11 +107,13 @@ func (l *LogDevReader) GetACPI() (Tables map[string][]byte) { curTable := "" for scanner.Scan() { line := scanner.Text() + /* Only supports ACPI tables up to 0x10000 in size, FIXME if needed */ + is_hexline, _ := regexp.MatchString(" *[0-9A-Fa-f]{4}: ", line) switch { case len(line) >= 6 && line[5] == '@': curTable = line[0:4] Tables[curTable] = make([]byte, 0, 100000) - case len(line) > 7 && line[0:2] == " " && isXDigit(line[2]) && isXDigit(line[3]) && isXDigit(line[4]) && isXDigit(line[5]) && line[6] == ':': + case is_hexline: Tables[curTable] = l.AssignHexLine(line, Tables[curTable]) } } |