soc/intel/common/acpi: Fix ACPI Namespace lookup failure, AE_ALREADY_EXISTS issue

This patch fixes below ACPI compilation issue:

Found 1 external control methods, reparsing with new information
Pass 1 parse of [DSDT]
ACPI Error: [EPCS] Namespace lookup failure, AE_ALREADY_EXISTS (20160318/dsfield-660)
ACPI Error: [EMNA] Namespace lookup failure, AE_ALREADY_EXISTS (20160318/dsfield-660)
ACPI Error: [ELNG] Namespace lookup failure, AE_ALREADY_EXISTS (20160318/dsfield-660)
Pass 2 parse of [DSDT]
ACPI Warning: NsLookup: Type mismatch on EPCS (Integer), searching for (RegionField) (20160318/nsaccess-664)
ACPI Warning: NsLookup: Type mismatch on EMNA (Integer), searching for (RegionField) (20160318/nsaccess-664)
ACPI Warning: NsLookup: Type mismatch on ELNG (Integer), searching for (RegionField) (20160318/nsaccess-664)
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)

TEST=Able to build sgx.asl without any ASL error.

Change-Id: If4e7d4c66b6aab6c081fa272d8c2c9a1f0651ef7
Signed-off-by: Subrata Banik <subrata.banik@intel.com>
Reviewed-on: https://review.coreboot.org/28961
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
Subrata Banik 2018-10-08 11:04:24 +05:30 committed by Duncan Laurie
parent ee941635e6
commit 50cdce9575
1 changed files with 5 additions and 9 deletions

View File

@ -1,7 +1,7 @@
/* /*
* This file is part of the coreboot project. * This file is part of the coreboot project.
* *
* Copyright (C) 2017 Intel Corp. * Copyright (C) 2017-2018 Intel Corp.
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -13,10 +13,6 @@
* GNU General Public License for more details. * GNU General Public License for more details.
*/ */
External(\_SB.EPCS, IntObj) // Enclave Page Cache (EPC) Status
External(\_SB.EMNA, IntObj) // EPC base address
External(\_SB.ELNG, IntObj) // EPC length
Scope(\_SB) Scope(\_SB)
{ {
// Secure Enclave memory // Secure Enclave memory
@ -54,15 +50,15 @@ Scope(\_SB)
CreateQwordField (RBUF, ^BAR0._MIN, EMIN) CreateQwordField (RBUF, ^BAR0._MIN, EMIN)
CreateQwordField (RBUF, ^BAR0._MAX, EMAX) CreateQwordField (RBUF, ^BAR0._MAX, EMAX)
CreateQwordField (RBUF, ^BAR0._LEN, ELEN) CreateQwordField (RBUF, ^BAR0._LEN, ELEN)
Store (\_SB.EMNA, EMIN) Store (EMNA, EMIN)
Store (\_SB.ELNG, ELEN) Store (ELNG, ELEN)
Subtract (Add (\_SB.EMNA, \_SB.ELNG), 1, EMAX) Subtract (Add (EMNA, ELNG), 1, EMAX)
Return (RBUF) Return (RBUF)
} }
Method (_STA, 0x0, NotSerialized) Method (_STA, 0x0, NotSerialized)
{ {
If (LNotEqual (\_SB.EPCS, 0)) If (LNotEqual (EPCS, 0))
{ {
Return (0xF) Return (0xF)
} }