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:
Edward O'Callaghan 2014-04-06 01:57:42 +11:00 committed by Patrick Georgi
parent 374251d901
commit 0e3ca27315
7 changed files with 28 additions and 28 deletions

View File

@ -77,7 +77,7 @@ Method(GTTM, 1) /* get total time*/
Device(PRID)
{
Name (_ADR, Zero)
Method(_GTM, 0)
Method(_GTM, 0, Serialized)
{
NAME(OTBF, Buffer(20) { /* out buffer */
0xFF, 0xFF, 0xFF, 0xFF,
@ -122,7 +122,7 @@ Device(PRID)
Return(OTBF) /* out buffer */
} /* End Method(_GTM) */
Method(_STM, 3, NotSerialized)
Method(_STM, 3, Serialized)
{
NAME(INBF, Buffer(20) { /* in buffer */
0xFF, 0xFF, 0xFF, 0xFF,
@ -173,7 +173,7 @@ Device(PRID)
Device(MST)
{
Name(_ADR, 0)
Method(_GTF) {
Method(_GTF, 0, Serialized) {
Name(CMBF, Buffer(21) {
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
@ -209,7 +209,7 @@ Device(PRID)
Device(SLAV)
{
Name(_ADR, 1)
Method(_GTF) {
Method(_GTF, 0, Serialized) {
Name(CMBF, Buffer(21) {
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,

View File

@ -77,7 +77,7 @@ Method(GTTM, 1) /* get total time*/
Device(PRID)
{
Name (_ADR, Zero)
Method(_GTM, 0)
Method(_GTM, 0, Serialized)
{
NAME(OTBF, Buffer(20) { /* out buffer */
0xFF, 0xFF, 0xFF, 0xFF,
@ -122,7 +122,7 @@ Device(PRID)
Return(OTBF) /* out buffer */
} /* End Method(_GTM) */
Method(_STM, 3, NotSerialized)
Method(_STM, 3, Serialized)
{
NAME(INBF, Buffer(20) { /* in buffer */
0xFF, 0xFF, 0xFF, 0xFF,
@ -173,7 +173,7 @@ Device(PRID)
Device(MST)
{
Name(_ADR, 0)
Method(_GTF) {
Method(_GTF, 0, Serialized) {
Name(CMBF, Buffer(21) {
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
@ -209,7 +209,7 @@ Device(PRID)
Device(SLAV)
{
Name(_ADR, 1)
Method(_GTF) {
Method(_GTF, 0, Serialized) {
Name(CMBF, Buffer(21) {
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,

View File

@ -77,7 +77,7 @@ Method(GTTM, 1) /* get total time*/
Device(PRID)
{
Name (_ADR, Zero)
Method(_GTM, 0)
Method(_GTM, 0, Serialized)
{
NAME(OTBF, Buffer(20) { /* out buffer */
0xFF, 0xFF, 0xFF, 0xFF,
@ -122,7 +122,7 @@ Device(PRID)
Return(OTBF) /* out buffer */
} /* End Method(_GTM) */
Method(_STM, 3, NotSerialized)
Method(_STM, 3, Serialized)
{
NAME(INBF, Buffer(20) { /* in buffer */
0xFF, 0xFF, 0xFF, 0xFF,
@ -173,7 +173,7 @@ Device(PRID)
Device(MST)
{
Name(_ADR, 0)
Method(_GTF) {
Method(_GTF, 0, Serialized) {
Name(CMBF, Buffer(21) {
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
@ -209,7 +209,7 @@ Device(PRID)
Device(SLAV)
{
Name(_ADR, 1)
Method(_GTF) {
Method(_GTF, 0, Serialized) {
Name(CMBF, Buffer(21) {
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,

View File

@ -77,7 +77,7 @@ Method(GTTM, 1) /* get total time*/
Device(PRID)
{
Name (_ADR, Zero)
Method(_GTM, 0)
Method(_GTM, 0, Serialized)
{
NAME(OTBF, Buffer(20) { /* out buffer */
0xFF, 0xFF, 0xFF, 0xFF,
@ -122,7 +122,7 @@ Device(PRID)
Return(OTBF) /* out buffer */
} /* End Method(_GTM) */
Method(_STM, 3, NotSerialized)
Method(_STM, 3, Serialized)
{
NAME(INBF, Buffer(20) { /* in buffer */
0xFF, 0xFF, 0xFF, 0xFF,
@ -173,7 +173,7 @@ Device(PRID)
Device(MST)
{
Name(_ADR, 0)
Method(_GTF) {
Method(_GTF, 0, Serialized) {
Name(CMBF, Buffer(21) {
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
@ -209,7 +209,7 @@ Device(PRID)
Device(SLAV)
{
Name(_ADR, 1)
Method(_GTF) {
Method(_GTF, 0, Serialized) {
Name(CMBF, Buffer(21) {
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,

View File

@ -77,7 +77,7 @@ Method(GTTM, 1) /* get total time*/
Device(PRID)
{
Name (_ADR, Zero)
Method(_GTM, 0)
Method(_GTM, 0, Serialized)
{
NAME(OTBF, Buffer(20) { /* out buffer */
0xFF, 0xFF, 0xFF, 0xFF,
@ -122,7 +122,7 @@ Device(PRID)
Return(OTBF) /* out buffer */
} /* End Method(_GTM) */
Method(_STM, 3, NotSerialized)
Method(_STM, 3, Serialized)
{
NAME(INBF, Buffer(20) { /* in buffer */
0xFF, 0xFF, 0xFF, 0xFF,
@ -173,7 +173,7 @@ Device(PRID)
Device(MST)
{
Name(_ADR, 0)
Method(_GTF) {
Method(_GTF, 0, Serialized) {
Name(CMBF, Buffer(21) {
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
@ -209,7 +209,7 @@ Device(PRID)
Device(SLAV)
{
Name(_ADR, 1)
Method(_GTF) {
Method(_GTF, 0, Serialized) {
Name(CMBF, Buffer(21) {
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,

View File

@ -77,7 +77,7 @@ Method(GTTM, 1) /* get total time*/
Device(PRID)
{
Name (_ADR, Zero)
Method(_GTM, 0)
Method(_GTM, 0, Serialized)
{
NAME(OTBF, Buffer(20) { /* out buffer */
0xFF, 0xFF, 0xFF, 0xFF,
@ -122,7 +122,7 @@ Device(PRID)
Return(OTBF) /* out buffer */
} /* End Method(_GTM) */
Method(_STM, 3, NotSerialized)
Method(_STM, 3, Serialized)
{
NAME(INBF, Buffer(20) { /* in buffer */
0xFF, 0xFF, 0xFF, 0xFF,
@ -173,7 +173,7 @@ Device(PRID)
Device(MST)
{
Name(_ADR, 0)
Method(_GTF) {
Method(_GTF, 0, Serialized) {
Name(CMBF, Buffer(21) {
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
@ -209,7 +209,7 @@ Device(PRID)
Device(SLAV)
{
Name(_ADR, 1)
Method(_GTF) {
Method(_GTF, 0, Serialized) {
Name(CMBF, Buffer(21) {
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,

View File

@ -77,7 +77,7 @@ Method(GTTM, 1) /* get total time*/
Device(PRID)
{
Name (_ADR, Zero)
Method(_GTM, 0)
Method(_GTM, 0, Serialized)
{
NAME(OTBF, Buffer(20) { /* out buffer */
0xFF, 0xFF, 0xFF, 0xFF,
@ -122,7 +122,7 @@ Device(PRID)
Return(OTBF) /* out buffer */
} /* End Method(_GTM) */
Method(_STM, 3, NotSerialized)
Method(_STM, 3, Serialized)
{
NAME(INBF, Buffer(20) { /* in buffer */
0xFF, 0xFF, 0xFF, 0xFF,
@ -173,7 +173,7 @@ Device(PRID)
Device(MST)
{
Name(_ADR, 0)
Method(_GTF) {
Method(_GTF, 0, Serialized) {
Name(CMBF, Buffer(21) {
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
@ -209,7 +209,7 @@ Device(PRID)
Device(SLAV)
{
Name(_ADR, 1)
Method(_GTF) {
Method(_GTF, 0, Serialized) {
Name(CMBF, Buffer(21) {
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,