This document describes the BIOS Information Table (BIT), the top-level description table in the NVIDIA VBIOS.
The BIT points to various code sections and data tables used by both the BIOS and driver software. The tables typically contain GPU and board-specific information.
VBIOS pointers may point to data beyond the end of the PC-compatible (legacy BIOS, Code Type 00h) image. If a UEFI (Code Type 03h) image follows the PC-compatible image, then the pointer must be adjusted to be an offset into the data following the UEFi Image.
If (pointer > PC-compatible image length) { adjusted_pointer = pointer + UEFI image length }
A GPU firmware file (.ROM) may contain data for HW consumption preceding the PCI Expansion ROM contents. The start of the PCI Expansion ROM can be found by checking 512 byte boundaries for the {055h,0AAh} PCI Expansion ROM signature. Additionally, the pointer to the PCI Data Structure should be followed and checked for the "PCIR" PCI Data Structure signature to confirm a valid PCI Expansion ROM has been found. When reading the firmware in a system using MMIO the PCI Expansion ROM will begin at PCI Expansion ROM BAR + offset 0.
The BIT is a series of tokenized structures, beginning with a BIT definition structure, and a series of BIT tokens and data pointers. The data pointers point to a grouping of data items that are used by NVIDIA software to locate, use, and/or modify device-specific data.
Name | Bit width | Values | Meaning |
---|---|---|---|
ID |
16 |
0xB8FF |
BIT Header Identifier |
Signature |
32 |
"BIT\0" |
BIT Header Signature |
BCD Version |
16 |
0x0100 |
BCD Version 1.00 (major version in the upper byte, minor version in the lower byte) |
Header Size |
8 |
12 |
Size of BIT Header (in bytes) |
Token Size |
8 |
6 |
Size of BIT Tokens (in bytes) |
Token Entries |
8 |
? |
Number of token entries that follow |
Checksum |
8 |
0 |
BIT Header Checksum |
Each BIT token has the same format and length. Prior knowledge of the data format, based on the data version indicated, is necessary to access the actual data.
Name | Bit width | Values and Meaning |
---|---|---|
ID |
8 |
Unique identifier indicating what data is pointed to by the Data Pointer |
Data Version |
8 |
Version of the data structure pointed to by the Data Pointer |
Data Size |
16 |
Size of data structure pointed to by the Data Pointer (in bytes) |
Data Pointer |
16 |
Pointer (offset) to the actual data structure. A NULL (0) pointer indicates no data exists for this token, and that it can be treated as a BIT_NOP. |
Deprecated tokens and data structure versions are highlighted in red.
Name | ID | Meaning | Corresponding Data Structure |
---|---|---|---|
BIT_TOKEN_I2C_PTRS |
0x32 (‘2’) |
I2C Script Pointers |
|
BIT_TOKEN_DAC_PTRS |
0x41 (‘A’) |
DAC Data Pointers |
|
BIT_TOKEN_BIOSDATA |
0x42 (‘B’) |
BIOS Data |
BIOSDATA (Version 1) (Version 2) |
BIT_TOKEN_CLOCK_PTRS |
0x43 (‘C’) |
Clock Script Pointers |
CLK PTRS (version 1) (version 2) |
BIT_TOKEN_DFP_PTRS |
0x44 (‘D’) |
DFP/Panel Data Pointers |
|
BIT_TOKEN_NVINIT_PTRS |
0x49 (‘I’) |
Initialization Table Pointers |
|
BIT_TOKEN_LVDS_PTRS |
0x4C (‘L’) |
LVDS Table Pointers |
|
BIT_TOKEN_MEMORY_PTRS |
0x4D (‘M’) |
Memory Control/Programming Pointers |
BIT_MEMORY_PTRS (Version 1) (Version 2) |
BIT_TOKEN_NOP |
0x4E (‘N’) |
No Operation |
|
BIT_TOKEN_PERF_PTRS |
0x50 (‘P’) |
Performance Table Pointers |
BIT_PERF_PTRS (Version 1) (Version 2) |
BIT_TOKEN_STRING_PTRS |
0x53 (‘S’) |
String Pointers |
BIT_STRING_PTRS (Version 1) (Version 2) |
BIT_TOKEN_TMDS_PTRS |
0x54 (‘T’) |
TMDS Table Pointers |
|
BIT_TOKEN_DISPLAY_PTRS |
0x55 (‘U’) |
Display Control/Programming Pointers |
|
BIT_TOKEN_VIRTUAL_PTRS |
0x56 (‘V’) |
Virtual Field Pointers |
|
BIT_TOKEN_32BIT_PTRS |
0x63 (‘c’) |
32-bit Pointer Data |
|
BIT_TOKEN_DP_PTRS |
0x64 (‘d’) |
DP Table Pointers |
|
BIT_TOKEN_FALCON_DATA |
0x70 (‘p’) |
Falcon Ucode Data |
PMU Table Pointers: BIT_FALCON_DATA or BIT_PMU_PTRS |
BIT_TOKEN_UEFI_DATA |
0x75 (‘u’) |
UEFI Driver Data |
|
BIT_TOKEN_MXM_DATA |
0x78 (‘x’) |
MXM Configuration Data |
|
BIT_TOKEN_BRIDGE_FW_DATA |
0x52 (‘R’) |
Bridge Firmware Data |
The BIT header should be searched for as follows:
ID plus Signature should be used to locate the BIT structure. Once found, the data immediately following the BIT header is the first token.
HeaderChecksum is a 0 checksum of the entire BIT header. The correct checksum can be found by adding BIT_Header.HeaderSize consecutive bytes together, starting with the first byte of the BIT header. A valid BIT will provide a byte sum of 00h.
HeaderSize contains a value that indicates how big the actual BIT header is. The first token can be found by adding this value to the start address of the BIT header.
TokenSize indicates how big each token entry is. All tokens are the same size.
TokenEntries indicates how many tokens are contained in the list and should be processed by software.
Deprecated data structure versions are highlighted in red.
This data structure contains I2C scripting data.
Name | Bit width | Values and Meaning |
---|---|---|
I2CScripts |
16 |
Pointer to the I2C Scripts table |
ExtHWMonInit |
16 |
Pointer to an I2C script used to initialize an external hardware monitor |
This data structure contains DAC related data.
Name | Bit width | Values and Meaning |
---|---|---|
DACDataPtr |
16 |
Pointer to DAC related data |
DACFlags |
8 |
DAC Flags |
Bit 0:0 - DAC Sleep Mode Support (via NV_PDISP_DAC_TEST). Possible values are:
0x0 - Not Supported
0x1 - Supported
Bits 7:1 - Reserved
This data structure has been deprecated. It contains BIOS related data.
Name | Bit width | Values and Meaning |
---|---|---|
BIOS Version |
32 |
BIOS Binary Version |
BIOS OEM Version |
8 |
BIOS OEM Version Number |
BIOS Checksum |
8 |
BIOS 0 Checksum inserted during the build |
INT15 POST Callbacks |
16 |
INT15 Callbacks issued during POST |
INT15 SYSTEM Callbacks |
16 |
General INT15 Callbacks |
BIOS Board ID |
16 |
Board ID |
Frame Count |
16 |
Number of frames to display the SignOn Message |
BIOSMOD Date |
24 |
Date BIOSMod was last run (in MMDDYY format) |
Bit 0:0 - Get Panel ID
Bit 1:1 - Get TV Format (NTSC/PAL/NTSC-J/etc.)
Bit 2:2 - Get Boot Device
Bit 3:3 - Get Panel Expansion/Centering
Bit 4:4 - Perform POST Complete Callback
Bit 5:5 - Get RAM Configuration (OEM Specific, deprecated)
Bit 6:6 - Get TV Connection Type (SVIDEO/Composite/etc.)
Bit 7:7 - OEM External Initialization
Bits 15:8 - Reserved
Bit 0:0 - Make DPMS Bypass Callback
Bit 1:1 - Get TV Format Callback (NTSC/PAL/etc.)
Bit 2:2 - Make Spread Spectrum Bypass Callback
Bit 3:3 - Make Display Switch Bypass Callback
Bit 4:4 - Make Device Control Setting Bypass Callback
Bit 5:5 - Make DDC Call Bypass Callback
Bit 6:6 - Make DFP Center/Expand Bypass Callback
Bits 15:7 - Reserved
This data structure contains BIOS related data.
Name | Bit width | Values and Meaning |
---|---|---|
BIOS Version |
32 |
BIOS Binary Version |
BIOS OEM Version |
8 |
BIOS OEM Version Number |
BIOS Checksum |
8 |
BIOS 0 Checksum inserted during the build |
INT15 POST Callbacks |
16 |
INT15 Callbacks during POST |
INT15 SYSTEM Callbacks |
16 |
General INT15 Callbacks |
Frame Count |
16 |
Number of frames to display SignOn Message |
Reserved |
32 |
Reserved |
Max Heads at POST |
8 |
Max number of heads to boot at POST |
Memory Size Report (MSR) |
8 |
Scheme for computing memory size displayed in Control Panel. Does not affect functionality in any way |
hScale Factor |
8 |
Horizontal Scale Factor |
vScale Factor |
8 |
Vertical Scale Factor |
Data Range Table Pointer |
16 |
Pointer to the table of pointers identifying where all data in the VGA BIOS image is located that the OS or EFI GPU driver need |
ROMpacks Pointer |
16 |
Pointer to any ROMpacks. A NULL (0) pointer indicates that no run-time ROMpacks are present |
Applied ROMpacks Pointer |
16 |
Pointer to a list of indexes of applied run-time ROMpacks |
Applied ROMpack Max |
8 |
Maximum number of stored indexes in the list pointed to by the Applied ROMpacks pointer |
Applied ROMpack Count |
8 |
Number of applied run-time ROMpacks |
Module Map External 0 |
8 |
Module Map External 0 byte. Indicates whether modules outside of the BIT and not at fixed addresses are included in the binary |
Compression Info Pointer |
32 |
Pointer to compression information structure (for use only by stage0 build script and decompression run-time code) |
Bit 0:0 - Get Panel ID
Bit 1:1 - Get TV Format (NTSC/PAL/NTSC-J/etc.)
Bit 2:2 - Get Boot Device
Bit 3:3 - Get Panel Expansion/Centering
Bit 4:4 - Perform POST Complete Callback
Bit 5:5 - Get RAM Configuration (OEM Specific – should be obsolete)
Bit 6:6 - Get TV Connection Type (SVIDEO/Composite/etc.)
Bit 7:7 - OEM External Initialization
Bits 15:8 - Reserved
Bit 0:0 - Make DPMS Bypass Callback
Bit 1:1 - Get TV Format Callback (NTSC/PAL/etc.)
Bit 2:2 - Make Spread Spectrum Bypass Callback
Bit 3:3 - Make Display Switch Bypass Callback
Bit 4:4 - Make Device Control Setting Bypass Callback
Bit 5:5 - Make DDC Call Bypass Callback
Bit 6:6 - Make DFP Center/Expand Bypass Callback
Bits 15:7 - Reserved
Bit 0:0 - Underflow and Error Reporting. This mode enables HW to red-fill the screen on display pipe underflow, and causes the VBIOS to make the overscan border red on poll timeouts, as well as FB pattern test failures. This mode should never be enabled on production VBIOSes!
Bit 1:1 - Coproc Build. Set when a VBIOS is intended to work as a coprocessor and does not support any displays
Bit 2:2 - Reserved
Bit 3:3 - Reserved
Bit 4:4 - Reserved
The Data Table contains pointers identifying where all data in the VGA BIOS image are located that the OS GPU drivers or EFI GPU driver needs.
Only data in the x86 code type PCI firmware block are included in the Data Range Table.
Any other PCI firmware blocks present are defined to be "all data" (or in the case of an EFI PCI firmware block, all code).
Name | Bit width | Values and Meaning |
---|---|---|
Image Start |
16 |
Pointer to the start of the binary image (0x0000) |
BIT End |
16 |
Pointer to the end of the BIOS Information Table |
Data Resident Start |
16 |
Pointer to the start of the resident data section |
Data Resident End |
16 |
Pointer to the end of the resident data section |
Data Discard Start |
16 |
Pointer to the start of the discardable data section |
Data Discard End |
16 |
Pointer to the end of the discardable data section |
End of List |
32 |
End of the list (0x0000, 0x0000) |
THIS STRUCTURE VERSION IS NOW DEPRECATED. PLEASE REFER TO VERSION 2 BELOW.
This data structure contains data related to clock programming.
Name | Bit width | Values and Meaning |
---|---|---|
PLL Register Table Pointer |
32 |
Pointer to the table of PLL registers |
Clock Script |
32 |
Pointer to a script to run after changing clocks |
PLL Info Table Pointer |
16 |
Pointer to the PLL info table |
Clock Frequency Table |
32 |
Pointer to the fixed clock frequency table |
FIFO Table |
16 |
Pointer to the DAC/CRTC FIFO settings table |
Noise-Aware PLL Table |
16 |
Pointer to the noise-aware PLL yable |
This data structure contains Clock Programming related data.
PLL Info Table Pointer | 32 | Pointer to PLL Info Table |
---|---|---|
VBE Mode PCLK table |
32 |
Pointer to VBE Mode PCLK Table |
Clocks Table Pointer |
32 |
Pointer to Clocks Table |
Clock Programming Table Pointer |
32 |
Pointer to Clock Programming Table |
NAFLL Table Pointer |
32 |
Pointer to NAFLL Table |
ADC Table Pointer |
32 |
Pointer to ADC Table |
Frequency Controller Table Pointer |
32 |
Pointer to Frequency Controller Table |
This data structure contains data related to DFP programming.
Name | Bit width | Values and Meaning |
---|---|---|
FP Established |
16 |
Pointer to a table of VESA Established Timing tables |
FP Table Pointer |
16 |
Pointer to the VBIOS-internal flat panel tables |
This data structure contains initialization table pointers.
Name | Bit width | Values and Meaning |
---|---|---|
Init Script Table Pointer |
16 |
Pointer to the table of Devinit script pointers |
Macro Index Table Pointer |
16 |
Pointer to the macro index table |
Macro Table Pointer |
16 |
Pointer to the macro table |
Condition Table Pointer |
16 |
Pointer to a table of Devinit conditionals used with the INIT_CONDITION opcode |
I/O Condition Table Pointer |
16 |
Pointer to a table of Devinit I/O conditionals used with the INIT_IO_CONDITION opcode |
I/O Flag Condition Table Pointer |
16 |
Pointer to a table of Devinit I/O conditionals used with the INIT_IO_FLAG_CONDITION opcode |
Init Function Table Pointer |
16 |
Pointer to the init function table |
VBIOS Private Boot Script Pointer |
16 |
Pointer to the VBIOS private boot script |
Data Arrays Table Pointer |
16 |
Pointer to the data arrays table |
PCIe Settings Script Pointer |
16 |
Pointer to the PCIe settings script |
Devinit Tables Pointer |
16 |
Pointer to the contiguous segment containing tables required by Devinit opcodes |
Devinit Tables Size |
16 |
Size of the contiguous segment containing tables required by Devinit opcodes |
Boot Scripts Pointer |
16 |
Pointer to the contiguous segment containing Devinit boot scripts |
Boot Scripts Size |
16 |
Size of the contiguous segment containing Devinit boot scripts |
NVLink Configuration Data Pointer |
16 |
Pointer to NVLink Configuration Data |
Boot Scripts Non-GC6 Pointer |
16 |
Pointer to the continuous section of devinit that is not required on GC6 exit |
Boot Scripts Size Non-GC6 |
16 |
Size of contiguous section containing devinit that is not required on GC6 exit |
This data structure contains LVDS Initialization table pointers.
Name | Bit width | Values and Meaning |
---|---|---|
LVDS Info Table Pointer |
16 |
Pointer to the LVDS info table |
Version 1 of this data structure has been deprecated.
This data structure contains memory control/programming related pointers
Name | Bit width | Values and Meaning |
---|---|---|
Memory Reset Table Pointer |
16 |
Pointer to the memory reset script |
Memory Strap Data Count |
8 |
Memory strap data Count |
Memory Strap Translation Table Pointer |
16 |
Pointer to the memory strap translation table |
Memory Data VREF On Pointer |
16 |
Pointer to the data VREF on script |
Memory Data DQS On Pointer |
16 |
Pointer to the data DQS on script |
Memory Data DLCELL On Pointer |
16 |
Pointer to the data DLCELL on script |
Memory Data DLCELL Off Pointer |
16 |
Pointer to the data DLCELL off script |
This data structure contains pointers related to memory control and programming.
Name | Bit width | Values and Meaning |
---|---|---|
Memory Strap Data Count |
8 |
Memory strap data count |
Memory Strap Translation Table Pointer |
16 |
Pointer to the memory strap translation table |
Memory Information Table Pointer |
16 |
Pointer to the memory information table |
Reserved |
64 |
|
Memory Partition Information Table |
32 |
Pointer to the memory partition information table |
Memory Script List Pointer |
32 |
Pointer to Memory Script List, a list of 32-bit pointers to devinit scripts used to program FB register set. |
This data structure is a "no operation" indicator and contains no data. BIT_TOKEN_NOP should be skipped by processing software, and processing should continue at the next token.
Version 1 of this data structure has been deprecated.
This data structure contains performance table pointers, which are stored as 32-bit offsets to the data.
These pointers are only used by system software, and may point at data outside the base 64K ROM image.
A conversion from Real Mode segment:offset format is done using the following algorithm: (((16bit)SEGMENT) << 4) + ((16bit)OFFSET)
Name | Bit width | Values and Meaning |
---|---|---|
Performance Table Pointer |
32 |
Pointer to the performance table |
Memory Tweak Table Pointer |
32 |
Pointer to the memory tweak table |
Drive/Slew Table Pointer |
32 |
Pointer to the drive/slew table |
Board Temperature Control Pointer |
32 |
Pointer to board temperature control limits |
GPIO Voltage Select Table Pointer |
32 |
Pointer to the GPIO voltage select table |
AGP Clock Frequency |
8 |
AGP clock frequency used for PCIe bus speed (in MHz) |
NVCLK Performance Table Pointer |
32 |
Pointer to the NVCLK performance table |
Name | Bit width | Values and Meaning |
---|---|---|
Performance Table Pointer |
32 |
Pointer to the performance table |
Memory Clock Table Pointer |
32 |
Pointer to the memory clock table |
Memory Tweak Table Pointer |
32 |
Pointer to the memory tweak table |
Power Control Table Pointer |
32 |
Pointer to the power control table |
Thermal Control Table Pointer |
32 |
Pointer to the thermal control table |
Thermal Device Table Pointer |
32 |
Pointer to the thermal device table |
Thermal Coolers Table Pointer |
32 |
Pointer to the thermal coolers table |
Performance Settings Script Pointer |
32 |
Pointer to a Devinit script containing performance-related settings |
Continuous Virtual Binning Table Pointer |
32 |
Pointer to the continuous virtual binning table |
Ventura Table Pointer |
32 |
Pointer to the Ventura table |
Power Sensors Table Pointer |
32 |
Pointer to the power sensors table |
Power Policy Table Pointer |
32 |
Pointer to the power policy table |
P-State Clock Range Table Pointer |
32 |
Pointer to the P-State clock range table |
Voltage Frequency Table Pointer |
32 |
Pointer to the voltage frequency table |
Virtual P-State Table Pointer |
32 |
Pointer to the virtual P-State table |
Power Topology Table Pointer |
32 |
Pointer to the power topology table |
Power Leakage Table Pointer |
32 |
Pointer to the power leakage table |
Performance Test Specifications Table Pointer |
32 |
Pointer to the performance test specifications table |
Thermal Channel Table Pointer |
32 |
Pointer to the thermal channel table |
Thermal Adjustment Table Pointer |
32 |
Pointer to the thermal adjustment table |
Thermal Policy Table Pointer |
32 |
Pointer to the thermal policy table |
P-State Memory Clock Frequency Table Pointer |
32 |
Pointer to the P-State memory clock frequency table |
Fan Cooler Table Pointer |
32 |
Pointer to the fan cooler table |
Fan Policy Table Pointer |
32 |
Pointer to the fan policy table |
DI/DT Table Pointer |
32 |
Pointer to DI/DT Table |
Fan Test Table Pointer |
32 |
Pointer to Fan Test Table |
Voltage Rail Table Pointer |
32 |
Pointer to Voltage Rail Table |
Voltage Device Table Pointer |
32 |
Pointer to Voltage Device Table |
Voltage Policy Table Pointer |
32 |
Pointer to Voltage Policy Table |
LowPower Table Pointer |
32 |
Pointer to LowPower Table |
LowPower PCIe Table Pointer |
32 |
Pointer to LowPower PCIe Table |
LowPower PCIe-Platform Table Pointer |
32 |
Pointer to LowPower PCIe-Platform Table |
LowPower GR Table Pointer |
32 |
Pointer to LowPower GR Table |
LowPower MS Table Pointer |
32 |
Pointer to LowPower MS Table |
LowPower DI Table Pointer |
32 |
Pointer to LowPower DI Table |
LowPower GC6 Table Pointer |
32 |
Pointer to LowPower GC6 Table |
LowPower PSI Table Pointer |
32 |
Pointer to LowPower PSI Table |
Thermal Monitor Table Pointer |
32 |
Pointer to Thermal Monitor Table |
Overclocking Table Pointer |
32 |
Pointer to Overclocking Table |
LowPower NVLINK Table Pointer |
32 |
Pointer to LPWR NVLINK Table |
Note 1: Notes on the Performance Settings Script Pointer:
Intended to be parsed by system software to directly obtain register settings for a particular P-state, typically P0.
May be called as a subscript from the primary device initialization script so that it can be used both for initialization and to provide data for P-state changes.
Must not contain any conditions or opcodes that require reading hardware, with the exception of INIT_XMEMSEL* opcodes that only need to read the memory strap, which may be cached by system software.
System software is only required to parse up to the first occurrence of the desired register.
Parsing should terminate at the INIT_DONE opcode.
This data structure has been deprecated.
This data structure contains pointers to strings in the VBIOS image
All of the strings in this structure are ‘0’ terminated.
The “Size” bytes indicate the maximum length available for storing the string, non-inclusive of the terminating 0.
Name | Bit width | Values and Meaning |
---|---|---|
Sign On Message Poitner |
16 |
Pointer to Sign On Message |
Sign On Message Maximum Length |
8 |
Maximum length of Sign On Message |
OEM String |
16 |
OEM String to identify graphics controller chip or product family. This is the last radix in the combined version string, e.g. 25 in 70.18.01.00.25 |
OEM String Size |
8 |
Maximum length of OEM string |
OEM Vendor Name |
16 |
Name of the vendor that produced the display controller board product |
OEM Vendor Name Size |
8 |
Maximum length of OEM Vendor Name |
OEM Product Name |
16 |
Product name of the controller board |
OEM Product Name Size |
8 |
Maximum length of OEM Product Name |
OEM Product Revision |
16 |
Revision of manufacturing level of the display controller board |
OEM Product Revision Size |
8 |
Maximum length of OEM Product Revision |
This data structure contains pointers to strings in the VBIOS image
All of the strings in this structure are ‘0’ terminated.
The “Size” bytes indicate the maximum length available for storing the string, non-inclusive of the terminating 0.
Name | Bit width | Values and Meaning |
---|---|---|
Sign On Message Poitner |
16 |
Pointer to Sign On Message |
Sign On Message Maximum Length |
8 |
Maximum length of Sign On Message |
Version String |
16 |
Pointer to the "Version ww.xx.yy.zz" string |
Version String Size |
8 |
Maximum length of the version string |
Copyright String |
16 |
Pointer to the copyright string |
Copyright String Size |
8 |
Maximum length of the copyright string |
OEM String |
16 |
OEM String to identify graphics controller chip or product family. This is the last radix in the combined version string, e.g. 25 in 70.18.01.00.25 |
OEM String Size |
8 |
Maximum length of OEM string |
OEM Vendor Name |
16 |
Name of the vendor that produced the display controller board product |
OEM Vendor Name Size |
8 |
Maximum length of OEM Vendor Name |
OEM Product Name |
16 |
Product name of the controller board |
OEM Product Name Size |
8 |
Maximum length of OEM Product Name |
OEM Product Revision |
16 |
Revision of manufacturing level of the display controller board |
OEM Product Revision Size |
8 |
Maximum length of OEM Product Revision |
This data structure contains TMDS Initialization table pointers.
Name | Bit width | Values and Meaning |
---|---|---|
TMDS Info Table Pointer |
16 |
Pointer to TMDS Info Table |
This data structure contains Display Control/Programming related pointers.
Name | Bit width | Values and Meaning |
---|---|---|
Display Scripting Table Pointer |
16 |
Pointer to Display Scripting Table |
Display Control Flags |
8 |
Display Control Flags byte : [0:0] = Enable white overscan border for diagnostic purposes : [1:1] = NO_DISPLAY_SUBSYSTEM: Display subsystem isn’t included in the GPU (used for displayless coproc) : [2:2] = DISPLAY_FPGA: Display subsystem is on an FPGA (used for pre-SI testing). : [3:3] = VBIOS avoids touching mempool while drivers running : [4:4] = Offset PCLK between 2 heads : [5:5] = Boot with DP Hotplug disabled : [6:6] = Allow detection of DP sinks by doing a DPCD register read : [7:7] = Reserved |
SLI Table Header Pointer |
16 |
Pointer to the SLI Table Header |
This data structure contains Virtual Field pointers.
Name | Bit width | Values and Meaning |
---|---|---|
Virtual Strap Field Table Pointer |
16 |
Pointer to Virtual Strap Field Table |
Virtual Strap Field Register |
16 |
Virtual STrap Field Register |
Translation Table Pointer |
16 |
Pointer to translation table so virtual straps can be sparse |
This data structure contains BIOS related data that is located outside the 64K ROM image.
It is used by the VBIOS to access tables during POST that need to be copied into the runtime image.
No data structure is currently defined.
This data structure contains the DP Info Table.
Name | Bit width | Values and Meaning |
---|---|---|
DP Info Table Pointer |
16 |
Pointer to DP Info Table |
This data structure has been deprecated. It is superseded by BIT_FALCON_DATA (Version 2).
This data structure contains PMU-related pointers
Name | Bit width | Values and Meaning |
---|---|---|
PMU Function Table Pointer |
16 |
Pointer to PMU Function Table (Deprecated) |
PMU Function Table Pointer (32-bit) |
32 |
Pointer to PMU Function Table (32-bit) |
PMU Init-From-Rom Code Image Pointer |
32 |
core80-: Pointer to PMU IFR code image in Kepler format core82+: Pointer to IFR IMEM image in raw format |
PMU Init-From-Rom Code Image Size |
32 |
core80-: Size of PMU IFR code image in Kepler format core82+: Size of IFR IMEM image in raw format |
PMU Init-From-Rom Code Image ID |
8 |
ID of PMU IFR code image |
PMU Init-From-Rom Code Image Info Ptr |
32 |
Pointer to info struct for IFR code image |
PMU Init-From-Rom Data Image Ptr |
32 |
core82+: Pointer to IFR DMEM image in raw format |
PMU Init-From-Rom Data Image Size |
32 |
core82+: Size of IFR DMEM image in raw format |
This data structure contains Falcon-related data and pointers. It supersedes BIT_PMU_PTRS (Version 1). The name was changed for version 2 to better reflect the scope of associated data.
Name | Bit width | Values and Meaning |
---|---|---|
Falcon Ucode Table Pointer |
32 |
Pointer to Falcon Ucode Table |
This data structure contains the UEFI Driver Data structure
Name | Bit width | Values and Meaning |
---|---|---|
Minimum UEFI Driver Version |
32 |
Minimum UEFI driver version that is required when merging with the legacy VBIOS image |
UEFI Compatibility Level |
8 |
Specifies the legacy VBIOS UEFI compatibility level which can be used to prevent the legacy VBIOS from being merged with an incompatible UEFI driver |
UEFI Flags |
64 |
UEFI Flags : [0:0] Display switch support :: 0 = Enabled :: 1 = Disabled : [1:1] LCD diagnostics support :: 0 = Disabled :: 1 = Enabled : [2:2] Glitchless support :: 0 = Enabled :: 1 = Disabled : [63:3] Reserved (defaults to 0) |
This data structure contains the MXM Configuration Data structure
Name | Bit width | Values and Meaning |
---|---|---|
Module Spec Version |
8 |
The BCD version of the Thermal Electromechanical Specification the module was designed for |
Module Flags 0 |
8 |
Module Flags 0 byte : [3:0] - Form Factor :: 0x0 = Not MXM :: 0x1 = Type-I :: 0x2 = Type-II :: 0x3 = Type-III :: 0x4 = Type-IV :: 0x5-0xE = Reserved :: 0xF = Undefined : [7:4] - Reserved |
Config Flags 0 |
8 |
Configuration Flags 0 byte : [0:0] = MXM Structure Required : [1:1] = MXM Structure validation failed : [3:2] = DCB modification status :: 0 = VBIOS modification complete :: 1-2 = Reserved :: 3 = MXM Default DCB : [7:4] – Chip package type of GPU on the MXM module :: 0x0 = Package older than G3 type :: 0x1 = G3 package :: 0x2 = GB1-128/256 package :: 0x3 = GB1-64 package :: 0x4 = GB4-256 package :: 0x5-0xF = Reserved |
DP Drive Strength Scale |
8 |
Used to modify the DP Drive Strength for DP in MXM30 |
MXM Digital Connector Table Pointer |
16 |
Pointer to table for mapping MXM Digital Connection number into SOR/Sublinks config |
MXM DDC/Aux to CCB Table Pointer |
16 |
Pointer to table for mapping MXM DDC/Aux number CCB port number |
This data structure contains the Bridge Firmware Data structure
Name | Bit width | Values and Meaning |
---|---|---|
Firmare Version |
32 |
Firmware Binary Version |
Firmware OEM Version |
8 |
Firmware OEM Verison Number |
Firmware Image Length |
16 |
Firmware Image Length in increments of 512 bytes |
BIOSMOD Date |
64 |
Date of Last BIOSMod Modification |
Firmware Flags |
32 |
Firmware Flags : [0:0] Build :: 0 = Release :: 1 = Engineering : [1:1] I2C :: 0 = Master (possible I2C slave connected) :: 1 = Not Master |
Engineering Product Name |
16 |
Pointer to the Engineering Product Name |
Engineering Product Name Size |
8 |
Maximum length of the Engineering Product Name string |