It's been over 2 years since the last meaningful change to the DSDT files in the SeaBIOS repo. (And that's with good cause, as the content is now only used by old QEMU machine types and it should be static.) It does not make sense to require iasl on every build to generate these files. Instead, it's simpler to just commit the four generated files into the code repo.
-Kevin
Kevin O'Connor (5): acpi_extract: Move main code to new function main() acpi_extract: Make the generated .hex files more human readable acpi_extract: Don't generate unused (and empty) q35-acpi-dsdt.hex file acpi: Don't build SSDT files on every build; store them in git acpi: Remove build check for iasl
Makefile | 4 +- scripts/acpi_extract.py | 232 ++++++++++---------- scripts/test-build.sh | 13 -- src/fw/acpi-dsdt.hex | 554 ++++++++++++++++++++++++++++++++++++++++++++++++ src/fw/acpi.c | 8 +- src/fw/ssdt-misc.hex | 88 ++++++++ src/fw/ssdt-pcihp.hex | 38 ++++ src/fw/ssdt-proc.hex | 35 +++ 8 files changed, 843 insertions(+), 129 deletions(-) create mode 100644 src/fw/acpi-dsdt.hex create mode 100644 src/fw/ssdt-misc.hex create mode 100644 src/fw/ssdt-pcihp.hex create mode 100644 src/fw/ssdt-proc.hex
Signed-off-by: Kevin O'Connor kevin@koconnor.net --- scripts/acpi_extract.py | 225 +++++++++++++++++++++++++----------------------- 1 file changed, 115 insertions(+), 110 deletions(-)
diff --git a/scripts/acpi_extract.py b/scripts/acpi_extract.py index 60bbac3..24ff0d1 100755 --- a/scripts/acpi_extract.py +++ b/scripts/acpi_extract.py @@ -233,107 +233,6 @@ def aml_package_start(offset): offset += 1 return offset + aml_pkglen_bytes(offset) + 1
-lineno = 0 -for line in fileinput.input(): - # Strip trailing newline - line = line.rstrip() - # line number and debug string to output in case of errors - lineno = lineno + 1 - debug = "input line %d: %s" % (lineno, line) - #ASL listing: space, then line#, then ...., then code - pasl = re.compile('^\s+([0-9]+)(:\s\s|....)\s*') - m = pasl.search(line) - if (m): - add_asl(lineno, pasl.sub("", line)) - # AML listing: offset in hex, then ...., then code - paml = re.compile('^([0-9A-Fa-f]+)(:\s\s|....)\s*') - m = paml.search(line) - if (m): - add_aml(m.group(1), paml.sub("", line)) - -# Now go over code -# Track AML offset of a previous non-empty ASL command -prev_aml_offset = -1 -for i in range(len(asl)): - debug = "input line %d: %s" % (asl[i].lineno, asl[i].line) - - l = asl[i].line - - # skip if not an extract directive - a = len(re.findall(r'ACPI_EXTRACT', l)) - if (not a): - # If not empty, store AML offset. Will be used for sanity checks - # IASL seems to put {}. at random places in the listing. - # Ignore any non-words for the purpose of this test. - m = re.search(r'\w+', l) - if (m): - prev_aml_offset = asl[i].aml_offset - continue - - if (a > 1): - die("Expected at most one ACPI_EXTRACT per line, actual %d" % a) - - mext = re.search(r''' - ^\s* # leading whitespace - /*\s* # start C comment - (ACPI_EXTRACT_\w+) # directive: group(1) - \s+ # whitspace separates directive from array name - (\w+) # array name: group(2) - \s**/ # end of C comment - \s*$ # trailing whitespace - ''', l, re.VERBOSE) - if (not mext): - die("Stray ACPI_EXTRACT in input") - - # previous command must have produced some AML, - # otherwise we are in a middle of a block - if (prev_aml_offset == asl[i].aml_offset): - die("ACPI_EXTRACT directive in the middle of a block") - - directive = mext.group(1) - array = mext.group(2) - offset = asl[i].aml_offset - - if (directive == "ACPI_EXTRACT_ALL_CODE"): - if array in output: - die("%s directive used more than once" % directive) - output[array] = aml - continue - if (directive == "ACPI_EXTRACT_NAME_BUFFER8"): - offset = aml_name_buffer8(offset) - elif (directive == "ACPI_EXTRACT_NAME_DWORD_CONST"): - offset = aml_name_dword_const(offset) - elif (directive == "ACPI_EXTRACT_NAME_WORD_CONST"): - offset = aml_name_word_const(offset) - elif (directive == "ACPI_EXTRACT_NAME_BYTE_CONST"): - offset = aml_name_byte_const(offset) - elif (directive == "ACPI_EXTRACT_NAME_STRING"): - offset = aml_name_string(offset) - elif (directive == "ACPI_EXTRACT_METHOD_STRING"): - offset = aml_method_string(offset) - elif (directive == "ACPI_EXTRACT_DEVICE_START"): - offset = aml_device_start(offset) - elif (directive == "ACPI_EXTRACT_DEVICE_STRING"): - offset = aml_device_string(offset) - elif (directive == "ACPI_EXTRACT_DEVICE_END"): - offset = aml_device_end(offset) - elif (directive == "ACPI_EXTRACT_PROCESSOR_START"): - offset = aml_processor_start(offset) - elif (directive == "ACPI_EXTRACT_PROCESSOR_STRING"): - offset = aml_processor_string(offset) - elif (directive == "ACPI_EXTRACT_PROCESSOR_END"): - offset = aml_processor_end(offset) - elif (directive == "ACPI_EXTRACT_PKG_START"): - offset = aml_package_start(offset) - else: - die("Unsupported directive %s" % directive) - - if array not in output: - output[array] = [] - output[array].append(offset) - -debug = "at end of file" - def get_value_type(maxvalue): #Use type large enough to fit the table if (maxvalue >= 0x10000): @@ -343,12 +242,118 @@ def get_value_type(maxvalue): else: return "char"
-# Pretty print output -for array in output.keys(): - otype = get_value_type(max(output[array])) - odata = [] - for value in output[array]: - odata.append("0x%x" % value) - sys.stdout.write("static unsigned %s %s[] = {\n" % (otype, array)) - sys.stdout.write(",\n".join(odata)) - sys.stdout.write('\n};\n') +def main(): + global debug + lineno = 0 + for line in fileinput.input(): + # Strip trailing newline + line = line.rstrip() + # line number and debug string to output in case of errors + lineno = lineno + 1 + debug = "input line %d: %s" % (lineno, line) + #ASL listing: space, then line#, then ...., then code + pasl = re.compile('^\s+([0-9]+)(:\s\s|....)\s*') + m = pasl.search(line) + if (m): + add_asl(lineno, pasl.sub("", line)) + # AML listing: offset in hex, then ...., then code + paml = re.compile('^([0-9A-Fa-f]+)(:\s\s|....)\s*') + m = paml.search(line) + if (m): + add_aml(m.group(1), paml.sub("", line)) + + # Now go over code + # Track AML offset of a previous non-empty ASL command + prev_aml_offset = -1 + for i in range(len(asl)): + debug = "input line %d: %s" % (asl[i].lineno, asl[i].line) + + l = asl[i].line + + # skip if not an extract directive + a = len(re.findall(r'ACPI_EXTRACT', l)) + if (not a): + # If not empty, store AML offset. Will be used for sanity checks + # IASL seems to put {}. at random places in the listing. + # Ignore any non-words for the purpose of this test. + m = re.search(r'\w+', l) + if (m): + prev_aml_offset = asl[i].aml_offset + continue + + if (a > 1): + die("Expected at most one ACPI_EXTRACT per line, actual %d" % a) + + mext = re.search(r''' + ^\s* # leading whitespace + /*\s* # start C comment + (ACPI_EXTRACT_\w+) # directive: group(1) + \s+ # whitspace separates directive from array name + (\w+) # array name: group(2) + \s**/ # end of C comment + \s*$ # trailing whitespace + ''', l, re.VERBOSE) + if (not mext): + die("Stray ACPI_EXTRACT in input") + + # previous command must have produced some AML, + # otherwise we are in a middle of a block + if (prev_aml_offset == asl[i].aml_offset): + die("ACPI_EXTRACT directive in the middle of a block") + + directive = mext.group(1) + array = mext.group(2) + offset = asl[i].aml_offset + + if (directive == "ACPI_EXTRACT_ALL_CODE"): + if array in output: + die("%s directive used more than once" % directive) + output[array] = aml + continue + if (directive == "ACPI_EXTRACT_NAME_BUFFER8"): + offset = aml_name_buffer8(offset) + elif (directive == "ACPI_EXTRACT_NAME_DWORD_CONST"): + offset = aml_name_dword_const(offset) + elif (directive == "ACPI_EXTRACT_NAME_WORD_CONST"): + offset = aml_name_word_const(offset) + elif (directive == "ACPI_EXTRACT_NAME_BYTE_CONST"): + offset = aml_name_byte_const(offset) + elif (directive == "ACPI_EXTRACT_NAME_STRING"): + offset = aml_name_string(offset) + elif (directive == "ACPI_EXTRACT_METHOD_STRING"): + offset = aml_method_string(offset) + elif (directive == "ACPI_EXTRACT_DEVICE_START"): + offset = aml_device_start(offset) + elif (directive == "ACPI_EXTRACT_DEVICE_STRING"): + offset = aml_device_string(offset) + elif (directive == "ACPI_EXTRACT_DEVICE_END"): + offset = aml_device_end(offset) + elif (directive == "ACPI_EXTRACT_PROCESSOR_START"): + offset = aml_processor_start(offset) + elif (directive == "ACPI_EXTRACT_PROCESSOR_STRING"): + offset = aml_processor_string(offset) + elif (directive == "ACPI_EXTRACT_PROCESSOR_END"): + offset = aml_processor_end(offset) + elif (directive == "ACPI_EXTRACT_PKG_START"): + offset = aml_package_start(offset) + else: + die("Unsupported directive %s" % directive) + + if array not in output: + output[array] = [] + output[array].append(offset) + + debug = "at end of file" + + # Pretty print output + for array in output.keys(): + otype = get_value_type(max(output[array])) + odata = [] + for value in output[array]: + odata.append("0x%x" % value) + sys.stdout.write("static unsigned %s %s[] = {\n" % (otype, array)) + sys.stdout.write(",\n".join(odata)) + sys.stdout.write('\n};\n') + +if __name__ == '__main__': + main()
Add a comment to the top of the generated file indicating that is is an automatically generated file. Compress output so that up to eight hex values are placed on a single line.
Signed-off-by: Kevin O'Connor kevin@koconnor.net --- scripts/acpi_extract.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/scripts/acpi_extract.py b/scripts/acpi_extract.py index 24ff0d1..3ed863b 100755 --- a/scripts/acpi_extract.py +++ b/scripts/acpi_extract.py @@ -346,14 +346,21 @@ def main(): debug = "at end of file"
# Pretty print output + outstrs = ["/* DO NOT EDIT! This is an autogenerated file." + " See scripts/acpi_extract.py. */"] for array in output.keys(): otype = get_value_type(max(output[array])) + outstrs.append("static unsigned %s %s[] = {" % (otype, array)) odata = [] for value in output[array]: - odata.append("0x%x" % value) - sys.stdout.write("static unsigned %s %s[] = {\n" % (otype, array)) - sys.stdout.write(",\n".join(odata)) - sys.stdout.write('\n};\n') + odata.append("0x%02x" % value) + if len(odata) >= 8: + outstrs.append(" %s," % (', '.join(odata),)) + del odata[:] + outstrs.append(" %s" % (', '.join(odata),)) + outstrs.append('};') + outstrs.append('') + sys.stdout.write('\n'.join(outstrs))
if __name__ == '__main__': main()
Signed-off-by: Kevin O'Connor kevin@koconnor.net --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile index 4e4092d..6f1bb68 100644 --- a/Makefile +++ b/Makefile @@ -256,7 +256,7 @@ $(OUT)%.hex: %.dsl ./scripts/acpi_extract_preprocess.py ./scripts/acpi_extract.p $(Q)$(PYTHON) ./scripts/acpi_extract.py $(OUT)$*.lst > $(OUT)$*.off $(Q)cat $(OUT)$*.off > $@
-$(OUT)src/fw/acpi.o: $(OUT)src/fw/acpi-dsdt.hex $(OUT)src/fw/ssdt-proc.hex $(OUT)src/fw/ssdt-pcihp.hex $(OUT)src/fw/ssdt-misc.hex $(OUT)src/fw/q35-acpi-dsdt.hex +$(OUT)src/fw/acpi.o: $(OUT)src/fw/acpi-dsdt.hex $(OUT)src/fw/ssdt-proc.hex $(OUT)src/fw/ssdt-pcihp.hex $(OUT)src/fw/ssdt-misc.hex
################ Kconfig rules
The SSDT files are rarely modified - recent QEMU versions don't use them at all and adding features to them in SeaBIOS has been deprecated. It no longer makes sense to generate them on every build. The content will remain (for use on old machine types in QEMU) in static files committed to the SeaBIOS git repo. If the contents do need to be generated a new build target (make iasl) is available.
Signed-off-by: Kevin O'Connor kevin@koconnor.net --- Makefile | 4 +- src/fw/acpi-dsdt.hex | 554 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/fw/acpi.c | 8 +- src/fw/ssdt-misc.hex | 88 ++++++++ src/fw/ssdt-pcihp.hex | 38 ++++ src/fw/ssdt-proc.hex | 35 ++++ 6 files changed, 721 insertions(+), 6 deletions(-) create mode 100644 src/fw/acpi-dsdt.hex create mode 100644 src/fw/ssdt-misc.hex create mode 100644 src/fw/ssdt-pcihp.hex create mode 100644 src/fw/ssdt-proc.hex
diff --git a/Makefile b/Makefile index 6f1bb68..cbe9454 100644 --- a/Makefile +++ b/Makefile @@ -248,7 +248,7 @@ $(OUT)vgabios.bin: $(OUT)vgabios.bin.raw scripts/buildrom.py iasl-option=$(shell if test -z "`$(1) $(2) 2>&1 > /dev/null`" \ ; then echo "$(2)"; else echo "$(3)"; fi ;)
-$(OUT)%.hex: %.dsl ./scripts/acpi_extract_preprocess.py ./scripts/acpi_extract.py +%.hex: %.dsl ./scripts/acpi_extract_preprocess.py ./scripts/acpi_extract.py @echo " Compiling IASL $@" $(Q)$(CPP) $(CPPFLAGS) $< -o $(OUT)$*.dsl.i.orig $(Q)$(PYTHON) ./scripts/acpi_extract_preprocess.py $(OUT)$*.dsl.i.orig > $(OUT)$*.dsl.i @@ -256,7 +256,7 @@ $(OUT)%.hex: %.dsl ./scripts/acpi_extract_preprocess.py ./scripts/acpi_extract.p $(Q)$(PYTHON) ./scripts/acpi_extract.py $(OUT)$*.lst > $(OUT)$*.off $(Q)cat $(OUT)$*.off > $@
-$(OUT)src/fw/acpi.o: $(OUT)src/fw/acpi-dsdt.hex $(OUT)src/fw/ssdt-proc.hex $(OUT)src/fw/ssdt-pcihp.hex $(OUT)src/fw/ssdt-misc.hex +iasl: src/fw/acpi-dsdt.hex src/fw/ssdt-proc.hex src/fw/ssdt-pcihp.hex src/fw/ssdt-misc.hex
################ Kconfig rules
diff --git a/src/fw/acpi-dsdt.hex b/src/fw/acpi-dsdt.hex new file mode 100644 index 0000000..6a113cd --- /dev/null +++ b/src/fw/acpi-dsdt.hex @@ -0,0 +1,554 @@ +/* DO NOT EDIT! This is an autogenerated file. See scripts/acpi_extract.py. */ +static unsigned char AmlCode[] = { + 0x44, 0x53, 0x44, 0x54, 0x35, 0x11, 0x00, 0x00, + 0x01, 0x8b, 0x42, 0x58, 0x50, 0x43, 0x00, 0x00, + 0x42, 0x58, 0x44, 0x53, 0x44, 0x54, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x49, 0x4e, 0x54, 0x4c, + 0x18, 0x08, 0x15, 0x20, 0x10, 0x49, 0x04, 0x5c, + 0x00, 0x5b, 0x80, 0x44, 0x42, 0x47, 0x5f, 0x01, + 0x0b, 0x02, 0x04, 0x01, 0x5b, 0x81, 0x0b, 0x44, + 0x42, 0x47, 0x5f, 0x01, 0x44, 0x42, 0x47, 0x42, + 0x08, 0x14, 0x2c, 0x44, 0x42, 0x55, 0x47, 0x01, + 0x98, 0x68, 0x60, 0x96, 0x60, 0x60, 0x74, 0x87, + 0x60, 0x01, 0x61, 0x70, 0x00, 0x62, 0xa2, 0x10, + 0x95, 0x62, 0x61, 0x70, 0x83, 0x88, 0x60, 0x62, + 0x00, 0x44, 0x42, 0x47, 0x42, 0x75, 0x62, 0x70, + 0x0a, 0x0a, 0x44, 0x42, 0x47, 0x42, 0x10, 0x22, + 0x5f, 0x53, 0x42, 0x5f, 0x5b, 0x82, 0x1b, 0x50, + 0x43, 0x49, 0x30, 0x08, 0x5f, 0x48, 0x49, 0x44, + 0x0c, 0x41, 0xd0, 0x0a, 0x03, 0x08, 0x5f, 0x41, + 0x44, 0x52, 0x00, 0x08, 0x5f, 0x55, 0x49, 0x44, + 0x01, 0x10, 0x4e, 0x15, 0x2e, 0x5f, 0x53, 0x42, + 0x5f, 0x50, 0x43, 0x49, 0x30, 0x08, 0x43, 0x52, + 0x45, 0x53, 0x11, 0x42, 0x07, 0x0a, 0x6e, 0x88, + 0x0d, 0x00, 0x02, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x47, + 0x01, 0xf8, 0x0c, 0xf8, 0x0c, 0x01, 0x08, 0x88, + 0x0d, 0x00, 0x01, 0x0c, 0x03, 0x00, 0x00, 0x00, + 0x00, 0xf7, 0x0c, 0x00, 0x00, 0xf8, 0x0c, 0x88, + 0x0d, 0x00, 0x01, 0x0c, 0x03, 0x00, 0x00, 0x00, + 0x0d, 0xff, 0xff, 0x00, 0x00, 0x00, 0xf3, 0x87, + 0x17, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0a, 0x00, 0xff, 0xff, 0x0b, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x87, 0x17, 0x00, 0x00, 0x0c, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, + 0xff, 0xbf, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0x1e, 0x79, 0x00, 0x08, 0x43, 0x52, + 0x36, 0x34, 0x11, 0x33, 0x0a, 0x30, 0x8a, 0x2b, + 0x00, 0x00, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x00, 0x00, 0x00, 0x79, 0x00, 0x14, 0x41, + 0x0a, 0x5f, 0x43, 0x52, 0x53, 0x00, 0x8a, 0x43, + 0x52, 0x45, 0x53, 0x0a, 0x5c, 0x50, 0x53, 0x33, + 0x32, 0x8a, 0x43, 0x52, 0x45, 0x53, 0x0a, 0x60, + 0x50, 0x45, 0x33, 0x32, 0x8a, 0x43, 0x52, 0x45, + 0x53, 0x0a, 0x68, 0x50, 0x4c, 0x33, 0x32, 0x70, + 0x50, 0x30, 0x53, 0x5f, 0x50, 0x53, 0x33, 0x32, + 0x70, 0x50, 0x30, 0x45, 0x5f, 0x50, 0x45, 0x33, + 0x32, 0x70, 0x72, 0x74, 0x50, 0x30, 0x45, 0x5f, + 0x50, 0x30, 0x53, 0x5f, 0x00, 0x01, 0x00, 0x50, + 0x4c, 0x33, 0x32, 0xa0, 0x0c, 0x93, 0x50, 0x31, + 0x56, 0x5f, 0x00, 0xa4, 0x43, 0x52, 0x45, 0x53, + 0x8f, 0x43, 0x52, 0x36, 0x34, 0x0a, 0x0e, 0x50, + 0x53, 0x36, 0x34, 0x8f, 0x43, 0x52, 0x36, 0x34, + 0x0a, 0x16, 0x50, 0x45, 0x36, 0x34, 0x8f, 0x43, + 0x52, 0x36, 0x34, 0x0a, 0x26, 0x50, 0x4c, 0x36, + 0x34, 0x70, 0x50, 0x31, 0x53, 0x5f, 0x50, 0x53, + 0x36, 0x34, 0x70, 0x50, 0x31, 0x45, 0x5f, 0x50, + 0x45, 0x36, 0x34, 0x70, 0x50, 0x31, 0x4c, 0x5f, + 0x50, 0x4c, 0x36, 0x34, 0x84, 0x43, 0x52, 0x45, + 0x53, 0x43, 0x52, 0x36, 0x34, 0x60, 0xa4, 0x60, + 0x10, 0x4d, 0x08, 0x5f, 0x53, 0x42, 0x5f, 0x5b, + 0x82, 0x45, 0x08, 0x48, 0x50, 0x45, 0x54, 0x08, + 0x5f, 0x48, 0x49, 0x44, 0x0c, 0x41, 0xd0, 0x01, + 0x03, 0x08, 0x5f, 0x55, 0x49, 0x44, 0x00, 0x5b, + 0x80, 0x48, 0x50, 0x54, 0x4d, 0x00, 0x0c, 0x00, + 0x00, 0xd0, 0xfe, 0x0b, 0x00, 0x04, 0x5b, 0x81, + 0x10, 0x48, 0x50, 0x54, 0x4d, 0x13, 0x56, 0x45, + 0x4e, 0x44, 0x20, 0x50, 0x52, 0x44, 0x5f, 0x20, + 0x14, 0x36, 0x5f, 0x53, 0x54, 0x41, 0x00, 0x70, + 0x56, 0x45, 0x4e, 0x44, 0x60, 0x70, 0x50, 0x52, + 0x44, 0x5f, 0x61, 0x7a, 0x60, 0x0a, 0x10, 0x60, + 0xa0, 0x0c, 0x91, 0x93, 0x60, 0x00, 0x93, 0x60, + 0x0b, 0xff, 0xff, 0xa4, 0x00, 0xa0, 0x0e, 0x91, + 0x93, 0x61, 0x00, 0x94, 0x61, 0x0c, 0x00, 0xe1, + 0xf5, 0x05, 0xa4, 0x00, 0xa4, 0x0a, 0x0f, 0x08, + 0x5f, 0x43, 0x52, 0x53, 0x11, 0x11, 0x0a, 0x0e, + 0x86, 0x09, 0x00, 0x00, 0x00, 0x00, 0xd0, 0xfe, + 0x00, 0x04, 0x00, 0x00, 0x79, 0x00, 0x10, 0x40, + 0x06, 0x2e, 0x5f, 0x53, 0x42, 0x5f, 0x50, 0x43, + 0x49, 0x30, 0x5b, 0x82, 0x43, 0x05, 0x56, 0x47, + 0x41, 0x5f, 0x08, 0x5f, 0x41, 0x44, 0x52, 0x0c, + 0x00, 0x00, 0x02, 0x00, 0x5b, 0x80, 0x50, 0x43, + 0x49, 0x43, 0x02, 0x00, 0x0a, 0x04, 0x5b, 0x81, + 0x0b, 0x50, 0x43, 0x49, 0x43, 0x03, 0x56, 0x45, + 0x4e, 0x44, 0x20, 0x14, 0x08, 0x5f, 0x53, 0x31, + 0x44, 0x00, 0xa4, 0x00, 0x14, 0x08, 0x5f, 0x53, + 0x32, 0x44, 0x00, 0xa4, 0x00, 0x14, 0x19, 0x5f, + 0x53, 0x33, 0x44, 0x00, 0xa0, 0x0e, 0x93, 0x56, + 0x45, 0x4e, 0x44, 0x0c, 0x36, 0x1b, 0x00, 0x01, + 0xa4, 0x0a, 0x03, 0xa1, 0x03, 0xa4, 0x00, 0x10, + 0x25, 0x2e, 0x5f, 0x53, 0x42, 0x5f, 0x50, 0x43, + 0x49, 0x30, 0x5b, 0x82, 0x19, 0x50, 0x58, 0x31, + 0x33, 0x08, 0x5f, 0x41, 0x44, 0x52, 0x0c, 0x03, + 0x00, 0x01, 0x00, 0x5b, 0x80, 0x50, 0x31, 0x33, + 0x43, 0x02, 0x00, 0x0a, 0xff, 0x10, 0x46, 0x05, + 0x2e, 0x5f, 0x53, 0x42, 0x5f, 0x50, 0x43, 0x49, + 0x30, 0x5b, 0x82, 0x49, 0x04, 0x49, 0x53, 0x41, + 0x5f, 0x08, 0x5f, 0x41, 0x44, 0x52, 0x0c, 0x00, + 0x00, 0x01, 0x00, 0x5b, 0x80, 0x50, 0x34, 0x30, + 0x43, 0x02, 0x0a, 0x60, 0x0a, 0x04, 0x5b, 0x81, + 0x26, 0x5e, 0x2e, 0x50, 0x58, 0x31, 0x33, 0x50, + 0x31, 0x33, 0x43, 0x00, 0x00, 0x48, 0x2f, 0x00, + 0x07, 0x4c, 0x50, 0x45, 0x4e, 0x01, 0x00, 0x38, + 0x00, 0x03, 0x43, 0x41, 0x45, 0x4e, 0x01, 0x00, + 0x03, 0x43, 0x42, 0x45, 0x4e, 0x01, 0x08, 0x46, + 0x44, 0x45, 0x4e, 0x01, 0x10, 0x4c, 0x1b, 0x2f, + 0x03, 0x5f, 0x53, 0x42, 0x5f, 0x50, 0x43, 0x49, + 0x30, 0x49, 0x53, 0x41, 0x5f, 0x5b, 0x82, 0x2d, + 0x52, 0x54, 0x43, 0x5f, 0x08, 0x5f, 0x48, 0x49, + 0x44, 0x0c, 0x41, 0xd0, 0x0b, 0x00, 0x08, 0x5f, + 0x43, 0x52, 0x53, 0x11, 0x18, 0x0a, 0x15, 0x47, + 0x01, 0x70, 0x00, 0x70, 0x00, 0x10, 0x02, 0x22, + 0x00, 0x01, 0x47, 0x01, 0x72, 0x00, 0x72, 0x00, + 0x02, 0x06, 0x79, 0x00, 0x5b, 0x82, 0x37, 0x4b, + 0x42, 0x44, 0x5f, 0x08, 0x5f, 0x48, 0x49, 0x44, + 0x0c, 0x41, 0xd0, 0x03, 0x03, 0x14, 0x09, 0x5f, + 0x53, 0x54, 0x41, 0x00, 0xa4, 0x0a, 0x0f, 0x08, + 0x5f, 0x43, 0x52, 0x53, 0x11, 0x18, 0x0a, 0x15, + 0x47, 0x01, 0x60, 0x00, 0x60, 0x00, 0x01, 0x01, + 0x47, 0x01, 0x64, 0x00, 0x64, 0x00, 0x01, 0x01, + 0x22, 0x02, 0x00, 0x79, 0x00, 0x5b, 0x82, 0x27, + 0x4d, 0x4f, 0x55, 0x5f, 0x08, 0x5f, 0x48, 0x49, + 0x44, 0x0c, 0x41, 0xd0, 0x0f, 0x13, 0x14, 0x09, + 0x5f, 0x53, 0x54, 0x41, 0x00, 0xa4, 0x0a, 0x0f, + 0x08, 0x5f, 0x43, 0x52, 0x53, 0x11, 0x08, 0x0a, + 0x05, 0x22, 0x00, 0x10, 0x79, 0x00, 0x5b, 0x82, + 0x4a, 0x04, 0x46, 0x44, 0x43, 0x30, 0x08, 0x5f, + 0x48, 0x49, 0x44, 0x0c, 0x41, 0xd0, 0x07, 0x00, + 0x14, 0x18, 0x5f, 0x53, 0x54, 0x41, 0x00, 0x70, + 0x46, 0x44, 0x45, 0x4e, 0x60, 0xa0, 0x06, 0x93, + 0x60, 0x00, 0xa4, 0x00, 0xa1, 0x04, 0xa4, 0x0a, + 0x0f, 0x08, 0x5f, 0x43, 0x52, 0x53, 0x11, 0x1b, + 0x0a, 0x18, 0x47, 0x01, 0xf2, 0x03, 0xf2, 0x03, + 0x00, 0x04, 0x47, 0x01, 0xf7, 0x03, 0xf7, 0x03, + 0x00, 0x01, 0x22, 0x40, 0x00, 0x2a, 0x04, 0x00, + 0x79, 0x00, 0x5b, 0x82, 0x3e, 0x4c, 0x50, 0x54, + 0x5f, 0x08, 0x5f, 0x48, 0x49, 0x44, 0x0c, 0x41, + 0xd0, 0x04, 0x00, 0x14, 0x18, 0x5f, 0x53, 0x54, + 0x41, 0x00, 0x70, 0x4c, 0x50, 0x45, 0x4e, 0x60, + 0xa0, 0x06, 0x93, 0x60, 0x00, 0xa4, 0x00, 0xa1, + 0x04, 0xa4, 0x0a, 0x0f, 0x08, 0x5f, 0x43, 0x52, + 0x53, 0x11, 0x10, 0x0a, 0x0d, 0x47, 0x01, 0x78, + 0x03, 0x78, 0x03, 0x08, 0x08, 0x22, 0x80, 0x00, + 0x79, 0x00, 0x5b, 0x82, 0x45, 0x04, 0x43, 0x4f, + 0x4d, 0x31, 0x08, 0x5f, 0x48, 0x49, 0x44, 0x0c, + 0x41, 0xd0, 0x05, 0x01, 0x08, 0x5f, 0x55, 0x49, + 0x44, 0x01, 0x14, 0x18, 0x5f, 0x53, 0x54, 0x41, + 0x00, 0x70, 0x43, 0x41, 0x45, 0x4e, 0x60, 0xa0, + 0x06, 0x93, 0x60, 0x00, 0xa4, 0x00, 0xa1, 0x04, + 0xa4, 0x0a, 0x0f, 0x08, 0x5f, 0x43, 0x52, 0x53, + 0x11, 0x10, 0x0a, 0x0d, 0x47, 0x01, 0xf8, 0x03, + 0xf8, 0x03, 0x00, 0x08, 0x22, 0x10, 0x00, 0x79, + 0x00, 0x5b, 0x82, 0x46, 0x04, 0x43, 0x4f, 0x4d, + 0x32, 0x08, 0x5f, 0x48, 0x49, 0x44, 0x0c, 0x41, + 0xd0, 0x05, 0x01, 0x08, 0x5f, 0x55, 0x49, 0x44, + 0x0a, 0x02, 0x14, 0x18, 0x5f, 0x53, 0x54, 0x41, + 0x00, 0x70, 0x43, 0x42, 0x45, 0x4e, 0x60, 0xa0, + 0x06, 0x93, 0x60, 0x00, 0xa4, 0x00, 0xa1, 0x04, + 0xa4, 0x0a, 0x0f, 0x08, 0x5f, 0x43, 0x52, 0x53, + 0x11, 0x10, 0x0a, 0x0d, 0x47, 0x01, 0xf8, 0x02, + 0xf8, 0x02, 0x00, 0x08, 0x22, 0x08, 0x00, 0x79, + 0x00, 0x10, 0x49, 0x08, 0x2e, 0x5f, 0x53, 0x42, + 0x5f, 0x50, 0x43, 0x49, 0x30, 0x5b, 0x80, 0x50, + 0x43, 0x53, 0x54, 0x01, 0x0b, 0x00, 0xae, 0x0a, + 0x08, 0x5b, 0x81, 0x10, 0x50, 0x43, 0x53, 0x54, + 0x43, 0x50, 0x43, 0x49, 0x55, 0x20, 0x50, 0x43, + 0x49, 0x44, 0x20, 0x5b, 0x80, 0x53, 0x45, 0x4a, + 0x5f, 0x01, 0x0b, 0x08, 0xae, 0x0a, 0x04, 0x5b, + 0x81, 0x0b, 0x53, 0x45, 0x4a, 0x5f, 0x43, 0x42, + 0x30, 0x45, 0x4a, 0x20, 0x14, 0x0f, 0x50, 0x43, + 0x45, 0x4a, 0x01, 0x70, 0x79, 0x01, 0x68, 0x00, + 0x42, 0x30, 0x45, 0x4a, 0x14, 0x36, 0x50, 0x43, + 0x4e, 0x46, 0x00, 0x70, 0x00, 0x60, 0xa2, 0x2c, + 0x95, 0x60, 0x0a, 0x1f, 0x75, 0x60, 0xa0, 0x11, + 0x7b, 0x50, 0x43, 0x49, 0x55, 0x79, 0x01, 0x60, + 0x00, 0x00, 0x50, 0x43, 0x4e, 0x54, 0x60, 0x01, + 0xa0, 0x12, 0x7b, 0x50, 0x43, 0x49, 0x44, 0x79, + 0x01, 0x60, 0x00, 0x00, 0x50, 0x43, 0x4e, 0x54, + 0x60, 0x0a, 0x03, 0x10, 0x4a, 0xa0, 0x5f, 0x53, + 0x42, 0x5f, 0x10, 0x47, 0x74, 0x50, 0x43, 0x49, + 0x30, 0x08, 0x5f, 0x50, 0x52, 0x54, 0x12, 0x4b, + 0x73, 0x80, 0x12, 0x0b, 0x04, 0x0b, 0xff, 0xff, + 0x00, 0x4c, 0x4e, 0x4b, 0x44, 0x00, 0x12, 0x0b, + 0x04, 0x0b, 0xff, 0xff, 0x01, 0x4c, 0x4e, 0x4b, + 0x41, 0x00, 0x12, 0x0c, 0x04, 0x0b, 0xff, 0xff, + 0x0a, 0x02, 0x4c, 0x4e, 0x4b, 0x42, 0x00, 0x12, + 0x0c, 0x04, 0x0b, 0xff, 0xff, 0x0a, 0x03, 0x4c, + 0x4e, 0x4b, 0x43, 0x00, 0x12, 0x0d, 0x04, 0x0c, + 0xff, 0xff, 0x01, 0x00, 0x00, 0x4c, 0x4e, 0x4b, + 0x53, 0x00, 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, + 0x01, 0x00, 0x01, 0x4c, 0x4e, 0x4b, 0x42, 0x00, + 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x01, 0x00, + 0x0a, 0x02, 0x4c, 0x4e, 0x4b, 0x43, 0x00, 0x12, + 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x01, 0x00, 0x0a, + 0x03, 0x4c, 0x4e, 0x4b, 0x44, 0x00, 0x12, 0x0d, + 0x04, 0x0c, 0xff, 0xff, 0x02, 0x00, 0x00, 0x4c, + 0x4e, 0x4b, 0x42, 0x00, 0x12, 0x0d, 0x04, 0x0c, + 0xff, 0xff, 0x02, 0x00, 0x01, 0x4c, 0x4e, 0x4b, + 0x43, 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, + 0x02, 0x00, 0x0a, 0x02, 0x4c, 0x4e, 0x4b, 0x44, + 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x02, + 0x00, 0x0a, 0x03, 0x4c, 0x4e, 0x4b, 0x41, 0x00, + 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, 0x03, 0x00, + 0x00, 0x4c, 0x4e, 0x4b, 0x43, 0x00, 0x12, 0x0d, + 0x04, 0x0c, 0xff, 0xff, 0x03, 0x00, 0x01, 0x4c, + 0x4e, 0x4b, 0x44, 0x00, 0x12, 0x0e, 0x04, 0x0c, + 0xff, 0xff, 0x03, 0x00, 0x0a, 0x02, 0x4c, 0x4e, + 0x4b, 0x41, 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, + 0xff, 0x03, 0x00, 0x0a, 0x03, 0x4c, 0x4e, 0x4b, + 0x42, 0x00, 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, + 0x04, 0x00, 0x00, 0x4c, 0x4e, 0x4b, 0x44, 0x00, + 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, 0x04, 0x00, + 0x01, 0x4c, 0x4e, 0x4b, 0x41, 0x00, 0x12, 0x0e, + 0x04, 0x0c, 0xff, 0xff, 0x04, 0x00, 0x0a, 0x02, + 0x4c, 0x4e, 0x4b, 0x42, 0x00, 0x12, 0x0e, 0x04, + 0x0c, 0xff, 0xff, 0x04, 0x00, 0x0a, 0x03, 0x4c, + 0x4e, 0x4b, 0x43, 0x00, 0x12, 0x0d, 0x04, 0x0c, + 0xff, 0xff, 0x05, 0x00, 0x00, 0x4c, 0x4e, 0x4b, + 0x41, 0x00, 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, + 0x05, 0x00, 0x01, 0x4c, 0x4e, 0x4b, 0x42, 0x00, + 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x05, 0x00, + 0x0a, 0x02, 0x4c, 0x4e, 0x4b, 0x43, 0x00, 0x12, + 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x05, 0x00, 0x0a, + 0x03, 0x4c, 0x4e, 0x4b, 0x44, 0x00, 0x12, 0x0d, + 0x04, 0x0c, 0xff, 0xff, 0x06, 0x00, 0x00, 0x4c, + 0x4e, 0x4b, 0x42, 0x00, 0x12, 0x0d, 0x04, 0x0c, + 0xff, 0xff, 0x06, 0x00, 0x01, 0x4c, 0x4e, 0x4b, + 0x43, 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, + 0x06, 0x00, 0x0a, 0x02, 0x4c, 0x4e, 0x4b, 0x44, + 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x06, + 0x00, 0x0a, 0x03, 0x4c, 0x4e, 0x4b, 0x41, 0x00, + 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, 0x07, 0x00, + 0x00, 0x4c, 0x4e, 0x4b, 0x43, 0x00, 0x12, 0x0d, + 0x04, 0x0c, 0xff, 0xff, 0x07, 0x00, 0x01, 0x4c, + 0x4e, 0x4b, 0x44, 0x00, 0x12, 0x0e, 0x04, 0x0c, + 0xff, 0xff, 0x07, 0x00, 0x0a, 0x02, 0x4c, 0x4e, + 0x4b, 0x41, 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, + 0xff, 0x07, 0x00, 0x0a, 0x03, 0x4c, 0x4e, 0x4b, + 0x42, 0x00, 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, + 0x08, 0x00, 0x00, 0x4c, 0x4e, 0x4b, 0x44, 0x00, + 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, 0x08, 0x00, + 0x01, 0x4c, 0x4e, 0x4b, 0x41, 0x00, 0x12, 0x0e, + 0x04, 0x0c, 0xff, 0xff, 0x08, 0x00, 0x0a, 0x02, + 0x4c, 0x4e, 0x4b, 0x42, 0x00, 0x12, 0x0e, 0x04, + 0x0c, 0xff, 0xff, 0x08, 0x00, 0x0a, 0x03, 0x4c, + 0x4e, 0x4b, 0x43, 0x00, 0x12, 0x0d, 0x04, 0x0c, + 0xff, 0xff, 0x09, 0x00, 0x00, 0x4c, 0x4e, 0x4b, + 0x41, 0x00, 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, + 0x09, 0x00, 0x01, 0x4c, 0x4e, 0x4b, 0x42, 0x00, + 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x09, 0x00, + 0x0a, 0x02, 0x4c, 0x4e, 0x4b, 0x43, 0x00, 0x12, + 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x09, 0x00, 0x0a, + 0x03, 0x4c, 0x4e, 0x4b, 0x44, 0x00, 0x12, 0x0d, + 0x04, 0x0c, 0xff, 0xff, 0x0a, 0x00, 0x00, 0x4c, + 0x4e, 0x4b, 0x42, 0x00, 0x12, 0x0d, 0x04, 0x0c, + 0xff, 0xff, 0x0a, 0x00, 0x01, 0x4c, 0x4e, 0x4b, + 0x43, 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, + 0x0a, 0x00, 0x0a, 0x02, 0x4c, 0x4e, 0x4b, 0x44, + 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x0a, + 0x00, 0x0a, 0x03, 0x4c, 0x4e, 0x4b, 0x41, 0x00, + 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, 0x0b, 0x00, + 0x00, 0x4c, 0x4e, 0x4b, 0x43, 0x00, 0x12, 0x0d, + 0x04, 0x0c, 0xff, 0xff, 0x0b, 0x00, 0x01, 0x4c, + 0x4e, 0x4b, 0x44, 0x00, 0x12, 0x0e, 0x04, 0x0c, + 0xff, 0xff, 0x0b, 0x00, 0x0a, 0x02, 0x4c, 0x4e, + 0x4b, 0x41, 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, + 0xff, 0x0b, 0x00, 0x0a, 0x03, 0x4c, 0x4e, 0x4b, + 0x42, 0x00, 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, + 0x0c, 0x00, 0x00, 0x4c, 0x4e, 0x4b, 0x44, 0x00, + 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, 0x0c, 0x00, + 0x01, 0x4c, 0x4e, 0x4b, 0x41, 0x00, 0x12, 0x0e, + 0x04, 0x0c, 0xff, 0xff, 0x0c, 0x00, 0x0a, 0x02, + 0x4c, 0x4e, 0x4b, 0x42, 0x00, 0x12, 0x0e, 0x04, + 0x0c, 0xff, 0xff, 0x0c, 0x00, 0x0a, 0x03, 0x4c, + 0x4e, 0x4b, 0x43, 0x00, 0x12, 0x0d, 0x04, 0x0c, + 0xff, 0xff, 0x0d, 0x00, 0x00, 0x4c, 0x4e, 0x4b, + 0x41, 0x00, 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, + 0x0d, 0x00, 0x01, 0x4c, 0x4e, 0x4b, 0x42, 0x00, + 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x0d, 0x00, + 0x0a, 0x02, 0x4c, 0x4e, 0x4b, 0x43, 0x00, 0x12, + 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x0d, 0x00, 0x0a, + 0x03, 0x4c, 0x4e, 0x4b, 0x44, 0x00, 0x12, 0x0d, + 0x04, 0x0c, 0xff, 0xff, 0x0e, 0x00, 0x00, 0x4c, + 0x4e, 0x4b, 0x42, 0x00, 0x12, 0x0d, 0x04, 0x0c, + 0xff, 0xff, 0x0e, 0x00, 0x01, 0x4c, 0x4e, 0x4b, + 0x43, 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, + 0x0e, 0x00, 0x0a, 0x02, 0x4c, 0x4e, 0x4b, 0x44, + 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x0e, + 0x00, 0x0a, 0x03, 0x4c, 0x4e, 0x4b, 0x41, 0x00, + 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, 0x0f, 0x00, + 0x00, 0x4c, 0x4e, 0x4b, 0x43, 0x00, 0x12, 0x0d, + 0x04, 0x0c, 0xff, 0xff, 0x0f, 0x00, 0x01, 0x4c, + 0x4e, 0x4b, 0x44, 0x00, 0x12, 0x0e, 0x04, 0x0c, + 0xff, 0xff, 0x0f, 0x00, 0x0a, 0x02, 0x4c, 0x4e, + 0x4b, 0x41, 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, + 0xff, 0x0f, 0x00, 0x0a, 0x03, 0x4c, 0x4e, 0x4b, + 0x42, 0x00, 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, + 0x10, 0x00, 0x00, 0x4c, 0x4e, 0x4b, 0x44, 0x00, + 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, 0x10, 0x00, + 0x01, 0x4c, 0x4e, 0x4b, 0x41, 0x00, 0x12, 0x0e, + 0x04, 0x0c, 0xff, 0xff, 0x10, 0x00, 0x0a, 0x02, + 0x4c, 0x4e, 0x4b, 0x42, 0x00, 0x12, 0x0e, 0x04, + 0x0c, 0xff, 0xff, 0x10, 0x00, 0x0a, 0x03, 0x4c, + 0x4e, 0x4b, 0x43, 0x00, 0x12, 0x0d, 0x04, 0x0c, + 0xff, 0xff, 0x11, 0x00, 0x00, 0x4c, 0x4e, 0x4b, + 0x41, 0x00, 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, + 0x11, 0x00, 0x01, 0x4c, 0x4e, 0x4b, 0x42, 0x00, + 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x11, 0x00, + 0x0a, 0x02, 0x4c, 0x4e, 0x4b, 0x43, 0x00, 0x12, + 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x11, 0x00, 0x0a, + 0x03, 0x4c, 0x4e, 0x4b, 0x44, 0x00, 0x12, 0x0d, + 0x04, 0x0c, 0xff, 0xff, 0x12, 0x00, 0x00, 0x4c, + 0x4e, 0x4b, 0x42, 0x00, 0x12, 0x0d, 0x04, 0x0c, + 0xff, 0xff, 0x12, 0x00, 0x01, 0x4c, 0x4e, 0x4b, + 0x43, 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, + 0x12, 0x00, 0x0a, 0x02, 0x4c, 0x4e, 0x4b, 0x44, + 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x12, + 0x00, 0x0a, 0x03, 0x4c, 0x4e, 0x4b, 0x41, 0x00, + 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, 0x13, 0x00, + 0x00, 0x4c, 0x4e, 0x4b, 0x43, 0x00, 0x12, 0x0d, + 0x04, 0x0c, 0xff, 0xff, 0x13, 0x00, 0x01, 0x4c, + 0x4e, 0x4b, 0x44, 0x00, 0x12, 0x0e, 0x04, 0x0c, + 0xff, 0xff, 0x13, 0x00, 0x0a, 0x02, 0x4c, 0x4e, + 0x4b, 0x41, 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, + 0xff, 0x13, 0x00, 0x0a, 0x03, 0x4c, 0x4e, 0x4b, + 0x42, 0x00, 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, + 0x14, 0x00, 0x00, 0x4c, 0x4e, 0x4b, 0x44, 0x00, + 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, 0x14, 0x00, + 0x01, 0x4c, 0x4e, 0x4b, 0x41, 0x00, 0x12, 0x0e, + 0x04, 0x0c, 0xff, 0xff, 0x14, 0x00, 0x0a, 0x02, + 0x4c, 0x4e, 0x4b, 0x42, 0x00, 0x12, 0x0e, 0x04, + 0x0c, 0xff, 0xff, 0x14, 0x00, 0x0a, 0x03, 0x4c, + 0x4e, 0x4b, 0x43, 0x00, 0x12, 0x0d, 0x04, 0x0c, + 0xff, 0xff, 0x15, 0x00, 0x00, 0x4c, 0x4e, 0x4b, + 0x41, 0x00, 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, + 0x15, 0x00, 0x01, 0x4c, 0x4e, 0x4b, 0x42, 0x00, + 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x15, 0x00, + 0x0a, 0x02, 0x4c, 0x4e, 0x4b, 0x43, 0x00, 0x12, + 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x15, 0x00, 0x0a, + 0x03, 0x4c, 0x4e, 0x4b, 0x44, 0x00, 0x12, 0x0d, + 0x04, 0x0c, 0xff, 0xff, 0x16, 0x00, 0x00, 0x4c, + 0x4e, 0x4b, 0x42, 0x00, 0x12, 0x0d, 0x04, 0x0c, + 0xff, 0xff, 0x16, 0x00, 0x01, 0x4c, 0x4e, 0x4b, + 0x43, 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, + 0x16, 0x00, 0x0a, 0x02, 0x4c, 0x4e, 0x4b, 0x44, + 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x16, + 0x00, 0x0a, 0x03, 0x4c, 0x4e, 0x4b, 0x41, 0x00, + 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, 0x17, 0x00, + 0x00, 0x4c, 0x4e, 0x4b, 0x43, 0x00, 0x12, 0x0d, + 0x04, 0x0c, 0xff, 0xff, 0x17, 0x00, 0x01, 0x4c, + 0x4e, 0x4b, 0x44, 0x00, 0x12, 0x0e, 0x04, 0x0c, + 0xff, 0xff, 0x17, 0x00, 0x0a, 0x02, 0x4c, 0x4e, + 0x4b, 0x41, 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, + 0xff, 0x17, 0x00, 0x0a, 0x03, 0x4c, 0x4e, 0x4b, + 0x42, 0x00, 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, + 0x18, 0x00, 0x00, 0x4c, 0x4e, 0x4b, 0x44, 0x00, + 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, 0x18, 0x00, + 0x01, 0x4c, 0x4e, 0x4b, 0x41, 0x00, 0x12, 0x0e, + 0x04, 0x0c, 0xff, 0xff, 0x18, 0x00, 0x0a, 0x02, + 0x4c, 0x4e, 0x4b, 0x42, 0x00, 0x12, 0x0e, 0x04, + 0x0c, 0xff, 0xff, 0x18, 0x00, 0x0a, 0x03, 0x4c, + 0x4e, 0x4b, 0x43, 0x00, 0x12, 0x0d, 0x04, 0x0c, + 0xff, 0xff, 0x19, 0x00, 0x00, 0x4c, 0x4e, 0x4b, + 0x41, 0x00, 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, + 0x19, 0x00, 0x01, 0x4c, 0x4e, 0x4b, 0x42, 0x00, + 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x19, 0x00, + 0x0a, 0x02, 0x4c, 0x4e, 0x4b, 0x43, 0x00, 0x12, + 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x19, 0x00, 0x0a, + 0x03, 0x4c, 0x4e, 0x4b, 0x44, 0x00, 0x12, 0x0d, + 0x04, 0x0c, 0xff, 0xff, 0x1a, 0x00, 0x00, 0x4c, + 0x4e, 0x4b, 0x42, 0x00, 0x12, 0x0d, 0x04, 0x0c, + 0xff, 0xff, 0x1a, 0x00, 0x01, 0x4c, 0x4e, 0x4b, + 0x43, 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, + 0x1a, 0x00, 0x0a, 0x02, 0x4c, 0x4e, 0x4b, 0x44, + 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x1a, + 0x00, 0x0a, 0x03, 0x4c, 0x4e, 0x4b, 0x41, 0x00, + 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, 0x1b, 0x00, + 0x00, 0x4c, 0x4e, 0x4b, 0x43, 0x00, 0x12, 0x0d, + 0x04, 0x0c, 0xff, 0xff, 0x1b, 0x00, 0x01, 0x4c, + 0x4e, 0x4b, 0x44, 0x00, 0x12, 0x0e, 0x04, 0x0c, + 0xff, 0xff, 0x1b, 0x00, 0x0a, 0x02, 0x4c, 0x4e, + 0x4b, 0x41, 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, + 0xff, 0x1b, 0x00, 0x0a, 0x03, 0x4c, 0x4e, 0x4b, + 0x42, 0x00, 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, + 0x1c, 0x00, 0x00, 0x4c, 0x4e, 0x4b, 0x44, 0x00, + 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, 0x1c, 0x00, + 0x01, 0x4c, 0x4e, 0x4b, 0x41, 0x00, 0x12, 0x0e, + 0x04, 0x0c, 0xff, 0xff, 0x1c, 0x00, 0x0a, 0x02, + 0x4c, 0x4e, 0x4b, 0x42, 0x00, 0x12, 0x0e, 0x04, + 0x0c, 0xff, 0xff, 0x1c, 0x00, 0x0a, 0x03, 0x4c, + 0x4e, 0x4b, 0x43, 0x00, 0x12, 0x0d, 0x04, 0x0c, + 0xff, 0xff, 0x1d, 0x00, 0x00, 0x4c, 0x4e, 0x4b, + 0x41, 0x00, 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, + 0x1d, 0x00, 0x01, 0x4c, 0x4e, 0x4b, 0x42, 0x00, + 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x1d, 0x00, + 0x0a, 0x02, 0x4c, 0x4e, 0x4b, 0x43, 0x00, 0x12, + 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x1d, 0x00, 0x0a, + 0x03, 0x4c, 0x4e, 0x4b, 0x44, 0x00, 0x12, 0x0d, + 0x04, 0x0c, 0xff, 0xff, 0x1e, 0x00, 0x00, 0x4c, + 0x4e, 0x4b, 0x42, 0x00, 0x12, 0x0d, 0x04, 0x0c, + 0xff, 0xff, 0x1e, 0x00, 0x01, 0x4c, 0x4e, 0x4b, + 0x43, 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, + 0x1e, 0x00, 0x0a, 0x02, 0x4c, 0x4e, 0x4b, 0x44, + 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, 0xff, 0x1e, + 0x00, 0x0a, 0x03, 0x4c, 0x4e, 0x4b, 0x41, 0x00, + 0x12, 0x0d, 0x04, 0x0c, 0xff, 0xff, 0x1f, 0x00, + 0x00, 0x4c, 0x4e, 0x4b, 0x43, 0x00, 0x12, 0x0d, + 0x04, 0x0c, 0xff, 0xff, 0x1f, 0x00, 0x01, 0x4c, + 0x4e, 0x4b, 0x44, 0x00, 0x12, 0x0e, 0x04, 0x0c, + 0xff, 0xff, 0x1f, 0x00, 0x0a, 0x02, 0x4c, 0x4e, + 0x4b, 0x41, 0x00, 0x12, 0x0e, 0x04, 0x0c, 0xff, + 0xff, 0x1f, 0x00, 0x0a, 0x03, 0x4c, 0x4e, 0x4b, + 0x42, 0x00, 0x5b, 0x81, 0x24, 0x2f, 0x03, 0x50, + 0x43, 0x49, 0x30, 0x49, 0x53, 0x41, 0x5f, 0x50, + 0x34, 0x30, 0x43, 0x01, 0x50, 0x52, 0x51, 0x30, + 0x08, 0x50, 0x52, 0x51, 0x31, 0x08, 0x50, 0x52, + 0x51, 0x32, 0x08, 0x50, 0x52, 0x51, 0x33, 0x08, + 0x14, 0x13, 0x49, 0x51, 0x53, 0x54, 0x01, 0xa0, + 0x09, 0x7b, 0x0a, 0x80, 0x68, 0x00, 0xa4, 0x0a, + 0x09, 0xa4, 0x0a, 0x0b, 0x14, 0x36, 0x49, 0x51, + 0x43, 0x52, 0x09, 0x08, 0x50, 0x52, 0x52, 0x30, + 0x11, 0x0e, 0x0a, 0x0b, 0x89, 0x06, 0x00, 0x09, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x8a, + 0x50, 0x52, 0x52, 0x30, 0x0a, 0x05, 0x50, 0x52, + 0x52, 0x49, 0xa0, 0x0b, 0x95, 0x68, 0x0a, 0x80, + 0x70, 0x68, 0x50, 0x52, 0x52, 0x49, 0xa4, 0x50, + 0x52, 0x52, 0x30, 0x5b, 0x82, 0x4c, 0x07, 0x4c, + 0x4e, 0x4b, 0x41, 0x08, 0x5f, 0x48, 0x49, 0x44, + 0x0c, 0x41, 0xd0, 0x0c, 0x0f, 0x08, 0x5f, 0x55, + 0x49, 0x44, 0x00, 0x08, 0x5f, 0x50, 0x52, 0x53, + 0x11, 0x16, 0x0a, 0x13, 0x89, 0x0e, 0x00, 0x09, + 0x03, 0x05, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, + 0x00, 0x0b, 0x00, 0x00, 0x00, 0x79, 0x00, 0x14, + 0x0f, 0x5f, 0x53, 0x54, 0x41, 0x00, 0xa4, 0x49, + 0x51, 0x53, 0x54, 0x50, 0x52, 0x51, 0x30, 0x14, + 0x11, 0x5f, 0x44, 0x49, 0x53, 0x00, 0x7d, 0x50, + 0x52, 0x51, 0x30, 0x0a, 0x80, 0x50, 0x52, 0x51, + 0x30, 0x14, 0x0f, 0x5f, 0x43, 0x52, 0x53, 0x00, + 0xa4, 0x49, 0x51, 0x43, 0x52, 0x50, 0x52, 0x51, + 0x30, 0x14, 0x17, 0x5f, 0x53, 0x52, 0x53, 0x01, + 0x8a, 0x68, 0x0a, 0x05, 0x50, 0x52, 0x52, 0x49, + 0x70, 0x50, 0x52, 0x52, 0x49, 0x50, 0x52, 0x51, + 0x30, 0x5b, 0x82, 0x4c, 0x07, 0x4c, 0x4e, 0x4b, + 0x42, 0x08, 0x5f, 0x48, 0x49, 0x44, 0x0c, 0x41, + 0xd0, 0x0c, 0x0f, 0x08, 0x5f, 0x55, 0x49, 0x44, + 0x01, 0x08, 0x5f, 0x50, 0x52, 0x53, 0x11, 0x16, + 0x0a, 0x13, 0x89, 0x0e, 0x00, 0x09, 0x03, 0x05, + 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0b, + 0x00, 0x00, 0x00, 0x79, 0x00, 0x14, 0x0f, 0x5f, + 0x53, 0x54, 0x41, 0x00, 0xa4, 0x49, 0x51, 0x53, + 0x54, 0x50, 0x52, 0x51, 0x31, 0x14, 0x11, 0x5f, + 0x44, 0x49, 0x53, 0x00, 0x7d, 0x50, 0x52, 0x51, + 0x31, 0x0a, 0x80, 0x50, 0x52, 0x51, 0x31, 0x14, + 0x0f, 0x5f, 0x43, 0x52, 0x53, 0x00, 0xa4, 0x49, + 0x51, 0x43, 0x52, 0x50, 0x52, 0x51, 0x31, 0x14, + 0x17, 0x5f, 0x53, 0x52, 0x53, 0x01, 0x8a, 0x68, + 0x0a, 0x05, 0x50, 0x52, 0x52, 0x49, 0x70, 0x50, + 0x52, 0x52, 0x49, 0x50, 0x52, 0x51, 0x31, 0x5b, + 0x82, 0x4d, 0x07, 0x4c, 0x4e, 0x4b, 0x43, 0x08, + 0x5f, 0x48, 0x49, 0x44, 0x0c, 0x41, 0xd0, 0x0c, + 0x0f, 0x08, 0x5f, 0x55, 0x49, 0x44, 0x0a, 0x02, + 0x08, 0x5f, 0x50, 0x52, 0x53, 0x11, 0x16, 0x0a, + 0x13, 0x89, 0x0e, 0x00, 0x09, 0x03, 0x05, 0x00, + 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0b, 0x00, + 0x00, 0x00, 0x79, 0x00, 0x14, 0x0f, 0x5f, 0x53, + 0x54, 0x41, 0x00, 0xa4, 0x49, 0x51, 0x53, 0x54, + 0x50, 0x52, 0x51, 0x32, 0x14, 0x11, 0x5f, 0x44, + 0x49, 0x53, 0x00, 0x7d, 0x50, 0x52, 0x51, 0x32, + 0x0a, 0x80, 0x50, 0x52, 0x51, 0x32, 0x14, 0x0f, + 0x5f, 0x43, 0x52, 0x53, 0x00, 0xa4, 0x49, 0x51, + 0x43, 0x52, 0x50, 0x52, 0x51, 0x32, 0x14, 0x17, + 0x5f, 0x53, 0x52, 0x53, 0x01, 0x8a, 0x68, 0x0a, + 0x05, 0x50, 0x52, 0x52, 0x49, 0x70, 0x50, 0x52, + 0x52, 0x49, 0x50, 0x52, 0x51, 0x32, 0x5b, 0x82, + 0x4d, 0x07, 0x4c, 0x4e, 0x4b, 0x44, 0x08, 0x5f, + 0x48, 0x49, 0x44, 0x0c, 0x41, 0xd0, 0x0c, 0x0f, + 0x08, 0x5f, 0x55, 0x49, 0x44, 0x0a, 0x03, 0x08, + 0x5f, 0x50, 0x52, 0x53, 0x11, 0x16, 0x0a, 0x13, + 0x89, 0x0e, 0x00, 0x09, 0x03, 0x05, 0x00, 0x00, + 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, + 0x00, 0x79, 0x00, 0x14, 0x0f, 0x5f, 0x53, 0x54, + 0x41, 0x00, 0xa4, 0x49, 0x51, 0x53, 0x54, 0x50, + 0x52, 0x51, 0x33, 0x14, 0x11, 0x5f, 0x44, 0x49, + 0x53, 0x00, 0x7d, 0x50, 0x52, 0x51, 0x33, 0x0a, + 0x80, 0x50, 0x52, 0x51, 0x33, 0x14, 0x0f, 0x5f, + 0x43, 0x52, 0x53, 0x00, 0xa4, 0x49, 0x51, 0x43, + 0x52, 0x50, 0x52, 0x51, 0x33, 0x14, 0x17, 0x5f, + 0x53, 0x52, 0x53, 0x01, 0x8a, 0x68, 0x0a, 0x05, + 0x50, 0x52, 0x52, 0x49, 0x70, 0x50, 0x52, 0x52, + 0x49, 0x50, 0x52, 0x51, 0x33, 0x5b, 0x82, 0x4f, + 0x04, 0x4c, 0x4e, 0x4b, 0x53, 0x08, 0x5f, 0x48, + 0x49, 0x44, 0x0c, 0x41, 0xd0, 0x0c, 0x0f, 0x08, + 0x5f, 0x55, 0x49, 0x44, 0x0a, 0x04, 0x08, 0x5f, + 0x50, 0x52, 0x53, 0x11, 0x0e, 0x0a, 0x0b, 0x89, + 0x06, 0x00, 0x09, 0x01, 0x09, 0x00, 0x00, 0x00, + 0x79, 0x00, 0x14, 0x09, 0x5f, 0x53, 0x54, 0x41, + 0x00, 0xa4, 0x0a, 0x0b, 0x14, 0x06, 0x5f, 0x44, + 0x49, 0x53, 0x00, 0x14, 0x0b, 0x5f, 0x43, 0x52, + 0x53, 0x00, 0xa4, 0x5f, 0x50, 0x52, 0x53, 0x14, + 0x06, 0x5f, 0x53, 0x52, 0x53, 0x01, 0x10, 0x47, + 0x0e, 0x5f, 0x53, 0x42, 0x5f, 0x14, 0x35, 0x43, + 0x50, 0x4d, 0x41, 0x01, 0x70, 0x83, 0x88, 0x43, + 0x50, 0x4f, 0x4e, 0x68, 0x00, 0x60, 0x70, 0x11, + 0x0b, 0x0a, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x61, 0x70, 0x68, 0x88, 0x61, + 0x0a, 0x02, 0x00, 0x70, 0x68, 0x88, 0x61, 0x0a, + 0x03, 0x00, 0x70, 0x60, 0x88, 0x61, 0x0a, 0x04, + 0x00, 0xa4, 0x61, 0x14, 0x1a, 0x43, 0x50, 0x53, + 0x54, 0x01, 0x70, 0x83, 0x88, 0x43, 0x50, 0x4f, + 0x4e, 0x68, 0x00, 0x60, 0xa0, 0x05, 0x60, 0xa4, + 0x0a, 0x0f, 0xa1, 0x03, 0xa4, 0x00, 0x14, 0x0a, + 0x43, 0x50, 0x45, 0x4a, 0x02, 0x5b, 0x22, 0x0a, + 0xc8, 0x5b, 0x80, 0x50, 0x52, 0x53, 0x54, 0x01, + 0x0b, 0x00, 0xaf, 0x0a, 0x20, 0x5b, 0x81, 0x0c, + 0x50, 0x52, 0x53, 0x54, 0x01, 0x50, 0x52, 0x53, + 0x5f, 0x40, 0x10, 0x14, 0x4a, 0x06, 0x50, 0x52, + 0x53, 0x43, 0x00, 0x70, 0x50, 0x52, 0x53, 0x5f, + 0x65, 0x70, 0x00, 0x62, 0x70, 0x00, 0x60, 0xa2, + 0x46, 0x05, 0x95, 0x60, 0x87, 0x43, 0x50, 0x4f, + 0x4e, 0x70, 0x83, 0x88, 0x43, 0x50, 0x4f, 0x4e, + 0x60, 0x00, 0x61, 0xa0, 0x0a, 0x7b, 0x60, 0x0a, + 0x07, 0x00, 0x7a, 0x62, 0x01, 0x62, 0xa1, 0x0c, + 0x70, 0x83, 0x88, 0x65, 0x7a, 0x60, 0x0a, 0x03, + 0x00, 0x00, 0x62, 0x70, 0x7b, 0x62, 0x01, 0x00, + 0x63, 0xa0, 0x22, 0x92, 0x93, 0x61, 0x63, 0x70, + 0x63, 0x88, 0x43, 0x50, 0x4f, 0x4e, 0x60, 0x00, + 0xa0, 0x0a, 0x93, 0x63, 0x01, 0x4e, 0x54, 0x46, + 0x59, 0x60, 0x01, 0xa1, 0x08, 0x4e, 0x54, 0x46, + 0x59, 0x60, 0x0a, 0x03, 0x75, 0x60, 0x10, 0x4e, + 0x09, 0x5f, 0x47, 0x50, 0x45, 0x08, 0x5f, 0x48, + 0x49, 0x44, 0x0d, 0x41, 0x43, 0x50, 0x49, 0x30, + 0x30, 0x30, 0x36, 0x00, 0x14, 0x06, 0x5f, 0x4c, + 0x30, 0x30, 0x00, 0x14, 0x15, 0x5f, 0x45, 0x30, + 0x31, 0x00, 0x5c, 0x2f, 0x03, 0x5f, 0x53, 0x42, + 0x5f, 0x50, 0x43, 0x49, 0x30, 0x50, 0x43, 0x4e, + 0x46, 0x14, 0x10, 0x5f, 0x45, 0x30, 0x32, 0x00, + 0x5c, 0x2e, 0x5f, 0x53, 0x42, 0x5f, 0x50, 0x52, + 0x53, 0x43, 0x14, 0x06, 0x5f, 0x4c, 0x30, 0x33, + 0x00, 0x14, 0x06, 0x5f, 0x4c, 0x30, 0x34, 0x00, + 0x14, 0x06, 0x5f, 0x4c, 0x30, 0x35, 0x00, 0x14, + 0x06, 0x5f, 0x4c, 0x30, 0x36, 0x00, 0x14, 0x06, + 0x5f, 0x4c, 0x30, 0x37, 0x00, 0x14, 0x06, 0x5f, + 0x4c, 0x30, 0x38, 0x00, 0x14, 0x06, 0x5f, 0x4c, + 0x30, 0x39, 0x00, 0x14, 0x06, 0x5f, 0x4c, 0x30, + 0x41, 0x00, 0x14, 0x06, 0x5f, 0x4c, 0x30, 0x42, + 0x00, 0x14, 0x06, 0x5f, 0x4c, 0x30, 0x43, 0x00, + 0x14, 0x06, 0x5f, 0x4c, 0x30, 0x44, 0x00, 0x14, + 0x06, 0x5f, 0x4c, 0x30, 0x45, 0x00, 0x14, 0x06, + 0x5f, 0x4c, 0x30, 0x46, 0x00 +}; diff --git a/src/fw/acpi.c b/src/fw/acpi.c index ecd1adc..b805b44 100644 --- a/src/fw/acpi.c +++ b/src/fw/acpi.c @@ -22,7 +22,7 @@ #include "util.h" // MaxCountCPUs #include "x86.h" // readl
-#include "src/fw/acpi-dsdt.hex" +#include "fw/acpi-dsdt.hex"
static void build_header(struct acpi_table_header *h, u32 sig, int len, u8 rev) @@ -235,7 +235,7 @@ encodeLen(u8 *ssdt_ptr, int length, int bytes) return ssdt_ptr + bytes; }
-#include "src/fw/ssdt-proc.hex" +#include "fw/ssdt-proc.hex"
/* 0x5B 0x83 ProcessorOp PkgLength NameString ProcID */ #define PROC_OFFSET_CPUHEX (*ssdt_proc_name - *ssdt_proc_start + 2) @@ -256,8 +256,8 @@ encodeLen(u8 *ssdt_ptr, int length, int bytes) #define SSDT_SIGNATURE 0x54445353 // SSDT #define SSDT_HEADER_LENGTH 36
-#include "src/fw/ssdt-misc.hex" -#include "src/fw/ssdt-pcihp.hex" +#include "fw/ssdt-misc.hex" +#include "fw/ssdt-pcihp.hex"
#define PCI_RMV_BASE 0xae0c
diff --git a/src/fw/ssdt-misc.hex b/src/fw/ssdt-misc.hex new file mode 100644 index 0000000..6eb1c6d --- /dev/null +++ b/src/fw/ssdt-misc.hex @@ -0,0 +1,88 @@ +/* DO NOT EDIT! This is an autogenerated file. See scripts/acpi_extract.py. */ +static unsigned char acpi_pci64_length[] = { + 0x6f +}; + +static unsigned char acpi_s4_pkg[] = { + 0x8f +}; + +static unsigned char acpi_s3_name[] = { + 0x7c +}; + +static unsigned char acpi_pci32_start[] = { + 0x2f +}; + +static unsigned char acpi_pci64_valid[] = { + 0x43 +}; + +static unsigned char ssdp_misc_aml[] = { + 0x53, 0x53, 0x44, 0x54, 0x62, 0x01, 0x00, 0x00, + 0x01, 0x7f, 0x42, 0x58, 0x50, 0x43, 0x00, 0x00, + 0x42, 0x58, 0x53, 0x53, 0x44, 0x54, 0x53, 0x55, + 0x01, 0x00, 0x00, 0x00, 0x49, 0x4e, 0x54, 0x4c, + 0x18, 0x08, 0x15, 0x20, 0x10, 0x42, 0x05, 0x5c, + 0x00, 0x08, 0x50, 0x30, 0x53, 0x5f, 0x0c, 0x78, + 0x56, 0x34, 0x12, 0x08, 0x50, 0x30, 0x45, 0x5f, + 0x0c, 0x78, 0x56, 0x34, 0x12, 0x08, 0x50, 0x31, + 0x56, 0x5f, 0x0a, 0x12, 0x08, 0x50, 0x31, 0x53, + 0x5f, 0x11, 0x0b, 0x0a, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x50, 0x31, + 0x45, 0x5f, 0x11, 0x0b, 0x0a, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x50, + 0x31, 0x4c, 0x5f, 0x11, 0x0b, 0x0a, 0x08, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, + 0x29, 0x5c, 0x00, 0x08, 0x5f, 0x53, 0x33, 0x5f, + 0x12, 0x06, 0x04, 0x01, 0x01, 0x00, 0x00, 0x08, + 0x5f, 0x53, 0x34, 0x5f, 0x12, 0x08, 0x04, 0x0a, + 0x02, 0x0a, 0x02, 0x00, 0x00, 0x08, 0x5f, 0x53, + 0x35, 0x5f, 0x12, 0x06, 0x04, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x40, 0x0c, 0x5c, 0x2f, 0x03, 0x5f, + 0x53, 0x42, 0x5f, 0x50, 0x43, 0x49, 0x30, 0x49, + 0x53, 0x41, 0x5f, 0x5b, 0x82, 0x4d, 0x0a, 0x50, + 0x45, 0x56, 0x54, 0x08, 0x5f, 0x48, 0x49, 0x44, + 0x0d, 0x51, 0x45, 0x4d, 0x55, 0x30, 0x30, 0x30, + 0x31, 0x00, 0x08, 0x50, 0x45, 0x53, 0x54, 0x0b, + 0xff, 0xff, 0x5b, 0x80, 0x50, 0x45, 0x4f, 0x52, + 0x01, 0x50, 0x45, 0x53, 0x54, 0x01, 0x5b, 0x81, + 0x0b, 0x50, 0x45, 0x4f, 0x52, 0x01, 0x50, 0x45, + 0x50, 0x54, 0x08, 0x14, 0x18, 0x5f, 0x53, 0x54, + 0x41, 0x00, 0x70, 0x50, 0x45, 0x53, 0x54, 0x60, + 0xa0, 0x06, 0x93, 0x60, 0x00, 0xa4, 0x00, 0xa1, + 0x04, 0xa4, 0x0a, 0x0f, 0x14, 0x0e, 0x52, 0x44, + 0x50, 0x54, 0x00, 0x70, 0x50, 0x45, 0x50, 0x54, + 0x60, 0xa4, 0x60, 0x14, 0x0c, 0x57, 0x52, 0x50, + 0x54, 0x01, 0x70, 0x68, 0x50, 0x45, 0x50, 0x54, + 0x08, 0x5f, 0x43, 0x52, 0x53, 0x11, 0x0d, 0x0a, + 0x0a, 0x47, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x79, 0x00, 0x8b, 0x5f, 0x43, 0x52, 0x53, + 0x0a, 0x02, 0x49, 0x4f, 0x4d, 0x4e, 0x8b, 0x5f, + 0x43, 0x52, 0x53, 0x0a, 0x04, 0x49, 0x4f, 0x4d, + 0x58, 0x14, 0x18, 0x5f, 0x49, 0x4e, 0x49, 0x00, + 0x70, 0x50, 0x45, 0x53, 0x54, 0x49, 0x4f, 0x4d, + 0x4e, 0x70, 0x50, 0x45, 0x53, 0x54, 0x49, 0x4f, + 0x4d, 0x58 +}; + +static unsigned char ssdt_isa_pest[] = { + 0xd0 +}; + +static unsigned char acpi_s4_name[] = { + 0x88 +}; + +static unsigned char acpi_pci64_start[] = { + 0x4d +}; + +static unsigned char acpi_pci64_end[] = { + 0x5e +}; + +static unsigned char acpi_pci32_end[] = { + 0x39 +}; diff --git a/src/fw/ssdt-pcihp.hex b/src/fw/ssdt-pcihp.hex new file mode 100644 index 0000000..79b67f7 --- /dev/null +++ b/src/fw/ssdt-pcihp.hex @@ -0,0 +1,38 @@ +/* DO NOT EDIT! This is an autogenerated file. See scripts/acpi_extract.py. */ +static unsigned char ssdt_pcihp_name[] = { + 0x33 +}; + +static unsigned char ssdt_pcihp_adr[] = { + 0x44 +}; + +static unsigned char ssdt_pcihp_end[] = { + 0x57 +}; + +static unsigned char ssdp_pcihp_aml[] = { + 0x53, 0x53, 0x44, 0x54, 0x57, 0x00, 0x00, 0x00, + 0x01, 0x27, 0x42, 0x58, 0x50, 0x43, 0x00, 0x00, + 0x42, 0x58, 0x53, 0x53, 0x44, 0x54, 0x50, 0x43, + 0x01, 0x00, 0x00, 0x00, 0x49, 0x4e, 0x54, 0x4c, + 0x18, 0x08, 0x15, 0x20, 0x10, 0x32, 0x5c, 0x2e, + 0x5f, 0x53, 0x42, 0x5f, 0x50, 0x43, 0x49, 0x30, + 0x5b, 0x82, 0x25, 0x53, 0x41, 0x41, 0x5f, 0x08, + 0x5f, 0x53, 0x55, 0x4e, 0x0a, 0xaa, 0x08, 0x5f, + 0x41, 0x44, 0x52, 0x0c, 0x00, 0x00, 0xaa, 0x00, + 0x14, 0x0e, 0x5f, 0x45, 0x4a, 0x30, 0x01, 0x50, + 0x43, 0x45, 0x4a, 0x5f, 0x53, 0x55, 0x4e +}; + +static unsigned char ssdt_pcihp_start[] = { + 0x30 +}; + +static unsigned char ssdt_pcihp_id[] = { + 0x3d +}; + +static unsigned char ssdt_pcihp_ej0[] = { + 0x4a +}; diff --git a/src/fw/ssdt-proc.hex b/src/fw/ssdt-proc.hex new file mode 100644 index 0000000..b6a5778 --- /dev/null +++ b/src/fw/ssdt-proc.hex @@ -0,0 +1,35 @@ +/* DO NOT EDIT! This is an autogenerated file. See scripts/acpi_extract.py. */ +static unsigned char ssdt_proc_name[] = { + 0x28 +}; + +static unsigned char ssdp_proc_aml[] = { + 0x53, 0x53, 0x44, 0x54, 0x78, 0x00, 0x00, 0x00, + 0x01, 0xbb, 0x42, 0x58, 0x50, 0x43, 0x00, 0x00, + 0x42, 0x58, 0x53, 0x53, 0x44, 0x54, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x49, 0x4e, 0x54, 0x4c, + 0x18, 0x08, 0x15, 0x20, 0x5b, 0x83, 0x42, 0x05, + 0x43, 0x50, 0x41, 0x41, 0xaa, 0x10, 0xb0, 0x00, + 0x00, 0x06, 0x08, 0x49, 0x44, 0x5f, 0x5f, 0x0a, + 0xaa, 0x08, 0x5f, 0x48, 0x49, 0x44, 0x0d, 0x41, + 0x43, 0x50, 0x49, 0x30, 0x30, 0x30, 0x37, 0x00, + 0x14, 0x0f, 0x5f, 0x4d, 0x41, 0x54, 0x00, 0xa4, + 0x43, 0x50, 0x4d, 0x41, 0x49, 0x44, 0x5f, 0x5f, + 0x14, 0x0f, 0x5f, 0x53, 0x54, 0x41, 0x00, 0xa4, + 0x43, 0x50, 0x53, 0x54, 0x49, 0x44, 0x5f, 0x5f, + 0x14, 0x0f, 0x5f, 0x45, 0x4a, 0x30, 0x01, 0x43, + 0x50, 0x45, 0x4a, 0x49, 0x44, 0x5f, 0x5f, 0x68, + +}; + +static unsigned char ssdt_proc_id[] = { + 0x38 +}; + +static unsigned char ssdt_proc_end[] = { + 0x78 +}; + +static unsigned char ssdt_proc_start[] = { + 0x24 +};
The iasl program is no longer used on a default build. Do not require it to be installed.
Signed-off-by: Kevin O'Connor kevin@koconnor.net --- scripts/test-build.sh | 13 ------------- 1 file changed, 13 deletions(-)
diff --git a/scripts/test-build.sh b/scripts/test-build.sh index 081f9fd..25cc2f2 100755 --- a/scripts/test-build.sh +++ b/scripts/test-build.sh @@ -1,19 +1,6 @@ #!/bin/sh # Script to test if the build works properly.
-# Test IASL is installed. -$IASL -h > /dev/null 2>&1 -if [ $? -ne 0 ]; then - echo "The SeaBIOS project requires the 'iasl' package be installed." >&2 - echo "Many Linux distributions have this package." >&2 - echo "Try: sudo yum install iasl" >&2 - echo "Or: sudo apt-get install iasl" >&2 - echo "" >&2 - echo "Please install iasl and retry." >&2 - echo -1 - exit 0 -fi - mkdir -p ${OUT} TMPFILE1=${OUT}/tmp_testcompile1.c TMPFILE1o=${OUT}/tmp_testcompile1.o
On Tue, Nov 17, 2015 at 07:05:59PM -0500, Kevin O'Connor wrote:
It's been over 2 years since the last meaningful change to the DSDT files in the SeaBIOS repo. (And that's with good cause, as the content is now only used by old QEMU machine types and it should be static.) It does not make sense to require iasl on every build to generate these files. Instead, it's simpler to just commit the four generated files into the code repo.
FYI, I committed this series.
-Kevin