diff options
author | Laszlo Ersek <lersek@redhat.com> | 2015-09-02 18:45:40 +0000 |
---|---|---|
committer | lersek <lersek@Edk2> | 2015-09-02 18:45:40 +0000 |
commit | f1cbea148c1d1392302bf1469fad26aea6cf3659 (patch) | |
tree | fff14ce8aa3b29500fe0c4c4fb5fb6e94a38ee6f /OvmfPkg | |
parent | 9be751890e182292fd03803d58e44ac9ac9706ef (diff) | |
download | edk2-platforms-f1cbea148c1d1392302bf1469fad26aea6cf3659.tar.xz |
OvmfPkg: AcpiTables: serialize control methods that create named objects
Bruce Cran reported the following issue:
With iasl version 20150410-64 building OvmfX64 (using OvmfPkg/build.sh
-a X64 -t GCC49 -b RELEASE) results in a couple of warnings about
methods that should be serialized:
.../OvmfPkg/AcpiTables/AcpiTables/OUTPUT/./Dsdt.iiii
95: Method (_CRS, 0) {
Remark 2120 - Control Method should be made Serialized ^ (due to
creation of named objects within)
.../OvmfPkg/AcpiTables/AcpiTables/OUTPUT/./Dsdt.iiii
235: Method (PCRS, 1, NotSerialized) {
Remark 2120 - Control Method should be made Serialized ^ (due to
creation of named objects within)
The ACPI 6.0 spec justifies the above warnings in "19.6.82 Method (Declare
Control Method)":
[...] The serialize rule can be used to prevent reentering of a method.
This is especially useful if the method creates namespace objects.
Without the serialize rule, the reentering of a method will fail when it
attempts to create the same namespace object. [...]
Cc: Bruce Cran <bruce@cran.org.uk>
Reported-by: Bruce Cran <bruce@cran.org.uk>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18392 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'OvmfPkg')
-rw-r--r-- | OvmfPkg/AcpiTables/Dsdt.asl | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/OvmfPkg/AcpiTables/Dsdt.asl b/OvmfPkg/AcpiTables/Dsdt.asl index 519a31250a..2c3a314af6 100644 --- a/OvmfPkg/AcpiTables/Dsdt.asl +++ b/OvmfPkg/AcpiTables/Dsdt.asl @@ -130,7 +130,7 @@ DefinitionBlock ("Dsdt.aml", "DSDT", 1, "INTEL ", "OVMF ", 4) { )
})
- Method (_CRS, 0) {
+ Method (_CRS, 0, Serialized) {
//
// see the FIRMWARE_DATA structure in "OvmfPkg/AcpiPlatformDxe/Qemu.c"
//
@@ -360,7 +360,7 @@ DefinitionBlock ("Dsdt.aml", "DSDT", 1, "INTEL ", "OVMF ", 4) { // _CRS method for LNKA, LNKB, LNKC, LNKD
// Arg0[in]: value of PIRA / PIRB / PIRC / PIRD
//
- Method (PCRS, 1, NotSerialized) {
+ Method (PCRS, 1, Serialized) {
//
// create temporary buffer with an Extended Interrupt Descriptor
// whose single vector defaults to zero
|