summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Jones <marcj303@gmail.com>2018-08-15 23:57:28 -0600
committerMartin Roth <martinroth@google.com>2018-08-17 21:10:04 +0000
commit24462e65076372dd15cc6587a04fc2c49a9afe5a (patch)
treefcafe6825d3f908d6c4d5737d512079a30a5b3b8
parente17ec3e2e84a8e7cd3f19fb6774356684ae6f25f (diff)
x86/acpigen: Fix ACPI _ROM method
Fix the following Error: FAILED [LOW] AMLAsmASL_MSG_SERIALIZED_REQUIRED: Test 1, Assembler remark in line 142 Line | AML source -------------------------------------------------------------------------------- 00139| 00140| Scope (\_SB.PCI0.IGFX) 00141| { 00142| Method (_ROM, 2, NotSerialized) // _ROM: Read-Only Memory | ^ | Remark 2120: Control Method should be made Serialized (due to creation of named objects within) 00143| { 00144| OperationRegion (ROMS, SystemMemory, 0xCD520000, 0xFE00) 00145| Field (ROMS, AnyAcc, NoLock, Preserve) ================================================================================ ADVICE: (for Remark #2120, ASL_MSG_SERIALIZED_REQUIRED): A named object is created inside a non-serialized method - this method should be serialized. It is possible that one thread enters the method and blocks and then a second thread also executes the method, ending up in two attempts to create the object and causing a failure. Use the acpigen_write_method_serialized() to correct the error. BUG=b:112476331 TEST=Run FWTS. Change-Id: I145c3c3103efb4a02b4e02dd177f4bf50a2c7b3e Signed-off-by: Marc Jones <marcj303@gmail.com> Reviewed-on: https://review.coreboot.org/28124 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Rudolph <siro@das-labor.org>
-rw-r--r--src/arch/x86/acpigen.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/arch/x86/acpigen.c b/src/arch/x86/acpigen.c
index f73ace298e..e10d3077b2 100644
--- a/src/arch/x86/acpigen.c
+++ b/src/arch/x86/acpigen.c
@@ -1454,7 +1454,7 @@ void acpigen_write_rom(void *bios, const size_t length)
ASSERT(length)
/* Method (_ROM, 2, NotSerialized) */
- acpigen_write_method("_ROM", 2);
+ acpigen_write_method_serialized("_ROM", 2);
/* OperationRegion("ROMS", SYSTEMMEMORY, current, length) */
struct opregion opreg = OPREGION("ROMS", SYSTEMMEMORY,