AMD {SoC, AGESA, binaryPI}: Don't use both of _ADR and _HID
PCI devices starting from 18 are processor configuration devices for each node and are not a bus itself. According to ACPI specification 6.3 section 6.1.5: "... _HID object must be used to describe any device that will be enumerated by OSPM. OSPM only enumerates a device when no bus enumerator can detect the device ID. ... Use the _ADR object to describe devices enumerated by bus enumerators other than OSPM." PCI device 18 with its functions has a standard enumerator, which is PCI enumerator so it needs a _ADR. Create a separate ACPI device for the processor configuration space. This fixes the ACPI compliance problem from CB:36318. Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com> Change-Id: Ie7b45ce8d9e4fdd80d90752bf51bba4d30041507 Reviewed-on: https://review.coreboot.org/c/coreboot/+/37835 Reviewed-by: Patrick Georgi <pgeorgi@google.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: HAOUAS Elyes <ehaouas@noos.fr> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
a87a741b41
commit
727ac0d263
|
@ -18,13 +18,16 @@ External (TOM1)
|
||||||
External (TOM2)
|
External (TOM2)
|
||||||
Name(_HID, EISAID("PNP0A08")) /* PCI Express Root Bridge */
|
Name(_HID, EISAID("PNP0A08")) /* PCI Express Root Bridge */
|
||||||
Name(_CID, EISAID("PNP0A03")) /* PCI Root Bridge */
|
Name(_CID, EISAID("PNP0A03")) /* PCI Root Bridge */
|
||||||
Name(_ADR, 0x00180000) /* Dev# = BSP Dev#, Func# = 0 */
|
|
||||||
|
|
||||||
/* Describe the Northbridge devices */
|
/* Describe the Northbridge devices */
|
||||||
Device(AMRT) {
|
Device(AMRT) {
|
||||||
Name(_ADR, 0x00000000)
|
Name(_ADR, 0x00000000)
|
||||||
} /* end AMRT */
|
} /* end AMRT */
|
||||||
|
|
||||||
|
Device(PCSD) { /* Processor configuration space devices */
|
||||||
|
Name(_ADR, 0x00180000) /* Dev# = BSP Dev#, Func# = 0 */
|
||||||
|
}
|
||||||
|
|
||||||
/* The internal GFX bridge */
|
/* The internal GFX bridge */
|
||||||
Device(AGPB) {
|
Device(AGPB) {
|
||||||
Name(_ADR, 0x00010000)
|
Name(_ADR, 0x00010000)
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
External (TOM1)
|
External (TOM1)
|
||||||
External (TOM2)
|
External (TOM2)
|
||||||
Name(_HID, EISAID("PNP0A03")) /* PCI Express Root Bridge */
|
Name(_HID, EISAID("PNP0A03")) /* PCI Express Root Bridge */
|
||||||
Name(_ADR, 0x00180000) /* Dev# = BSP Dev#, Func# = 0 */
|
|
||||||
|
|
||||||
/* Describe the Northbridge devices */
|
/* Describe the Northbridge devices */
|
||||||
|
|
||||||
|
@ -45,6 +44,10 @@ Device(AMRT) {
|
||||||
Name(_ADR, 0x00000000)
|
Name(_ADR, 0x00000000)
|
||||||
} /* end AMRT */
|
} /* end AMRT */
|
||||||
|
|
||||||
|
Device(PCSD) { /* Processor configuration space devices */
|
||||||
|
Name(_ADR, 0x00180000) /* Dev# = BSP Dev#, Func# = 0 */
|
||||||
|
}
|
||||||
|
|
||||||
/* Dev2 is also an external GFX bridge */
|
/* Dev2 is also an external GFX bridge */
|
||||||
Device(PBR2) {
|
Device(PBR2) {
|
||||||
Name(_ADR, 0x00020000)
|
Name(_ADR, 0x00020000)
|
||||||
|
|
|
@ -18,7 +18,6 @@ External (TOM1)
|
||||||
External (TOM2)
|
External (TOM2)
|
||||||
Name(_HID, EISAID("PNP0A08")) /* PCI Express Root Bridge */
|
Name(_HID, EISAID("PNP0A08")) /* PCI Express Root Bridge */
|
||||||
Name(_CID, EISAID("PNP0A03")) /* PCI Root Bridge */
|
Name(_CID, EISAID("PNP0A03")) /* PCI Root Bridge */
|
||||||
Name(_ADR, 0x00180000) /* Dev# = BSP Dev#, Func# = 0 */
|
|
||||||
|
|
||||||
/* Describe the Northbridge devices */
|
/* Describe the Northbridge devices */
|
||||||
|
|
||||||
|
@ -45,6 +44,10 @@ Device(AMRT) {
|
||||||
Name(_ADR, 0x00000000)
|
Name(_ADR, 0x00000000)
|
||||||
} /* end AMRT */
|
} /* end AMRT */
|
||||||
|
|
||||||
|
Device(PCSD) { /* Processor configuration space devices */
|
||||||
|
Name(_ADR, 0x00180000) /* Dev# = BSP Dev#, Func# = 0 */
|
||||||
|
}
|
||||||
|
|
||||||
/* Gpp 0 */
|
/* Gpp 0 */
|
||||||
Device(PBR4) {
|
Device(PBR4) {
|
||||||
Name(_ADR, 0x00020001)
|
Name(_ADR, 0x00020001)
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
External (TOM1)
|
External (TOM1)
|
||||||
External (TOM2)
|
External (TOM2)
|
||||||
Name(_HID, EISAID("PNP0A03")) /* PCI Express Root Bridge */
|
Name(_HID, EISAID("PNP0A03")) /* PCI Express Root Bridge */
|
||||||
Name(_ADR, 0x00180000) /* Dev# = BSP Dev#, Func# = 0 */
|
|
||||||
|
|
||||||
/* Describe the Northbridge devices */
|
/* Describe the Northbridge devices */
|
||||||
|
|
||||||
|
@ -45,6 +44,10 @@ Device(AMRT) {
|
||||||
Name(_ADR, 0x00000000)
|
Name(_ADR, 0x00000000)
|
||||||
} /* end AMRT */
|
} /* end AMRT */
|
||||||
|
|
||||||
|
Device(PCSD) { /* Processor configuration space devices */
|
||||||
|
Name(_ADR, 0x00180000) /* Dev# = BSP Dev#, Func# = 0 */
|
||||||
|
}
|
||||||
|
|
||||||
/* Dev2 is also an external GFX bridge */
|
/* Dev2 is also an external GFX bridge */
|
||||||
Device(PBR2) {
|
Device(PBR2) {
|
||||||
Name(_ADR, 0x00020000)
|
Name(_ADR, 0x00020000)
|
||||||
|
|
|
@ -18,7 +18,6 @@ External (TOM1)
|
||||||
External (TOM2)
|
External (TOM2)
|
||||||
Name(_HID, EISAID("PNP0A08")) /* PCI Express Root Bridge */
|
Name(_HID, EISAID("PNP0A08")) /* PCI Express Root Bridge */
|
||||||
Name(_CID, EISAID("PNP0A03")) /* PCI Root Bridge */
|
Name(_CID, EISAID("PNP0A03")) /* PCI Root Bridge */
|
||||||
Name(_ADR, 0x00180000) /* Dev# = BSP Dev#, Func# = 0 */
|
|
||||||
|
|
||||||
/* Describe the Northbridge devices */
|
/* Describe the Northbridge devices */
|
||||||
|
|
||||||
|
@ -45,6 +44,10 @@ Device(AMRT) {
|
||||||
Name(_ADR, 0x00000000)
|
Name(_ADR, 0x00000000)
|
||||||
} /* end AMRT */
|
} /* end AMRT */
|
||||||
|
|
||||||
|
Device(PCSD) { /* Processor configuration space devices */
|
||||||
|
Name(_ADR, 0x00180000) /* Dev# = BSP Dev#, Func# = 0 */
|
||||||
|
}
|
||||||
|
|
||||||
/* Gpp 0 */
|
/* Gpp 0 */
|
||||||
Device(PBR4) {
|
Device(PBR4) {
|
||||||
Name(_ADR, 0x00020001)
|
Name(_ADR, 0x00020001)
|
||||||
|
|
|
@ -18,7 +18,6 @@ External (TOM1)
|
||||||
External (TOM2)
|
External (TOM2)
|
||||||
Name(_HID, EISAID("PNP0A08")) /* PCI Express Root Bridge */
|
Name(_HID, EISAID("PNP0A08")) /* PCI Express Root Bridge */
|
||||||
Name(_CID, EISAID("PNP0A03")) /* PCI Root Bridge */
|
Name(_CID, EISAID("PNP0A03")) /* PCI Root Bridge */
|
||||||
Name(_ADR, 0x00180000) /* Dev# = BSP Dev#, Func# = 0 */
|
|
||||||
|
|
||||||
/* Describe the Northbridge devices */
|
/* Describe the Northbridge devices */
|
||||||
|
|
||||||
|
@ -45,6 +44,10 @@ Device(AMRT) {
|
||||||
Name(_ADR, 0x00000000)
|
Name(_ADR, 0x00000000)
|
||||||
} /* end AMRT */
|
} /* end AMRT */
|
||||||
|
|
||||||
|
Device(PCSD) { /* Processor configuration space devices */
|
||||||
|
Name(_ADR, 0x00180000) /* Dev# = BSP Dev#, Func# = 0 */
|
||||||
|
}
|
||||||
|
|
||||||
/* Gpp 0 */
|
/* Gpp 0 */
|
||||||
Device(PBR4) {
|
Device(PBR4) {
|
||||||
Name(_ADR, 0x00020001)
|
Name(_ADR, 0x00020001)
|
||||||
|
|
|
@ -19,7 +19,6 @@ External (TOM1)
|
||||||
External (TOM2)
|
External (TOM2)
|
||||||
Name(_HID, EISAID("PNP0A08")) /* PCI Express Root Bridge */
|
Name(_HID, EISAID("PNP0A08")) /* PCI Express Root Bridge */
|
||||||
Name(_CID, EISAID("PNP0A03")) /* PCI Root Bridge */
|
Name(_CID, EISAID("PNP0A03")) /* PCI Root Bridge */
|
||||||
Name(_ADR, 0x00180000) /* Dev# = BSP Dev#, Func# = 0 */
|
|
||||||
|
|
||||||
/* Describe the Northbridge devices */
|
/* Describe the Northbridge devices */
|
||||||
|
|
||||||
|
@ -46,6 +45,10 @@ Device(AMRT) {
|
||||||
Name(_ADR, 0x00000000)
|
Name(_ADR, 0x00000000)
|
||||||
} /* end AMRT */
|
} /* end AMRT */
|
||||||
|
|
||||||
|
Device(PCSD) { /* Processor configuration space devices */
|
||||||
|
Name(_ADR, 0x00180000) /* Dev# = BSP Dev#, Func# = 0 */
|
||||||
|
}
|
||||||
|
|
||||||
/* Internal Graphics */
|
/* Internal Graphics */
|
||||||
Device(IGFX) {
|
Device(IGFX) {
|
||||||
Name(_ADR, 0x00010000)
|
Name(_ADR, 0x00010000)
|
||||||
|
|
|
@ -19,7 +19,6 @@ External (TOM1)
|
||||||
External (TOM2)
|
External (TOM2)
|
||||||
Name(_HID, EISAID("PNP0A08")) /* PCI Express Root Bridge */
|
Name(_HID, EISAID("PNP0A08")) /* PCI Express Root Bridge */
|
||||||
Name(_CID, EISAID("PNP0A03")) /* PCI Root Bridge */
|
Name(_CID, EISAID("PNP0A03")) /* PCI Root Bridge */
|
||||||
Name(_ADR, 0x00180000) /* Dev# = BSP Dev#, Func# = 0 */
|
|
||||||
|
|
||||||
/* Describe the Northbridge devices */
|
/* Describe the Northbridge devices */
|
||||||
|
|
||||||
|
@ -46,6 +45,10 @@ Device(AMRT) {
|
||||||
Name(_ADR, 0x00000000)
|
Name(_ADR, 0x00000000)
|
||||||
} /* end AMRT */
|
} /* end AMRT */
|
||||||
|
|
||||||
|
Device(PCSD) { /* Processor configuration space devices */
|
||||||
|
Name(_ADR, 0x00180000) /* Dev# = BSP Dev#, Func# = 0 */
|
||||||
|
}
|
||||||
|
|
||||||
/* Internal Graphics */
|
/* Internal Graphics */
|
||||||
Device(IGFX) {
|
Device(IGFX) {
|
||||||
Name(_ADR, 0x00010000)
|
Name(_ADR, 0x00010000)
|
||||||
|
|
Loading…
Reference in New Issue