mainboard/*/acpi/ide.asl: Serialize ACPI methods to avoid races.
Serialize methods against the construction of same (named) objects by competing threads. See ACPICA BZ 909 for further details. This change fixes issues that show up with the Ubuntu firmware test suite (fwts) ACPI table sanity checker. Change-Id: I49e3050a2a5aece6f031122b0211c056938d1a89 Signed-off-by: Edward O'Callaghan <eocallaghan@alterapraxis.com> Reviewed-on: http://review.coreboot.org/5458 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
This commit is contained in:
parent
374251d901
commit
0e3ca27315
@ -77,7 +77,7 @@ Method(GTTM, 1) /* get total time*/
|
|||||||
Device(PRID)
|
Device(PRID)
|
||||||
{
|
{
|
||||||
Name (_ADR, Zero)
|
Name (_ADR, Zero)
|
||||||
Method(_GTM, 0)
|
Method(_GTM, 0, Serialized)
|
||||||
{
|
{
|
||||||
NAME(OTBF, Buffer(20) { /* out buffer */
|
NAME(OTBF, Buffer(20) { /* out buffer */
|
||||||
0xFF, 0xFF, 0xFF, 0xFF,
|
0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
@ -122,7 +122,7 @@ Device(PRID)
|
|||||||
Return(OTBF) /* out buffer */
|
Return(OTBF) /* out buffer */
|
||||||
} /* End Method(_GTM) */
|
} /* End Method(_GTM) */
|
||||||
|
|
||||||
Method(_STM, 3, NotSerialized)
|
Method(_STM, 3, Serialized)
|
||||||
{
|
{
|
||||||
NAME(INBF, Buffer(20) { /* in buffer */
|
NAME(INBF, Buffer(20) { /* in buffer */
|
||||||
0xFF, 0xFF, 0xFF, 0xFF,
|
0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
@ -173,7 +173,7 @@ Device(PRID)
|
|||||||
Device(MST)
|
Device(MST)
|
||||||
{
|
{
|
||||||
Name(_ADR, 0)
|
Name(_ADR, 0)
|
||||||
Method(_GTF) {
|
Method(_GTF, 0, Serialized) {
|
||||||
Name(CMBF, Buffer(21) {
|
Name(CMBF, Buffer(21) {
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
@ -209,7 +209,7 @@ Device(PRID)
|
|||||||
Device(SLAV)
|
Device(SLAV)
|
||||||
{
|
{
|
||||||
Name(_ADR, 1)
|
Name(_ADR, 1)
|
||||||
Method(_GTF) {
|
Method(_GTF, 0, Serialized) {
|
||||||
Name(CMBF, Buffer(21) {
|
Name(CMBF, Buffer(21) {
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
|
@ -77,7 +77,7 @@ Method(GTTM, 1) /* get total time*/
|
|||||||
Device(PRID)
|
Device(PRID)
|
||||||
{
|
{
|
||||||
Name (_ADR, Zero)
|
Name (_ADR, Zero)
|
||||||
Method(_GTM, 0)
|
Method(_GTM, 0, Serialized)
|
||||||
{
|
{
|
||||||
NAME(OTBF, Buffer(20) { /* out buffer */
|
NAME(OTBF, Buffer(20) { /* out buffer */
|
||||||
0xFF, 0xFF, 0xFF, 0xFF,
|
0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
@ -122,7 +122,7 @@ Device(PRID)
|
|||||||
Return(OTBF) /* out buffer */
|
Return(OTBF) /* out buffer */
|
||||||
} /* End Method(_GTM) */
|
} /* End Method(_GTM) */
|
||||||
|
|
||||||
Method(_STM, 3, NotSerialized)
|
Method(_STM, 3, Serialized)
|
||||||
{
|
{
|
||||||
NAME(INBF, Buffer(20) { /* in buffer */
|
NAME(INBF, Buffer(20) { /* in buffer */
|
||||||
0xFF, 0xFF, 0xFF, 0xFF,
|
0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
@ -173,7 +173,7 @@ Device(PRID)
|
|||||||
Device(MST)
|
Device(MST)
|
||||||
{
|
{
|
||||||
Name(_ADR, 0)
|
Name(_ADR, 0)
|
||||||
Method(_GTF) {
|
Method(_GTF, 0, Serialized) {
|
||||||
Name(CMBF, Buffer(21) {
|
Name(CMBF, Buffer(21) {
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
@ -209,7 +209,7 @@ Device(PRID)
|
|||||||
Device(SLAV)
|
Device(SLAV)
|
||||||
{
|
{
|
||||||
Name(_ADR, 1)
|
Name(_ADR, 1)
|
||||||
Method(_GTF) {
|
Method(_GTF, 0, Serialized) {
|
||||||
Name(CMBF, Buffer(21) {
|
Name(CMBF, Buffer(21) {
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
|
@ -77,7 +77,7 @@ Method(GTTM, 1) /* get total time*/
|
|||||||
Device(PRID)
|
Device(PRID)
|
||||||
{
|
{
|
||||||
Name (_ADR, Zero)
|
Name (_ADR, Zero)
|
||||||
Method(_GTM, 0)
|
Method(_GTM, 0, Serialized)
|
||||||
{
|
{
|
||||||
NAME(OTBF, Buffer(20) { /* out buffer */
|
NAME(OTBF, Buffer(20) { /* out buffer */
|
||||||
0xFF, 0xFF, 0xFF, 0xFF,
|
0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
@ -122,7 +122,7 @@ Device(PRID)
|
|||||||
Return(OTBF) /* out buffer */
|
Return(OTBF) /* out buffer */
|
||||||
} /* End Method(_GTM) */
|
} /* End Method(_GTM) */
|
||||||
|
|
||||||
Method(_STM, 3, NotSerialized)
|
Method(_STM, 3, Serialized)
|
||||||
{
|
{
|
||||||
NAME(INBF, Buffer(20) { /* in buffer */
|
NAME(INBF, Buffer(20) { /* in buffer */
|
||||||
0xFF, 0xFF, 0xFF, 0xFF,
|
0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
@ -173,7 +173,7 @@ Device(PRID)
|
|||||||
Device(MST)
|
Device(MST)
|
||||||
{
|
{
|
||||||
Name(_ADR, 0)
|
Name(_ADR, 0)
|
||||||
Method(_GTF) {
|
Method(_GTF, 0, Serialized) {
|
||||||
Name(CMBF, Buffer(21) {
|
Name(CMBF, Buffer(21) {
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
@ -209,7 +209,7 @@ Device(PRID)
|
|||||||
Device(SLAV)
|
Device(SLAV)
|
||||||
{
|
{
|
||||||
Name(_ADR, 1)
|
Name(_ADR, 1)
|
||||||
Method(_GTF) {
|
Method(_GTF, 0, Serialized) {
|
||||||
Name(CMBF, Buffer(21) {
|
Name(CMBF, Buffer(21) {
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
|
@ -77,7 +77,7 @@ Method(GTTM, 1) /* get total time*/
|
|||||||
Device(PRID)
|
Device(PRID)
|
||||||
{
|
{
|
||||||
Name (_ADR, Zero)
|
Name (_ADR, Zero)
|
||||||
Method(_GTM, 0)
|
Method(_GTM, 0, Serialized)
|
||||||
{
|
{
|
||||||
NAME(OTBF, Buffer(20) { /* out buffer */
|
NAME(OTBF, Buffer(20) { /* out buffer */
|
||||||
0xFF, 0xFF, 0xFF, 0xFF,
|
0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
@ -122,7 +122,7 @@ Device(PRID)
|
|||||||
Return(OTBF) /* out buffer */
|
Return(OTBF) /* out buffer */
|
||||||
} /* End Method(_GTM) */
|
} /* End Method(_GTM) */
|
||||||
|
|
||||||
Method(_STM, 3, NotSerialized)
|
Method(_STM, 3, Serialized)
|
||||||
{
|
{
|
||||||
NAME(INBF, Buffer(20) { /* in buffer */
|
NAME(INBF, Buffer(20) { /* in buffer */
|
||||||
0xFF, 0xFF, 0xFF, 0xFF,
|
0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
@ -173,7 +173,7 @@ Device(PRID)
|
|||||||
Device(MST)
|
Device(MST)
|
||||||
{
|
{
|
||||||
Name(_ADR, 0)
|
Name(_ADR, 0)
|
||||||
Method(_GTF) {
|
Method(_GTF, 0, Serialized) {
|
||||||
Name(CMBF, Buffer(21) {
|
Name(CMBF, Buffer(21) {
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
@ -209,7 +209,7 @@ Device(PRID)
|
|||||||
Device(SLAV)
|
Device(SLAV)
|
||||||
{
|
{
|
||||||
Name(_ADR, 1)
|
Name(_ADR, 1)
|
||||||
Method(_GTF) {
|
Method(_GTF, 0, Serialized) {
|
||||||
Name(CMBF, Buffer(21) {
|
Name(CMBF, Buffer(21) {
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
|
@ -77,7 +77,7 @@ Method(GTTM, 1) /* get total time*/
|
|||||||
Device(PRID)
|
Device(PRID)
|
||||||
{
|
{
|
||||||
Name (_ADR, Zero)
|
Name (_ADR, Zero)
|
||||||
Method(_GTM, 0)
|
Method(_GTM, 0, Serialized)
|
||||||
{
|
{
|
||||||
NAME(OTBF, Buffer(20) { /* out buffer */
|
NAME(OTBF, Buffer(20) { /* out buffer */
|
||||||
0xFF, 0xFF, 0xFF, 0xFF,
|
0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
@ -122,7 +122,7 @@ Device(PRID)
|
|||||||
Return(OTBF) /* out buffer */
|
Return(OTBF) /* out buffer */
|
||||||
} /* End Method(_GTM) */
|
} /* End Method(_GTM) */
|
||||||
|
|
||||||
Method(_STM, 3, NotSerialized)
|
Method(_STM, 3, Serialized)
|
||||||
{
|
{
|
||||||
NAME(INBF, Buffer(20) { /* in buffer */
|
NAME(INBF, Buffer(20) { /* in buffer */
|
||||||
0xFF, 0xFF, 0xFF, 0xFF,
|
0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
@ -173,7 +173,7 @@ Device(PRID)
|
|||||||
Device(MST)
|
Device(MST)
|
||||||
{
|
{
|
||||||
Name(_ADR, 0)
|
Name(_ADR, 0)
|
||||||
Method(_GTF) {
|
Method(_GTF, 0, Serialized) {
|
||||||
Name(CMBF, Buffer(21) {
|
Name(CMBF, Buffer(21) {
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
@ -209,7 +209,7 @@ Device(PRID)
|
|||||||
Device(SLAV)
|
Device(SLAV)
|
||||||
{
|
{
|
||||||
Name(_ADR, 1)
|
Name(_ADR, 1)
|
||||||
Method(_GTF) {
|
Method(_GTF, 0, Serialized) {
|
||||||
Name(CMBF, Buffer(21) {
|
Name(CMBF, Buffer(21) {
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
|
@ -77,7 +77,7 @@ Method(GTTM, 1) /* get total time*/
|
|||||||
Device(PRID)
|
Device(PRID)
|
||||||
{
|
{
|
||||||
Name (_ADR, Zero)
|
Name (_ADR, Zero)
|
||||||
Method(_GTM, 0)
|
Method(_GTM, 0, Serialized)
|
||||||
{
|
{
|
||||||
NAME(OTBF, Buffer(20) { /* out buffer */
|
NAME(OTBF, Buffer(20) { /* out buffer */
|
||||||
0xFF, 0xFF, 0xFF, 0xFF,
|
0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
@ -122,7 +122,7 @@ Device(PRID)
|
|||||||
Return(OTBF) /* out buffer */
|
Return(OTBF) /* out buffer */
|
||||||
} /* End Method(_GTM) */
|
} /* End Method(_GTM) */
|
||||||
|
|
||||||
Method(_STM, 3, NotSerialized)
|
Method(_STM, 3, Serialized)
|
||||||
{
|
{
|
||||||
NAME(INBF, Buffer(20) { /* in buffer */
|
NAME(INBF, Buffer(20) { /* in buffer */
|
||||||
0xFF, 0xFF, 0xFF, 0xFF,
|
0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
@ -173,7 +173,7 @@ Device(PRID)
|
|||||||
Device(MST)
|
Device(MST)
|
||||||
{
|
{
|
||||||
Name(_ADR, 0)
|
Name(_ADR, 0)
|
||||||
Method(_GTF) {
|
Method(_GTF, 0, Serialized) {
|
||||||
Name(CMBF, Buffer(21) {
|
Name(CMBF, Buffer(21) {
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
@ -209,7 +209,7 @@ Device(PRID)
|
|||||||
Device(SLAV)
|
Device(SLAV)
|
||||||
{
|
{
|
||||||
Name(_ADR, 1)
|
Name(_ADR, 1)
|
||||||
Method(_GTF) {
|
Method(_GTF, 0, Serialized) {
|
||||||
Name(CMBF, Buffer(21) {
|
Name(CMBF, Buffer(21) {
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
|
@ -77,7 +77,7 @@ Method(GTTM, 1) /* get total time*/
|
|||||||
Device(PRID)
|
Device(PRID)
|
||||||
{
|
{
|
||||||
Name (_ADR, Zero)
|
Name (_ADR, Zero)
|
||||||
Method(_GTM, 0)
|
Method(_GTM, 0, Serialized)
|
||||||
{
|
{
|
||||||
NAME(OTBF, Buffer(20) { /* out buffer */
|
NAME(OTBF, Buffer(20) { /* out buffer */
|
||||||
0xFF, 0xFF, 0xFF, 0xFF,
|
0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
@ -122,7 +122,7 @@ Device(PRID)
|
|||||||
Return(OTBF) /* out buffer */
|
Return(OTBF) /* out buffer */
|
||||||
} /* End Method(_GTM) */
|
} /* End Method(_GTM) */
|
||||||
|
|
||||||
Method(_STM, 3, NotSerialized)
|
Method(_STM, 3, Serialized)
|
||||||
{
|
{
|
||||||
NAME(INBF, Buffer(20) { /* in buffer */
|
NAME(INBF, Buffer(20) { /* in buffer */
|
||||||
0xFF, 0xFF, 0xFF, 0xFF,
|
0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
@ -173,7 +173,7 @@ Device(PRID)
|
|||||||
Device(MST)
|
Device(MST)
|
||||||
{
|
{
|
||||||
Name(_ADR, 0)
|
Name(_ADR, 0)
|
||||||
Method(_GTF) {
|
Method(_GTF, 0, Serialized) {
|
||||||
Name(CMBF, Buffer(21) {
|
Name(CMBF, Buffer(21) {
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
@ -209,7 +209,7 @@ Device(PRID)
|
|||||||
Device(SLAV)
|
Device(SLAV)
|
||||||
{
|
{
|
||||||
Name(_ADR, 1)
|
Name(_ADR, 1)
|
||||||
Method(_GTF) {
|
Method(_GTF, 0, Serialized) {
|
||||||
Name(CMBF, Buffer(21) {
|
Name(CMBF, Buffer(21) {
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user