User talk:Eocallaghan: Difference between revisions
Eocallaghan (talk | contribs) |
Eocallaghan (talk | contribs) No edit summary |
||
(14 intermediate revisions by 2 users not shown) | |||
Line 4: | Line 4: | ||
* [[User_talk:Eocallaghan/Secure_RAM_API | IDEAPAGE: Mitigation ageist attack on encryption keys in memory after cold boot]] | * [[User_talk:Eocallaghan/Secure_RAM_API | IDEAPAGE: Mitigation ageist attack on encryption keys in memory after cold boot]] | ||
* [[User_talk:Eocallaghan/EOL_ROMCC_BOARDS | IDEAPAGE: List ROMCC dependant boards to possibly EOL]] | * [[User_talk:Eocallaghan/EOL_ROMCC_BOARDS | IDEAPAGE: List ROMCC dependant boards to possibly EOL]] | ||
* [[User_talk:Eocallaghan/REFACTOR_AGESA | IDEAPAGE: Refactor AGESA for the long term]] | |||
== AGESA family table == | |||
{| border="1" class="wikitable" | |||
|+ AMD AGESA map | |||
|- | |||
! Arch Name | |||
! Model Name | |||
! Model # | |||
! Family | |||
|- | |||
! K10 architecture (2011) | |||
| Llano || ? || f12 | |||
|- | |||
! Bobcat architecture (2011) | |||
| Ontario || ? || f14 | |||
|- | |||
| | |||
| Zacate || ? || f14 | |||
|- | |||
| | |||
| Desna || ? || f14 | |||
|- | |||
| | |||
| Hondo || ? || f14 | |||
|- | |||
! Piledriver architecture (2012) | |||
| Orochi || 00h-0fh || f15 | |||
|- | |||
| | |||
| Trinity || ? || f15tn | |||
|- | |||
| | |||
| Richland || ? || f15rl | |||
|- | |||
! Jaguar architecture (2013) | |||
| Kabini || ? || f16kb | |||
|- | |||
| | |||
| Temash || ? || ?? | |||
|} | |||
{| border="1" class="wikitable" | |||
|+ AMD AGESA map | |||
|- | |||
! [http://en.wikipedia.org/wiki/List_of_AMD_CPU_microarchitectures AMD Architecture] | |||
! Model Name | |||
! Socket | |||
! Family / Model # | |||
! colspan="3" |Documentation | |||
|- | |||
! [http://en.wikipedia.org/wiki/K10_(microarchitecture) K10 architecture] (2011) | |||
|| | |||
* Llano | |||
|| | |||
* FM1 | |||
|| [http://search.amd.com/en-us/Pages/results-all.aspx?k=%22family%2012h%22 <br> Family 12h] | |||
|| [http://support.amd.com/TechDocs/41131.pdf BKDG] | |||
|| [http://support.amd.com/TechDocs/44739_12h_Rev_Gd.pdf Revision Guide] | |||
|| | |||
* [http://support.amd.com/TechDocs/50322_12h_AthlonII_PDS.pdf Athlon II Data Sheet] | |||
* [http://support.amd.com/TechDocs/50321_12h_Sempron_PDS.pdf Sempron Data Sheet] | |||
* [http://support.amd.com/TechDocs/49894_12h_A-Series_PDS.pdf A-Series Data Sheet] | |||
|- | |||
! [http://en.wikipedia.org/wiki/Bobcat_(microarchitecture) Bobcat architecture] (2011) | |||
|| | |||
* Ontario | |||
* Zacate | |||
* Desna | |||
* Honda | |||
|| | |||
* FT1 BGA | |||
|| [http://search.amd.com/en-us/Pages/results-all.aspx?k=%22family%2014h%20models%2000h-0fh%22 Family 14h <br> Models 00h-0fh] | |||
|| [http://support.amd.com/TechDocs/43170_14h_Mod_00h-0Fh_BKDG.pdf BKDG] | |||
|| [http://support.amd.com/TechDocs/47534_14h_Mod_00h-0Fh_Rev_Guide.pdf Revision Guide] | |||
|- | |||
! [http://en.wikipedia.org/wiki/Bulldozer_(microarchitecture) Bulldozer architecture] (2012) | |||
|| | |||
* Orochi | |||
|| | |||
* AM3+ (AM3r2) | |||
|| [http://search.amd.com/en-us/Pages/results-all.aspx?k=%22family%2015h%20models%2000h-0fh%22 Family 15h <br> Models 00h-0fh] | |||
|| [http://support.amd.com/TechDocs/42301_15h_Mod_00h-0Fh_BKDG.pdf BKDG ] | |||
|| [http://support.amd.com/TechDocs/48063_15h_Mod_00h-0Fh_Rev_Guide.pdf Revision Guide] | |||
|| | |||
* [http://support.amd.com/TechDocs/49686_15h_Mod_00h-0Fh_FX-Series_PDS.pdf FX-Series Data Sheet] | |||
* [http://support.amd.com/TechDocs/49687_15h_Mod_00h-0Fh_Opteron_PDS.pdf Opteron Data Sheet] | |||
|- | |||
! [http://en.wikipedia.org/wiki/Piledriver_(microarchitecture) Piledriver architecture] (2012) | |||
|| | |||
* Trinity | |||
* Richland | |||
|| | |||
* AM3+ | |||
* FM2 | |||
* FS1r2 | |||
* FP2 BGA | |||
|| [http://search.amd.com/en-us/Pages/results-all.aspx?k=%22family%2015h%20models%2010h-1fh%22 Family 15tn <br> Models 10h-1fh] | |||
|| [http://support.amd.com/TechDocs/42300_15h_Mod_10h-1Fh_BKDG.pdf BKDG ] | |||
|| [http://support.amd.com/TechDocs/48931_15h_Mod_10h-1Fh_Rev_Guide.pdf Revision Guide] | |||
|| | |||
* [http://support.amd.com/TechDocs/50911_15h_Mod_10h-1Fh_A-Series_PDS.pdf A-Series Data Sheet] | |||
* [http://support.amd.com/TechDocs/51309.PDF R-Series Data Sheet] | |||
|- | |||
! [http://en.wikipedia.org/wiki/Jaguar_(microarchitecture) Jaguar architecture] (2013) | |||
|| | |||
* Kabini | |||
* Temash | |||
|| | |||
* FT3 BGA / | |||
* AM1 (FS1b) | |||
|| [http://search.amd.com/en-us/Pages/results-all.aspx?k=%22family%2016h%20models%2000h-0fh%22 Family 16kb <br> Models 00h-0f] | |||
|| [http://support.amd.com/TechDocs/48751_16h_bkdg.pdf BKDG] | |||
|| [http://support.amd.com/TechDocs/51810_16h_00h-0Fh_Rev_Guide.pdf Revision Guide] | |||
|| | |||
* [http://support.amd.com/TechDocs/53738_PDS_Athlon.pdf Athlon Data Sheet] | |||
* [http://support.amd.com/TechDocs/52259_KB_G-Series_Product_Data_Sheet.pdf G-Series Data Sheet] | |||
* [http://support.amd.com/TechDocs/52169_KB_A_Series_Mobile.pdf A-Series Data Sheet] | |||
* [http://support.amd.com/TechDocs/53102_Opteron_Product_Data_Sheet.pdf Opteron Data Sheet] | |||
|- | |||
! [http://en.wikipedia.org/wiki/Steamroller_(microarchitecture) Steamroller architecture] (2014) | |||
|| | |||
* Kaveri - "Bald Eagle" | |||
|| | |||
* FM2+ (FM2b) | |||
|| [http://search.amd.com/en-us/Pages/results-all.aspx?k=%22family%2015h%20models%2030h-3fh%22 Family 15kv <br> Models 30h-3fh] | |||
|| [http://support.amd.com/TechDocs/49125_15h_Models_30h-3Fh_BKDG.pdf BKDG] | |||
|| [http://support.amd.com/TechDocs/51603_Rev_Guide_15h_Models_30h-3Fh.pdf Revision Guide] | |||
|| | |||
* [http://support.amd.com/TechDocs/51590_15h_Models_30h-3Fh_A-Series_PDS.pdf A-Series Data Sheet] | |||
|- | |||
! [http://en.wikipedia.org/wiki/Puma_(microarchitecture) Puma architecture] (2014) | |||
|| | |||
* Mullins - "Steppe Eagle" | |||
* Beema - "Crowned Eagle" | |||
|| | |||
* AM1 (FS1b) | |||
* FT3b BGA | |||
|| [http://search.amd.com/en-us/Pages/results-all.aspx?k=%22family%2016h%20models%2030h-3fh%22 Family 16ml <br> Models 30h-3fh] | |||
|| [http://support.amd.com/TechDocs/52740_16h_Models_30h-3Fh_BKDG.pdf BKDG] | |||
|| [http://support.amd.com/TechDocs/53072_Rev_Guide_16h_Models_30h-3Fh.pdf Revision Guide] | |||
|- | |||
! [http://en.wikipedia.org/wiki/Excavator_(microarchitecture) Excavator architecture] (2015) | |||
|| | |||
* Carrizo | |||
|| | |||
|| | |||
|| | |||
|| | |||
|- | |||
! [http://en.wikipedia.org/wiki/AMD_K12 K12] [http://en.wikipedia.org/wiki/ARM-64#64-bit ARM-64 architecture] (2016) | |||
|| | |||
* | |||
|| | |||
|| | |||
|| | |||
|| | |||
|- | |||
|} | |||
[http://developer.amd.com/resources/documentation-articles/developer-guides-manuals/ AMD Developer Central: Developer Guides & Manuals]<br> | |||
[http://search.amd.com/ Search developer.amd.com and support.amd.com]<br> | |||
== Current Activities == | == Current Activities == | ||
Line 45: | Line 210: | ||
Currently AGESA has pre-compiled a bunch of .esl files into '''F14PcieAlibSsdt.h''' | Currently AGESA has pre-compiled a bunch of .esl files into: | ||
'''src/vendorcode/amd/agesa/f14/Proc/GNB/PCIe/Family/0x14/F14PcieAlibSsdt.h''' | |||
This array of pre-compiled SSDT bytecode is used to construct the SSDT table in: | |||
'''src/vendorcode/amd/agesa/f14/Proc/GNB/Modules/GnbPcieAlibV1/PcieAlib.c''' | |||
in the function: | |||
AGESA_STATUS PcieAlibBuildAcpiTable ( IN AMD_CONFIG_PARAMS *StdHeader, OUT VOID **AlibSsdtPtr ) { .. } | |||
The root of SSDT seems to be in the file: '''vendorcode/amd/agesa/f14/Proc/GNB/PCIe/Family/0x14/F14PcieAlib.esl''' | The root of SSDT seems to be in the file: '''vendorcode/amd/agesa/f14/Proc/GNB/PCIe/Family/0x14/F14PcieAlib.esl''' | ||
Line 190: | Line 364: | ||
================================================================================ | ================================================================================ | ||
Table DSDT (0) reassembly: Found 0 errors, 0 warnings, 2 remarks. | Table DSDT (0) reassembly: Found 0 errors, 0 warnings, 2 remarks. | ||
== Resource allocator == | |||
Key: | |||
= bus | |||
- device | |||
Structure: | |||
========= next ========= | |||
|| bus ||--------------------------------->|| bus || | |||
========= ========= | |||
| | +-----------------+ | |||
| | | | |||
| +-+ v children | |||
bus | | dev | | |||
^ v +---+----+ | |||
| | +--- | Device | | |||
+--------+ bus | +--------+ | |||
| Bridge |<-----+ | | |||
+--------+ | v children | |||
bus | +---+----+ | |||
+--- | Device | | |||
+--------+ |
Latest revision as of 17:07, 19 July 2014
You can find me floating in #coreboot as funfunctor
Sections deserving their own page
- IDEAPAGE: Mitigation ageist attack on encryption keys in memory after cold boot
- IDEAPAGE: List ROMCC dependant boards to possibly EOL
- IDEAPAGE: Refactor AGESA for the long term
AGESA family table
Arch Name | Model Name | Model # | Family |
---|---|---|---|
K10 architecture (2011) | Llano | ? | f12 |
Bobcat architecture (2011) | Ontario | ? | f14 |
Zacate | ? | f14 | |
Desna | ? | f14 | |
Hondo | ? | f14 | |
Piledriver architecture (2012) | Orochi | 00h-0fh | f15 |
Trinity | ? | f15tn | |
Richland | ? | f15rl | |
Jaguar architecture (2013) | Kabini | ? | f16kb |
Temash | ? | ?? |
AMD Architecture | Model Name | Socket | Family / Model # | Documentation | ||
---|---|---|---|---|---|---|
K10 architecture (2011) |
|
|
Family 12h |
BKDG | Revision Guide | |
Bobcat architecture (2011) |
|
|
Family 14h Models 00h-0fh |
BKDG | Revision Guide | |
Bulldozer architecture (2012) |
|
|
Family 15h Models 00h-0fh |
BKDG | Revision Guide | |
Piledriver architecture (2012) |
|
|
Family 15tn Models 10h-1fh |
BKDG | Revision Guide | |
Jaguar architecture (2013) |
|
|
Family 16kb Models 00h-0f |
BKDG | Revision Guide | |
Steamroller architecture (2014) |
|
|
Family 15kv Models 30h-3fh |
BKDG | Revision Guide | |
Puma architecture (2014) |
|
|
Family 16ml Models 30h-3fh |
BKDG | Revision Guide | |
Excavator architecture (2015) |
|
|||||
K12 ARM-64 architecture (2016) |
|
AMD Developer Central: Developer Guides & Manuals
Search developer.amd.com and support.amd.com
Current Activities
- Clean up superio support.
- Fix DSDT/SSDT in AGESA
AGESA - DSDT/SSDT
Current list of issues below:
Error 6126: syntax error, ***
Notes:
We may extract and decompile the first SSDT table in the following way:
cat /sys/firmware/acpi/tables/SSDT1 > ssdt.dd ; iasl -d ssdt.dd
A snip of the broken code fragment in question is given:
If (LEqual (Local2, 0x07)) { If (CondRefOf (\_SB.ALIC, Local6)) { Store (ShiftLeft (Add (Arg0, 0x02), 0x03), Local1) \_SB.ALIC (Local1, 0x00, Sleep (0x02), \_SB.ALIC (Local1, 0x01, Store (0x00, Local3), Store (0x01, Local2), Continue, Store (0x04, Local2)), If (LEqual (Local2, 0x05)) { Store (0x01, Local4) Store (0x00, Local2) A074 (Arg0, 0x02) }, If (LEqual (Local2, 0x00)) { Store (0x01, A017) /* \_SB_.A017 */ A029 () Store (0x08, Local2) }) } }
Currently AGESA has pre-compiled a bunch of .esl files into:
src/vendorcode/amd/agesa/f14/Proc/GNB/PCIe/Family/0x14/F14PcieAlibSsdt.h
This array of pre-compiled SSDT bytecode is used to construct the SSDT table in:
src/vendorcode/amd/agesa/f14/Proc/GNB/Modules/GnbPcieAlibV1/PcieAlib.c
in the function:
AGESA_STATUS PcieAlibBuildAcpiTable ( IN AMD_CONFIG_PARAMS *StdHeader, OUT VOID **AlibSsdtPtr ) { .. }
The root of SSDT seems to be in the file: vendorcode/amd/agesa/f14/Proc/GNB/PCIe/Family/0x14/F14PcieAlib.esl
We can work around the broken SSDT in mainboard support by maing the following changes to this line in acpi_tables.c:
- alib = (acpi_header_t *)agesawrapper_getlateinitptr (PICK_ALIB); + // alib = (acpi_header_t *)agesawrapper_getlateinitptr (PICK_ALIB); + alib = NULL;
A full diagnostic report is given:
Test 2 of 2: Disassemble and reassemble SSDT Checking ACPI table SSDT (#0) FAILED [HIGH] AMLAsmASL_MSG_SYNTAX: Test 2, Assembler error in line 1151 Line | AML source -------------------------------------------------------------------------------- 01148| If (CondRefOf (\_SB.ALIC, Local6)) 01149| { 01150| Store (ShiftLeft (Add (Arg0, 0x02), 0x03), Local1) 01151| \_SB.ALIC (Local1, 0x00, Sleep (0x02), \_SB.ALIC (Local1, 0x01, Store (0x00, | ^ | Error 6126: syntax error, unexpected PARSEOP_SLEEP, expecting ',' or ')' 01152| Local3), Store (0x01, Local2), Continue, Store (0x04, Local2)), If (LEqual (Local2, 01153| 0x05)) 01154| { ================================================================================ : ADVICE: (for Error #6126, ASL_MSG_SYNTAX): The disassembled code cannot be reassembled using the strict IASL compiler as it contains syntax errors. FAILED [HIGH] AMLAsmASL_MSG_SYNTAX: Test 2, Assembler error in line 1152 Line | AML source -------------------------------------------------------------------------------- 01149| { 01150| Store (ShiftLeft (Add (Arg0, 0x02), 0x03), Local1) 01151| \_SB.ALIC (Local1, 0x00, Sleep (0x02), \_SB.ALIC (Local1, 0x01, Store (0x00, 01152| Local3), Store (0x01, Local2), Continue, Store (0x04, Local2)), If (LEqual (Local2, | ^ | Error 6126: syntax error, unexpected PARSEOP_CONTINUE, expecting ',' or ')' 01153| 0x05)) 01154| { 01155| Store (0x01, Local4) ================================================================================ ADVICE: (for Error #6126, ASL_MSG_SYNTAX): The disassembled code cannot be reassembled using the strict IASL compiler as it contains syntax errors. FAILED [HIGH] AMLAsmASL_MSG_SYNTAX: Test 2, Assembler error in line 1152 Line | AML source -------------------------------------------------------------------------------- 01149| { 01150| Store (ShiftLeft (Add (Arg0, 0x02), 0x03), Local1) 01151| \_SB.ALIC (Local1, 0x00, Sleep (0x02), \_SB.ALIC (Local1, 0x01, Store (0x00, 01152| Local3), Store (0x01, Local2), Continue, Store (0x04, Local2)), If (LEqual (Local2, | ^ | Error 6126: syntax error, unexpected ')' 01153| 0x05)) 01154| { 01155| Store (0x01, Local4) ================================================================================ ADVICE: (for Error #6126, ASL_MSG_SYNTAX): The disassembled code cannot be reassembled using the strict IASL compiler as it contains syntax errors. FAILED [HIGH] AMLAsmASL_MSG_SYNTAX: Test 2, Assembler error in line 1158 Line | AML source -------------------------------------------------------------------------------- 01155| Store (0x01, Local4) 01156| Store (0x00, Local2) 01157| A074 (Arg0, 0x02) 01158| }, If (LEqual (Local2, 0x00)) | ^ | Error 6126: syntax error, unexpected ',' 01159| { 01160| Store (0x01, A017) /* \_SB_.A017 */ 01161| A029 () ================================================================================ ADVICE: (for Error #6126, ASL_MSG_SYNTAX): The disassembled code cannot be reassembled using the strict IASL compiler as it contains syntax errors. FAILED [HIGH] AMLAsmASL_MSG_SYNTAX: Test 2, Assembler error in line 1163 Line | AML source -------------------------------------------------------------------------------- 01160| Store (0x01, A017) /* \_SB_.A017 */ 01161| A029 () 01162| Store (0x08, Local2) 01163| }) | ^ | Error 6126: syntax error, unexpected ')' 01164| } 01165| } 01166| } ================================================================================ ADVICE: (for Error #6126, ASL_MSG_SYNTAX): The disassembled code cannot be reassembled using the strict IASL compiler as it contains syntax errors. FAILED [HIGH] SyntaxCheckIASLCompilerAborted: Test 2, Compilation aborted early due to a parser detected syntax error. ADVICE: Some subsequent errors may not be detected because the compiler had to terminate prematurely. If the compiler did not abort early then potentially correct code may parse incorrectly producing some or many false positive errors. Table SSDT (0) reassembly: Found 5 errors, 0 warnings, 0 remarks.
Remark 2089: Object is not referenced
./src/southbridge/amd/cimx/sb800/acpi/fch.asl: CreateDWordField(Arg3,0,CDW1) ./src/southbridge/amd/cimx/sb800/acpi/fch.asl: CreateDWordField(Arg3,4,CDW2) ./src/southbridge/amd/cimx/sb800/acpi/fch.asl: CreateDWordField(Arg3,8,CDW3)
Checking ACPI table DSDT (#0) FAILED [LOW] AMLAsmASL_MSG_NOT_REFERENCED: Test 1, Assembler remark in line 1793 Line | AML source -------------------------------------------------------------------------------- 01790| Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities 01791| { 01792| CreateDWordField (Arg3, Zero, CDW1) 01793| CreateDWordField (Arg3, 0x04, CDW2) | ^ | Remark 2089: Object is not referenced (Name is within method [_OSC]) 01794| CreateDWordField (Arg3, 0x08, CDW3) 01795| If (LEqual (Arg0, Buffer (0x10) 01796| { ================================================================================ FAILED [LOW] AMLAsmASL_MSG_NOT_REFERENCED: Test 1, Assembler remark in line 1794 Line | AML source -------------------------------------------------------------------------------- 01791| { 01792| CreateDWordField (Arg3, Zero, CDW1) 01793| CreateDWordField (Arg3, 0x04, CDW2) 01794| CreateDWordField (Arg3, 0x08, CDW3) | ^ | Remark 2089: Object is not referenced (Name is within method [_OSC]) 01795| If (LEqual (Arg0, Buffer (0x10) 01796| { 01797| /* 0000 */ 0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40, ================================================================================ Table DSDT (0) reassembly: Found 0 errors, 0 warnings, 2 remarks.
Resource allocator
Key:
= bus - device
Structure:
========= next ========= || bus ||--------------------------------->|| bus || ========= ========= | | +-----------------+ | | | | +-+ v children bus | | dev | ^ v +---+----+ | | +--- | Device | +--------+ bus | +--------+ | Bridge |<-----+ | +--------+ | v children bus | +---+----+ +--- | Device | +--------+