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:
parent
11278dbabe
commit
b95a1a4ea0
|
@ -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])
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue