summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur Heymans <arthur@aheymans.xyz>2018-08-12 00:21:08 +0200
committerPatrick Georgi <pgeorgi@google.com>2018-08-14 09:52:19 +0000
commit8bd25abc051d039dd05ab3c848fc8fae1eb1c736 (patch)
treef8c679c27526596b832993ac751e02076e181270
parentb75a08b1992902d1c2895e093b5d08d6e36211c2 (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.go5
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])
}
}