autoport: Support bigger ACPI tables

DSDT can be bigger than 0x10000 bytes, so increase the space up to 1MB
for an ACPI table and support lines in acpidump.log with address
higher than 0x10000.

Change-Id: Iaadcfd0964c1c516e9e39d6cbfe41ec9a8c45e9d
Signed-off-by: Iru Cai <mytbk920423@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/31759
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Iru Cai 2019-03-05 15:56:39 +08:00 committed by Angel Pons
parent 11278dbabe
commit b95a1a4ea0
1 changed files with 3 additions and 3 deletions

View File

@ -107,12 +107,12 @@ func (l *LogDevReader) GetACPI() (Tables map[string][]byte) {
curTable := "" curTable := ""
for scanner.Scan() { for scanner.Scan() {
line := scanner.Text() line := scanner.Text()
/* Only supports ACPI tables up to 0x10000 in size, FIXME if needed */ /* Only supports ACPI tables up to 0x100000 in size, FIXME if needed */
is_hexline, _ := regexp.MatchString(" *[0-9A-Fa-f]{4}: ", line) is_hexline, _ := regexp.MatchString(" *[0-9A-Fa-f]{4,5}: ", line)
switch { switch {
case len(line) >= 6 && line[5] == '@': case len(line) >= 6 && line[5] == '@':
curTable = line[0:4] curTable = line[0:4]
Tables[curTable] = make([]byte, 0, 100000) Tables[curTable] = make([]byte, 0, 0x100000)
case is_hexline: case is_hexline:
Tables[curTable] = l.AssignHexLine(line, Tables[curTable]) Tables[curTable] = l.AssignHexLine(line, Tables[curTable])
} }