summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/arch/x86/acpigen.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/arch/x86/acpigen.c b/src/arch/x86/acpigen.c
index d3aaa3d644..59bfee314b 100644
--- a/src/arch/x86/acpigen.c
+++ b/src/arch/x86/acpigen.c
@@ -862,6 +862,8 @@ void acpigen_write_resourcetemplate_header(void)
acpigen_write_len_f();
acpigen_emit_byte(WORD_PREFIX);
len_stack[ltop++] = acpigen_get_current();
+ /* Add 2 dummy bytes for the ACPI word (keep aligned with
+ the calclulation in acpigen_write_resourcetemplate() below). */
acpigen_emit_byte(0x00);
acpigen_emit_byte(0x00);
}
@@ -879,7 +881,9 @@ void acpigen_write_resourcetemplate_footer(void)
acpigen_emit_byte(0x79);
acpigen_emit_byte(0x00);
- len = gencurrent - p;
+ /* Start counting past the 2-bytes length added in
+ acpigen_write_resourcetemplate() above. */
+ len = acpigen_get_current() - (p + 2);
/* patch len word */
p[0] = len & 0xff;