AMD Generic Encapsulated Software Architecture
AMD Generic Encapsulated Software Architecture, kurz AGESA, bezeichnet eine Programmbibliothek für BIOS-Entwickler. Der Chiphersteller Advanced Micro Devices (AMD) verfolgt damit das Ziel, die Entwicklungszeit (Time-to-Market) für die Firmware von Hauptplatinen mit AMD-Prozessoren und -Chipsätzen zu reduzieren. AGESA wurde 2003 eingeführt und seither von zahlreichen BIOS- und UEFI-Herstellern in deren Firmware integriert.
Technik
AGESA war bis Revision 2 (2006), u. a. für die damaligen AMD-Opteron-Prozessoren bis Versionen G und E (Opteron K8 und K9), in Assembler geschrieben und wird seit der „Barcelona“-Architektur Opteron K10 in C implementiert.
Es besteht aus einzelnen Modulen. Die drei Hauptmodule sind Prozessor, Speichercontroller und HyperTransport. Der AGESA-Code stellt Funktionen zum Initialisieren, Konfigurieren und zum Abfragen von Informationen der einzelnen Komponenten zur Verfügung. Über Wrapper-Funktionen kann der AGESA-Code von der jeweiligen Firmware genutzt werden. Mit AGESA kommt auch Beispiel-Code, der die Programmierung dieser Wrapper-Funktionen für die Entwickler erleichtern soll.
Entwickler
Der Vorteil durch die Nutzung von AGESA-Code ist, laut AMD, dass der bereitgestellte Code die Entwicklung der Firmware vereinfacht, Fehler minimiert und optimierten Code produziert: Die Entwickler bei AMD spezialisieren sich auf die per AGESA bereitgestellten Hardware-nahen Funktionen, während sich die Entwickler der Firmware (BIOS, UEFI) auf deren Funktionen konzentrieren können. Außerdem können Fehlerkorrekturen schneller an alle Hersteller gleichermaßen verteilt werden, die Integration in die
-spezifische Firmware wird durch die Standardisierung vereinfacht und dadurch auch beschleunigt.
Die AMD Generic Encapsulated Software Architecture muss von den Herstellern von BIOS/UEFI-Firmware mit AMD-Prozessoren lizenziert werden. Für die Integration in das quelloffene und freie Coreboot muss vom jeweiligen Entwickler ein Geheimhaltungsvertrag (NDA,
) unterzeichnet werden. AGESA ist eine unregistrierte Warenmarke („AGESA™“).
AMD arbeitet mit den Mainboard-Firmware-Entwicklern zusammen und unterstützt sowohl das BIOS, dessen Nachfolger UEFI als auch die freie Alternative Coreboot (ehemals LinuxBIOS).
Benutzer
Für Benutzer eines x86-Computers mit AMD-Prozessor, das sind Endbenutzer im privaten Bereich (Heimanwender) sowie Firmen als Endkunden (und deren Administratoren als Benutzer), ist „AGESA“ oft deswegen ein Begriff, weil die Revision meist bei BIOS- oder UEFI-Aktualisierungen angegeben wird. So werden mit einem AGESA-Update oft neuere AMD-Prozessoren unterstützt, Funktionen verbessert oder Fehler beseitigt. Da per AGESA-Update auch kritische Fehler schneller beseitigt werden können, ist es indirekt Teil des zusätzlichen Schutzes, der bereits bei vielen BIOS- und UEFI-Implementierungen als Trusted Execution Environment vorhanden ist: per Vertrauenskette (englisch Chain of Trust) wird dabei nur per Signaturprüfung authentifizierter Code geladen. Die nötige Hardware steckt bei AMD im
(PSP, seit 2014).[1]
Beispiele:
- Im Jahr 2014 behob neuer AGESA-Code einige Sicherheitslücken in den Baureihen Trinity, Richland, Kaveri und Kabini. Die CPUs laufen auf Motherboards mit den Fassungen FM2, FM2+, AM1 sowie in BGA-Versionen zum Auflöten.[2]
- Nach der Einführung der Ryzen-Prozessoren 2017 wurde mit dem AGESA-Update 1.0.0.6 die Unterstützung von Speichermodulen (DIMMs) stark verbessert.[3]
Versionen
Name | Mikroarchitektur | Version | Hinweise | Datum |
---|---|---|---|---|
Combo-AM4v2 | Zen 3
Zen 2 Zen+ Zen |
1.2.0.7 | Unterstützung für Cezanne mit 300-Chipsatz | April 2022 |
1.2.0.6b | Unterstützung für Ryzen 5800X3D | März 2022 | ||
1.2.0.5 | Fehlerbereinigungen | Dezember 2021 | ||
1.2.0.3c | Unterstützung für Vermeer, Renoir mit 300-Chipsatz | Oktober 2021 | ||
1.2.0.2 | Fehlerbereinigungen | März 2021 | ||
1.2.0.1 | Fehlerbereinigungen | Februar 2021 | ||
1.2.0.0 | Unterstützung für Vermeer, Renoir, Cezanne mit 400-Chipsatz | Januar 2021 | ||
1.1.9.0 | Curve Optimizer für Undervolting und Übertakten | |||
1.1.0.0d | Unterstützung für 400-Chipsatz | Dezember 2020 | ||
1.1.0.0c | Fehlerbereinigungen | November 2020 | ||
1.1.0.0 | Fehlerbereinigungen | September 2020 | ||
1.0.8.1 | Fehlerbereinigungen | September 2020 | ||
1.0.8.0 | Unterstützung für Vermeer mit 500-Chipsatz | August 2020 | ||
1.0.0.2 | Unterstützung für B550-Chipsatz
Unterstützung für Matisse XT, Renoir |
Juni 2020 | ||
Combo-AM4 | Zen 2
Zen+ Zen (Excavator) |
1.0.0.6 | Fehlerbereinigungen | Juni 2020 |
1.0.0.5 | Fehlerbereinigungen | April 2020 | ||
1.0.0.4b | Unterstützung für Ryzen 9 3950X
Unterstützung für Zen und Zen+ |
November 2019 | ||
1.0.0.3abba | Fehlerbereinigungen | September 2019 | ||
1.0.0.3abb | Fehlerbereinigungen | August 2019 | ||
1.0.0.3aba | Fehlerbereinigungen | |||
1.0.0.3ab | Fehlerbereinigungen | |||
1.0.0.3a | Fehlerbereinigungen | |||
1.0.0.3 | Fehlerbereinigungen | |||
1.0.0.2 | Fehlerbereinigungen | |||
1.0.0.1 | Vollständige Unterstützung für Matisse | |||
0.0.7.2 | Unterstützung für Picasso und vorläufig für Matisse | März 2019 | ||
PinnaclePI-AM4 | Zen+
Zen Excavator |
1.0.0.6 | Dezember 2018 | |
1.0.0.4 | August 2018 | |||
1.0.0.2a | Juni 2018 | |||
1.0.0.2 | ||||
1.0.0.1a | März 2018 | |||
SummitPI-AM4 | Zen | 1.0.0.6b | September 2017 | |
1.0.0.6a | Juli 2017 | |||
1.0.0.6 | ||||
1.0.0.4a | April 2017 |
Version | Versionsänderungen | Prozessoren (CPU) | |||||
---|---|---|---|---|---|---|---|
Architektur | Name | Codename | Stepping | Socket | Release-Datum | ||
0.0.?.? | Support der Lynx-Serie | 10h (auch K10) | Fusion (APU) | Llano | B0 | FM1, FS1 (Mobile) | Juni 2011 |
0.0.?.? | Support der Brazos-Serie | Bobcat | Fusion (APU) | Desna, Ontario, Zacate | B0, C0 | FT1 (Ultra-Mobile/Embedded) | Juni 2011 |
0.0.9.x | Support der Zambezi-Serie | Bulldozer | FX | Zambezi | B2, B3 | AM3+ (Desktop) | Oktober 2011[4] |
?.?.?.? | Support der Valencia-Serie | Opteron | Valencia | B2 | C32 (Server) | November 2011 | |
?.?.?.? | Support der Interlagos-Serie | Opteron | Interlagos | B2 | G34 (Server) | November 2011 | |
1.2.0.2 | Support der Opteron 3200-Serie | Opteron | Zurich | B2 | AM3+ (Server) | März 2012[5] | |
1.2.9.0 | Support der Comal-Serie | Piledriver | Fusion (APU) | Trinity (Comal) | B0 | FM2, FS1 (Mobile), FP2 (Mobile) | Mai 2012 |
1.5.0.0 | Support der Virgo-Serie | Fusion (APU) | Trinity (Virgo) | B0, A1 | FM2 (Desktop) | Oktober 2012[5] | |
?.?.?.? | Support der Vishera-Serie | FX | Vishera | C0 | AM3+ (Desktop) | Oktober 2012 | |
?.?.?.? | Support der Delhi, Seoul, Abu Dhabi-Serie | Opteron | Delhi, Seoul, Abu Dhabi | C0 | AM3+, C32, G34 (Server) | November / Dezember 2012 | |
?.?.?.? | Support der Richland-Serie | Fusion (APU) | Richland | A1 | FM2 (Desktop) | Juni 2013 | |
?.?.?.? | Support der Kyoto-Serie | Jaguar | Opteron X (APU) | Kyoto | ?? | FT3 (Server) | Mai 2013 |
Bemerkungen: |
Version | Versionsänderungen | Prozessoren (CPU) | |||||
---|---|---|---|---|---|---|---|
Architektur | Name | Codename | Stepping | Socket | Release-Datum | ||
1.x.x.x | u. a. Dual-Core-Support | bis Athlon 64 X2 | ? | Revisionen A bis E | ? | ? | |
1.34.00 | Letztes Release vom 4. Mai 2007 | ? | ? | ? | ? | ? | |
2.x.x.x | Dual-Core-Support | bis Athlon 64 X2 | ? | Revisionen F und G | ? | ? | |
2.08.05 | Support der BE-Serie | Athlon 64 X2 | Brisbane | G1, G2 | AM2 | 5. Juni 2007, Oktober 2007 | |
2.08.09 | Support der LE-Serie | Sempron | Sparta | G1, G2 | AM2 | August 2007, Oktober 2007 | |
2.08.11 | Letztes Release vom 11. August 2007 | ? | ? | ? | ? | ? | |
3.x.x.x | Quad-Core-Support | ? | ? | Revisionen B, C, D, E | ? | ? | |
3.1.7.0 | Support der Barcelona-Serie | Opteron | Barcelona | BA, B3 | F | 10. September 2007 | |
3.?.?.? | Support der Phenom X3-Serie | Phenom | Toliman | B2, B3 | AM2+ | 27. März 2008 | |
3.3.0.0 | Support der Shanghai-Serie | Opteron | Shanghai | C2 | F | 13. November 2008[11] | |
3.5.0.0 | Support der Istanbul-Serie | Opteron | Istanbul | D0 | F | 1. Juni 2009 | |
3.5.3.0 | Support der Deneb-Serie | Phenom II | Deneb | C2 | AM3 | Januar 2009 | |
3.5.3.1 | Support der Deneb-Serie | Phenom II | Deneb | C3 | AM3 | Oktober 2009 | |
3.?.?.? | Support der Magny-Cours-Serie | Opteron | Magny-Cours | D1 | G34 | Q1 2010 | |
3.6.6.0 | Support der Thuban-Serie | Phenom II | Thuban | E0 | AM3 | 26. April 2010 | |
3.7.1.0 | ??? | ??? | ? | ? | ? | Q3 2010 | |
Bemerkungen: |
Siehe auch
Quellen
- LinuxElectrons – American Megatrends Extends APTIO Firmware Support for AMD AGESA (broken link)
- ThomasNet – General Software, Inc. First BIOS Provider to Support AMD Barcelona (2007)
- heise.de – AMD verkündet Details zur nächsten Mobilprozessor-Generation (2007)
- coreboot – LinuxBIOS Enablement Strategy @AMD & AGESA Info (2006) (PDF; 120 kB)
- support.amd.com (Memento vom 16. Januar 2013 im Internet Archive) – STEAM Games on AMD FX platforms – user experience issues i. e. system freeze or game crash when running STEAM enabled games (Juni 2013; Version aus dem Internet Archive vom 16. Januar 2013)
- Coreboot-Entwickler Bruce Griffith über AMD AGESA (November 2014)
- AGESA Interface Specification for Arch2008 – Technical Doc for MTS Firmware Engineer (March 2015) (PDF; 1.058 kB)
Einzelnachweise
- ↑ Christof Windeck: Fest verschlossen. Schutzfunktionen für PC-Firmware und ihre Nachteile. In: c’t 11/2015, 126-130. ISSN 0724-8679
- ↑ Christof Windeck: Sicherheitslücke in Firmware von AMD-Prozessoren. 7. Januar 2015, abgerufen am 7. August 2015.
- ↑ Patrick MacMillan on May 26, 2017: AMD Announces Ryzen AGESA 1.0.0.6 Update: Enables Memory Clocks Up To DDR4-4000. In: Trending Topics. AnandTech, 26. Mai 2017, abgerufen am 9. Mai 2018 (englisch).
- ↑ STEAM Games on AMD FX platforms. (STEAM Games on AMD FX platforms (Memento vom 16. Januar 2013 im Internet Archive) [abgerufen am 18. Juni 2012]).
- ↑ a b c Gigabyte GA-990FXA-UD7 (rev. 1.x) Mainboard BIOS Download. (gigabyte.us [abgerufen am 18. Juni 2012]).
- ↑ ASUS Crosshair V Formula Mainboard BIOS Download. (asus.com [abgerufen am 18. Juni 2012]).
- ↑ a b AMD Desktop-Prozessor-Informationen. (AMD Desktop-Prozessor-Informationen (Memento vom 4. Mai 2015 im Internet Archive) [abgerufen am 22. Juli 2009]).
- ↑ a b AMD Dual-Core-Opteron-Prozessor-Informationen. (AMD Dual-Core-Opteron-Prozessor-Informationen (Memento vom 28. August 2009 im Internet Archive) [abgerufen am 22. Juli 2009]). AMD Dual-Core-Opteron-Prozessor-Informationen (Memento vom 28. August 2009 im Internet Archive)
- ↑ a b AMD Quad-Core-Opteron-Prozessor-Informationen. (AMD Quad-Core-Opteron-Prozessor-Informationen (Memento vom 16. Juni 2009 im Internet Archive) [abgerufen am 22. Juli 2009]). AMD Quad-Core-Opteron-Prozessor-Informationen (Memento vom 16. Juni 2009 im Internet Archive)
- ↑ a b AMD Six-Core-Opteron-Prozessor-Informationen. (AMD Six-Core-Opteron-Prozessor-Informationen (Memento vom 6. Juni 2009 im Internet Archive) [abgerufen am 22. Juli 2009]). AMD Six-Core-Opteron-Prozessor-Informationen (Memento vom 6. Juni 2009 im Internet Archive)
- ↑ Heise online: AMD: 45-nm-Opterons sollen in aktuellen Serverboards laufen. (heise.de [abgerufen am 6. November 2008]).
- ↑ AMD FAQ-Übersicht AGESA. (Nicht mehr online verfügbar.) Ehemals im Original; abgerufen am 1. Januar 2014. (Seite nicht mehr abrufbar, Suche in Webarchiven)
- ↑ AMD Opteron-Prozessor-Informationen. (amd.com [PDF; abgerufen am 22. Juli 2009]). AMD Opteron-Prozessor-Informationen (PDF) (Memento vom 6. Februar 2009 im Internet Archive)