41256 Rev 3.00 - July 07, 2008 AMD Family 11h Processor BKDG
1
Cover page
BIOS and Kernel
Developer’s Guide
(BKDG)
For AMD Family 11h
Processors
Advanced Micro Devices
41256 Rev 3.00 - July 07, 2008 AMD Family 11h Processor BKDG
2
Trademarks
AMD, the AMD Arrow logo, and combinations thereof, 3DNow!, AMD virtualization, and AMD PowerNow!
are trademarks of Advanced Micro Devices, Inc.
MMX is a trademark of Intel Corporation.
Windows Vista is a registered trademark of Microsoft Corporation.
HyperTransport is a trademark of the HyperTransport Technology Consortium.
Other product names used in this publication are for identification purposes only and may be trademarks of
their respective companies.
© 2005–2008 Advanced Micro Devices, Inc. All rights reserved.
The contents of this document are provided in connection with Advanced
Micro Devices, Inc. ("AMD") products. AMD makes no representations
or warranties with respect to the accuracy or completeness of the contents
of this publication and reserves the right to make changes to specifica-
tions and product descriptions at any time without notice. No license,
whether express, implied, arising by estoppel or otherwise, to any intel-
lectual property rights is granted by this publication. Except as set forth in
AMD's Standard Terms and Conditions of Sale, AMD assumes no liabil-
ity whatsoever, and disclaims any express or implied warranty, relating to
its products including, but not limited to, the implied warranty of mer-
chantability, fitness for a particular purpose, or infringement of any intel-
lectual property right. AMD's products are not designed, intended,
authorized or warranted for use as components in systems intended for
surgical implant into the body, or in other applications intended to support
or sustain life, or in any other application in which the failure of AMD's
product could create a situation where personal injury, death, or severe
property or environmental damage may occur. AMD reserves the right to
discontinue or make changes to its products at any time without notice.
3
41256 Rev 3.00 - July 07, 2008 AMD Family 11h Processor BKDG
Table of Contents
1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1 Intended Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2 Reference Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.1 Numbering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.2 Arithmetic and Logical Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4 Definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5 Changes Between Revisions and Product Variations . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5.1 Major Changes For Revision A Relative to Family 0Fh Processors . . . . . . 17
2 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1 Processor Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 System Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3 Processor Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.1 BSC initialization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.2 AP initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3.3 Using L2 Cache as General Storage During Boot . . . . . . . . . . . . . . . . . . . . 21
2.3.4 BIOS Requirements For 64-Bit Operation . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4 Power Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4.1 Processor Power Planes And Voltage Control. . . . . . . . . . . . . . . . . . . . . . . 23
2.4.1.1 Internal VID Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
2.4.1.2 Serial VID Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
2.4.1.3 MinVid and MaxVid Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
2.4.1.4 PSI_L Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
2.4.1.5 Alternative Voltage (altvid) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
2.4.1.6 VID Encodings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
2.4.1.7 BIOS Requirements for Power Plane Initialization . . . . . . . . . . . . . . . . . .25
2.4.1.8 Hardware-Initiated Voltage Transitions . . . . . . . . . . . . . . . . . . . . . . . . . .25
2.4.1.9 Software-Initiated Voltage Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . .25
2.4.2 P-states. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.4.2.1 Core P-states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
2.4.2.1.1 Core P-state Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
2.4.2.2 P-state Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
2.4.2.3 P-state Transition Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
2.4.2.4 BIOS Requirements for P-state Initialization and Transitions . . . . . . . . .28
2.4.2.5 Processor-Systemboard Power Delivery Compatibility Check . . . . . . . . .28
2.4.2.6 ACPI Processor P-state Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
2.4.2.6.1 _PCT (Performance Control) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
2.4.2.6.2 _PSS (Performance Supported States) . . . . . . . . . . . . . . . . . . . . . . . . . .30
2.4.2.6.3 _PPC (Performance Present Capabilities) . . . . . . . . . . . . . . . . . . . . . . .31
2.4.2.6.4 _PSD (P-state Dependency) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
2.4.2.6.5 Fixed ACPI Description Table (FADT) Entries . . . . . . . . . . . . . . . . . . .31
2.4.2.7 XPSS (Microsoft Extended PSS) Object . . . . . . . . . . . . . . . . . . . . . . . . . .31
2.4.2.8 Optimized Operating System Power Management Settings . . . . . . . . . . .31
2.4.2.8.1 Windows Vista® Power Management Settings . . . . . . . . . . . . . . . . . . .31
2.4.2.9 BIOS COF and VID Requirements After Reset . . . . . . . . . . . . . . . . . . . .32
2.4.3 C-states. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4
41256 Rev 3.00 - July 07, 2008 AMD Family 11h Processor BKDG
2.4.3.1 C1 Enhanced State (C1E) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
2.4.3.1.1 IO Hub Initiated C1E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
2.4.3.1.1.1 BIOS Requirements to Initialize IO Hub Initiated C1E . . . . . . . . . . .33
2.4.4 ACPI Suspend to RAM State (S3). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.4.5 Centralized Link Power Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.4.6 Link Power States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.4.6.1 SMAF and LMAF Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
2.5 Processor State Transition Sequences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.5.1 ACPI Power State Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.5.2 Link Power State Transitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.6 The Northbridge (NB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.6.1 Northbridge (NB) Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.6.2 DMA Exclusion Vectors (DEV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.6.3 Northbridge Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.6.3.1 Address Space Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
2.6.3.1.1 DRAM and MMIO Memory Space . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
2.6.3.1.2 IO Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
2.6.3.1.3 Configuration Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
2.6.3.2 Link Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
2.6.3.2.1 Display Refresh And IFCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
2.6.3.2.1.1 Buffer Allocation and Programming Rules . . . . . . . . . . . . . . . . . . . .40
2.6.3.2.1.2 Buffer Allocation Recommendations . . . . . . . . . . . . . . . . . . . . . . . . .40
2.6.4 Memory Scrubber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.6.5 Physical Address Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.6.6 System Address Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.7 Link. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.7.1 Link Initialization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.7.1.1 Link Type Detect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
2.7.1.2 Legal Topologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
2.7.2 Termination and Compensation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.7.3 Equalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.7.4 Link Retry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.7.5 Link LDTSTOP_L Disconnect-Reconnect . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.7.6 LDTSTOP Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.7.7 Response Ordering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.7.8 Link Testing, BIST, and ILM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.7.9 Miscellaneous Behaviors and Requirements . . . . . . . . . . . . . . . . . . . . . . . . 46
2.7.10 LDTREQ_L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.8 DRAM Controller (DCT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.8.1 DCT Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.8.2 Support For Multiple Unbuffered Logical DIMMs. . . . . . . . . . . . . . . . . . . 51
2.8.3 Burst Length. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.8.4 Routing DRAM Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.8.5 DRAM Data Burst Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.8.6 DCT/DRAM Initialization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.8.6.1 SPD ROM-Based Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
2.8.6.2 Non-SPD ROM-Based Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
2.8.6.2.1 Twrrd (Write-to-Read DIMM Termination Turn-around) . . . . . . . . . . .55
2.8.6.2.2 TrwtTO (Read-to-Write Turnaround for Data, DQS Contention) . . . . .55
2.8.6.2.3 FourActWindow (Four Bank Activate Window or tFAW) . . . . . . . . . .56
5
41256 Rev 3.00 - July 07, 2008 AMD Family 11h Processor BKDG
2.8.6.2.4 DRAM ODT Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56
2.8.6.2.5 DRAM Address Timing and Output Driver Compensation Control . . .56
2.8.6.3 DRAM Device Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
2.8.6.3.1 Software DDR2 Device Initialization . . . . . . . . . . . . . . . . . . . . . . . . . .58
2.8.6.4 DRAM Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60
2.8.6.4.1 BIOS Based DQS Receiver Enable Training . . . . . . . . . . . . . . . . . . . . .60
2.8.6.4.2 DQS Position Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62
2.8.6.4.3 Maximum Asynchronous Latency (MaxAsyncLat) . . . . . . . . . . . . . . . .63
2.8.6.4.3.1 MaxAsyncLat Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63
2.8.7 Memory Interleaving Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.8.7.1 Chip Select Interleaving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
2.8.8 Memory Hoisting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.8.8.1 DctSelBaseAddr Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
2.8.8.2 DramHoleOffset Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
2.8.8.3 DctSelBaseOffset Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68
2.8.9 DRAM Thermal Protection (MEMHOT_L) . . . . . . . . . . . . . . . . . . . . . . . . 69
2.8.10 DRAM Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
2.9 Core. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.9.1 Virtual Address Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.9.2 Number of Cores and Core Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.9.3 Access Type Determination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.9.3.1 Memory Access to the Physical Address Space . . . . . . . . . . . . . . . . . . . .71
2.9.3.1.1 Determining The Cache Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
2.9.3.1.2 Determining The Access Destination for CPU Accesses . . . . . . . . . . . .72
2.9.4 Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
2.9.5 APIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
2.9.5.1 APIC ID Enumeration Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
2.10 Thermal Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
2.10.1 The Tctl Temperature Scale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
2.10.2 Thermal Diode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
2.10.3 Sideband Temperature Sensor Interface (SB-TSI) . . . . . . . . . . . . . . . . . . . 74
2.10.4 Temperature-Driven Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
2.10.4.1 Hardware Thermal Control (HTC) and PROCHOT_L . . . . . . . . . . . . . . .74
2.10.4.2 THERMTRIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74
2.11 Configuration Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
2.11.1 MMIO Configuration Coding Requirements. . . . . . . . . . . . . . . . . . . . . . . . 75
2.11.2 MMIO Configuration Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.11.3 Processor Configuration Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.12 Debug Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.12.1 . Built In Self Test (BIST) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.13 RAS: Reliability, Availability, and Serviceability . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.13.1 Machine Check Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.13.1.1 Machine Check Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
2.13.1.2 Machine Check Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
2.13.1.2.1 Machine Check Error Logging and Reporting . . . . . . . . . . . . . . . . . . . .78
2.13.1.2.2 Machine Check Error Logging Overwrite During Overflow . . . . . . . . .78
2.13.1.3 Handling Machine Check Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
2.14 Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.14.1 Local APIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.14.1.1 Physical Destination Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80