[INFO]
00 = Vendor ID - Offset [1:0]\r\rThe Vendor ID register identifies the manufacturer of the device and is assigned by PCISIG to insure uniqueness.
01 = Vendor ID - Offset [1:0]\r\rThe Vendor ID register identifies the manufacturer of the device and is assigned by PCISIG to insure uniqueness.
02 = Device ID - Offset [3:2]\r\rThe Device ID register identifies the particular device and is assigned by the vendor.
03 = Device ID - Offset [3:2]\r\rThe Device ID register identifies the particular device and is assigned by the vendor.
04 = Command - Offset [5:4]\r B0 - I/O Space Enable\r B1 - Memory Space Enable\r B2 - Bus Master Enable\r B3 - Special Cycle Enable\r B4 - Memory Write and Invalidate\r B5 - VGA Palette Snoop Enable\r B6 - Parity Error Response\r B7 - Reserved\r B8 - SERR# Enable\r B9 - Fast Back-to-Back Enable\r B10 - Interrupt Disable\r B15:11 - Reserved
05 = Command - Offset [5:4]\r B0 - I/O Space Enable\r B1 - Memory Space Enable\r B2 - Bus Master Enable\r B3 - Special Cycle Enable\r B4 - Memory Write and Invalidate\r B5 - VGA Palette Snoop Enable\r B6 - Parity Error Response\r B7 - Reserved\r B8 - SERR# Enable\r B9 - Fast Back-to-Back Enable\r B10 - Interrupt Disable\r B15:11 - Reserved
06 = Status - Offset [7:6]\r B2:0 - Reserved\r B3 - Interrupt Status\r B4 - Capabilities List\r B5 - 66 MHz Capable\r B6 - Reserved\r B7 - Fast Back-to-Back Capable\r B8 - Master Data Parity Error\r B10:9 - DEVSEL# Timing\r  00 - fast\r  01 - medium\r  02 - slow\r B11 - Signaled Target-Abort\r B12 - Received Target-Abort\r B13 - Received Master-Abort\r B14 - Signaled System Error\r B15 - Detected Parity Error
07 = Status - Offset [7:6]\r B2:0 - Reserved\r B3 - Interrupt Status\r B4 - Capabilities List\r B5 - 66 MHz Capable\r B6 - Reserved\r B7 - Fast Back-to-Back Capable\r B8 - Master Data Parity Error\r B10:9 - DEVSEL# Timing\r  00 - fast\r  01 - medium\r  02 - slow\r B11 - Signaled Target-Abort\r B12 - Received Target-Abort\r B13 - Received Master-Abort\r B14 - Signaled System Error\r B15 - Detected Parity Error
08 = Revision ID\r\rThe Revision ID register specifies a device-specific revision identifier.
09 = Class code - Programming Interface type\r\rThe Class Code register is used to identify the function of the device.
0A = Class code - Sub type\r\rThe Class Code register is used to identify the function of the device.
0B = Class code - Base type\r\rThe Class Code register is used to identify the function of the device.
0C = Cache line size\r\rThe Cacheline Size register is used when terminating a transaction that uses the Memory Write and Invalidate command and when prefetching (Memory Read Line and Memory Read Multiple commands).
0D = Primary Latency timer\r\rThe Latency Timer register is required if a bridge is capable of a burst transfer of more than two data phases on its primary interface.
0E = Header type\r 00 - Standard PCI\r 01 - PCI-to-PCI Bridge\r 02 - Cardbus\r B7 = 1 - Multi-Function Device
0F = Built-In Self Test\r B3:0 - BIST Result\r B5:4 - Reserved\r B6 - Start BIST\r B7 - BIST Capable
10 = Base Address 0 - Offset [13:10]\r\r Memory Base\r  B0 = 0 - Memory space\r  B2:1 - Type\r   00 - Base address is 32 bits wide\r   01 - Reserved\r   10 - Base address is 64 bits wide\r   11 - Reserved\r  B3 = 1 - Memory is prefetchable\r  B31:4 - Base address\r\r I/O Base\r  B0 = 1 - I/O space\r  B1 - Reserved\r  B31:2 - Base address
11 = Base Address 0 - Offset [13:10]\r\r Memory Base\r  B0 = 0 - Memory space\r  B2:1 - Type\r   00 - Base address is 32 bits wide\r   01 - Reserved\r   10 - Base address is 64 bits wide\r   11 - Reserved\r  B3 = 1 - Memory is prefetchable\r  B31:4 - Base address\r\r I/O Base\r  B0 = 1 - I/O space\r  B1 - Reserved\r  B31:2 - Base address
12 = Base Address 0 - Offset [13:10]\r\r Memory Base\r  B0 = 0 - Memory space\r  B2:1 - Type\r   00 - Base address is 32 bits wide\r   01 - Reserved\r   10 - Base address is 64 bits wide\r   11 - Reserved\r  B3 = 1 - Memory is prefetchable\r  B31:4 - Base address\r\r I/O Base\r  B0 = 1 - I/O space\r  B1 - Reserved\r  B31:2 - Base address
13 = Base Address 0 - Offset [13:10]\r\r Memory Base\r  B0 = 0 - Memory space\r  B2:1 - Type\r   00 - Base address is 32 bits wide\r   01 - Reserved\r   10 - Base address is 64 bits wide\r   11 - Reserved\r  B3 = 1 - Memory is prefetchable\r  B31:4 - Base address\r\r I/O Base\r  B0 = 1 - I/O space\r  B1 - Reserved\r  B31:2 - Base address
14 = Base Address 1 - Offset [17:14]\r\r Memory Base\r  B0 = 0 - Memory space\r  B2:1 - Type\r   00 - Base address is 32 bits wide\r   01 - Reserved\r   10 - Base address is 64 bits wide\r   11 - Reserved\r  B3 = 1 - Memory is prefetchable\r  B31:4 - Base address\r\r I/O Base\r  B0 = 1 - I/O space\r  B1 - Reserved\r  B31:2 - Base address
15 = Base Address 1 - Offset [17:14]\r\r Memory Base\r  B0 = 0 - Memory space\r  B2:1 - Type\r   00 - Base address is 32 bits wide\r   01 - Reserved\r   10 - Base address is 64 bits wide\r   11 - Reserved\r  B3 = 1 - Memory is prefetchable\r  B31:4 - Base address\r\r I/O Base\r  B0 = 1 - I/O space\r  B1 - Reserved\r  B31:2 - Base address
16 = Base Address 1 - Offset [17:14]\r\r Memory Base\r  B0 = 0 - Memory space\r  B2:1 - Type\r   00 - Base address is 32 bits wide\r   01 - Reserved\r   10 - Base address is 64 bits wide\r   11 - Reserved\r  B3 = 1 - Memory is prefetchable\r  B31:4 - Base address\r\r I/O Base\r  B0 = 1 - I/O space\r  B1 - Reserved\r  B31:2 - Base address
17 = Base Address 1 - Offset [17:14]\r\r Memory Base\r  B0 = 0 - Memory space\r  B2:1 - Type\r   00 - Base address is 32 bits wide\r   01 - Reserved\r   10 - Base address is 64 bits wide\r   11 - Reserved\r  B3 = 1 - Memory is prefetchable\r  B31:4 - Base address\r\r I/O Base\r  B0 = 1 - I/O space\r  B1 - Reserved\r  B31:2 - Base address
18 = Primary bus number\r\rThe Primary Bus Number register is used to record the bus number of the PCI bus segment to which the primary interface of the bridge is connected.
19 = Secondary bus number\r\rThe Secondary Bus Number register is used to record the bus number of the PCI bus segment to which the secondary interface of the bridge is connected.
1A = Subordinate bus number\r\rThe Subordinate Bus Number register is used to record the bus number of the highest numbered PCI bus segment which is behind (or subordinate to) the bridge.
1B = Secondary latency timer\r\rThe Latency Timer register is required if a bridge is capable of a burst transfer of more than two data phases on its secondary interface.
1C = I/O base\r\rThe I/O Base and I/O Limit registers are optional and define an address range that is used by the bridge to determine when to forward I/O transactions from one interface to the other.\r\r B3:0 - I/O Addressing Capability\r  00 - 16-bit I/O addressing\r  01 - 32-bit I/O addressing\r  02-0F - Reserved\r B7:4 - I/O base AD[15:12]\r  AD[11:0] = 000
1D = I/O limit\r\rThe I/O Base and I/O Limit registers are optional and define an address range that is used by the bridge to determine when to forward I/O transactions from one interface to the other.\r\r B3:0 - I/O Addressing Capability\r  00 - 16-bit I/O addressing\r  01 - 32-bit I/O addressing\r  02-0F - Reserved\r B7:4 - I/O limit AD[15:12]\r  AD[11:0] = FFF
1E = Secondary status - Offset [1F:1E]\r B4:0 - Reserved\r B5 - 66 MHz Capable\r B6 - Reserved\r B7 - Fast Back-to-Back Capable\r B8 - Master Data Parity Error\r B10:9 - DEVSEL# Timing\r  00 - fast\r  01 - medium\r  02 - slow\r B11 - Signaled Target-Abort\r B12 - Received Target-Abort\r B13 - Received Master-Abort\r B14 - Signaled System Error\r B15 - Detected Parity Error
1F = Secondary status - Offset [1F:1E]\r B4:0 - Reserved\r B5 - 66 MHz Capable\r B6 - Reserved\r B7 - Fast Back-to-Back Capable\r B8 - Master Data Parity Error\r B10:9 - DEVSEL# Timing\r  00 - fast\r  01 - medium\r  02 - slow\r B11 - Signaled Target-Abort\r B12 - Received Target-Abort\r B13 - Received Master-Abort\r B14 - Signaled System Error\r B15 - Detected Parity Error
20 = Memory base - Offset [21:20]\r\rThe Memory Base and Memory Limit registers are both required registers that define a memory mapped I/O address range which is used by the bridge to determine when to forward memory transactions from one interface to the other.\r\r B3:0 - Reserved\r B15:4 - Memory base AD[31:20]\r  AD[19:0] = 00000
21 = Memory base - Offset [21:20]\r\rThe Memory Base and Memory Limit registers are both required registers that define a memory mapped I/O address range which is used by the bridge to determine when to forward memory transactions from one interface to the other.\r\r B3:0 - Reserved\r B15:4 - Memory base AD[31:20]\r  AD[19:0] = 00000
22 = Memory limit - Offset [23:22]\r\rThe Memory Base and Memory Limit registers are both required registers that define a memory mapped I/O address range which is used by the bridge to determine when to forward memory transactions from one interface to the other.\r\r B3:0 - Reserved\r B15:4 - Memory limit AD[31:20]\r  AD[19:0] = FFFFF
23 = Memory limit - Offset [23:22]\r\rThe Memory Base and Memory Limit registers are both required registers that define a memory mapped I/O address range which is used by the bridge to determine when to forward memory transactions from one interface to the other.\r\r B3:0 - Reserved\r B15:4 - Memory limit AD[31:20]\r  AD[19:0] = FFFFF
24 = Prefetchable memory base\r   - Offset [25:24]\r\rThe Prefetchable Memory Base and Prefetchable Memory Limit registers are optional. They define a prefetchable memory address range which is used by the bridge to determine when to forward memory transactions from one interface to the other.\r\r B3:0 - Reserved\r B15:4 - Memory base AD[31:20]\r  AD[19:0] = 00000
25 = Prefetchable memory base\r   - Offset [25:24]\r\rThe Prefetchable Memory Base and Prefetchable Memory Limit registers are optional. They define a prefetchable memory address range which is used by the bridge to determine when to forward memory transactions from one interface to the other.\r\r B3:0 - Reserved\r B15:4 - Memory base AD[31:20]\r  AD[19:0] = 00000
26 = Prefetchable memory limit\r   - Offset [27:26]\r\rThe Prefetchable Memory Base and Prefetchable Memory Limit registers are optional. They define a prefetchable memory address range which is used by the bridge to determine when to forward memory transactions from one interface to the other.\r\r B3:0 - Reserved\r B15:4 - Memory limit AD[31:20]\r  AD[19:0] = FFFFF
27 = Prefetchable memory limit\r   - Offset [27:26]\r\rThe Prefetchable Memory Base and Prefetchable Memory Limit registers are optional. They define a prefetchable memory address range which is used by the bridge to determine when to forward memory transactions from one interface to the other.\r\r B3:0 - Reserved\r B15:4 - Memory limit AD[31:20]\r  AD[19:0] = FFFFF
28 = Prefetchable base upper 32 bits\r   - Offset [2B:28]\r\rThe Prefetchable Base Upper 32 Bits and Prefetchable Limit Upper 32 Bits registers are optional extensions to the Prefetchable Memory Base and Prefetchable Memory Limit registers.
29 = Prefetchable base upper 32 bits\r   - Offset [2B:28]\r\rThe Prefetchable Base Upper 32 Bits and Prefetchable Limit Upper 32 Bits registers are optional extensions to the Prefetchable Memory Base and Prefetchable Memory Limit registers.
2A = Prefetchable base upper 32 bits\r   - Offset [2B:28]\r\rThe Prefetchable Base Upper 32 Bits and Prefetchable Limit Upper 32 Bits registers are optional extensions to the Prefetchable Memory Base and Prefetchable Memory Limit registers.
2B = Prefetchable base upper 32 bits\r   - Offset [2B:28]\r\rThe Prefetchable Base Upper 32 Bits and Prefetchable Limit Upper 32 Bits registers are optional extensions to the Prefetchable Memory Base and Prefetchable Memory Limit registers.
2C = Prefetchable limit upper 32 bits\r   - Offset [2F:2C]\r\rThe Prefetchable Base Upper 32 Bits and Prefetchable Limit Upper 32 Bits registers are optional extensions to the Prefetchable Memory Base and Prefetchable Memory Limit registers.
2D = Prefetchable limit upper 32 bits\r   - Offset [2F:2C]\r\rThe Prefetchable Base Upper 32 Bits and Prefetchable Limit Upper 32 Bits registers are optional extensions to the Prefetchable Memory Base and Prefetchable Memory Limit registers.
2E = Prefetchable limit upper 32 bits\r   - Offset [2F:2C]\r\rThe Prefetchable Base Upper 32 Bits and Prefetchable Limit Upper 32 Bits registers are optional extensions to the Prefetchable Memory Base and Prefetchable Memory Limit registers.
2F = Prefetchable limit upper 32 bits\r   - Offset [2F:2C]\r\rThe Prefetchable Base Upper 32 Bits and Prefetchable Limit Upper 32 Bits registers are optional extensions to the Prefetchable Memory Base and Prefetchable Memory Limit registers.
30 = I/O base upper 16 bits\r   - Offset [31:30]\r\rThe I/O Base Upper 16 Bits and I/O Limit Upper 16 Bits registers are optional extensions to the I/O Base and I/O Limit registers. If the I/O Base and I/O Limit registers indicate support for 16-bit I/O address decoding, then these registers are implemented as read-only registers which return zero when read. If 32-bit I/O addressing is supported, then these registers must be initialized by configuration software so default states are not specified.
31 = I/O base upper 16 bits\r   - Offset [31:30]\r\rThe I/O Base Upper 16 Bits and I/O Limit Upper 16 Bits registers are optional extensions to the I/O Base and I/O Limit registers. If the I/O Base and I/O Limit registers indicate support for 16-bit I/O address decoding, then these registers are implemented as read-only registers which return zero when read. If 32-bit I/O addressing is supported, then these registers must be initialized by configuration software so default states are not specified.
32 = I/O limit upper 16 bits\r   - Offset [33:32]\r\rThe I/O Base Upper 16 Bits and I/O Limit Upper 16 Bits registers are optional extensions to the I/O Base and I/O Limit registers. If the I/O Base and I/O Limit registers indicate support for 16-bit I/O address decoding, then these registers are implemented as read-only registers which return zero when read. If 32-bit I/O addressing is supported, then these registers must be initialized by configuration software so default states are not specified.
33 = I/O limit upper 16 bits\r   - Offset [33:32]\r\rThe I/O Base Upper 16 Bits and I/O Limit Upper 16 Bits registers are optional extensions to the I/O Base and I/O Limit registers. If the I/O Base and I/O Limit registers indicate support for 16-bit I/O address decoding, then these registers are implemented as read-only registers which return zero when read. If 32-bit I/O addressing is supported, then these registers must be initialized by configuration software so default states are not specified.
34 = Capabilities pointer\r\rThis optional register is used to point to a linked list of additional capabilities implemented by this device.
35 = Reserved - Offset [37:35]\r\rRead accesses to these registers must complete normally and return a value of zero after reset. However, if subsequently written, these registers may return an indeterminate value.
36 = Reserved - Offset [37:35]\r\rRead accesses to these registers must complete normally and return a value of zero after reset. However, if subsequently written, these registers may return an indeterminate value.
37 = Reserved - Offset [37:35]\r\rRead accesses to these registers must complete normally and return a value of zero after reset. However, if subsequently written, these registers may return an indeterminate value.
38 = Expansion ROM base Address\r   - Offset [3B:38]\r B0 = 1 - Expansion ROM enabled\r B10:1 - Reserved\r B31:11 - base address
39 = Expansion ROM base Address\r   - Offset [3B:38]\r B0 = 1 - Expansion ROM enabled\r B10:1 - Reserved\r B31:11 - base address
3A = Expansion ROM base Address\r   - Offset [3B:38]\r B0 = 1 - Expansion ROM enabled\r B10:1 - Reserved\r B31:11 - base address
3B = Expansion ROM base Address\r   - Offset [3B:38]\r B0 = 1 - Expansion ROM enabled\r B10:1 - Reserved\r B31:11 - base address
3C = Interrupt line\r\rThe Interrupt Line register is a read/write register used to communicate interrupt line routing information between initialization code and the device driver. This register must be initialized by initialization code so a default state is not specified. The value written to the Interrupt Line register specifies the routing of the deviceˇ¦s INTx# pin to the system interrupt controller.
3D = Interrupr pin\r\rThe Interrupt Pin register is used to indicate which interrupt pin the bridge uses. A value of 1 corresponds to INTA#; a value of 2 corresponds to INTB#; a value of 3 corresponds to INTC#; and a value of 4 corresponds to INTD#.
3E = Bridge control - Offset [3F:3E]\r B0 - Parity Error Response Enable\r B1 - SERR# Enable\r B2 - ISA Enable\r B3 - VGA Enable\r B4 - VGA 16-bit decode\r B5 - Master-Abort Mode\r B6 - Secondary Bus Reset\r B7 - Fast Back-to-Back Enable\r B8 - Primary Discard Timer\r B9 - Secondary Discard Timer\r B10 - Discard Timer Status\r B11 - Discard Timer SERR# Enable\r B15:12 - Reserved
3F = Bridge control - Offset [3F:3E]\r B0 - Parity Error Response Enable\r B1 - SERR# Enable\r B2 - ISA Enable\r B3 - VGA Enable\r B4 - VGA 16-bit decode\r B5 - Master-Abort Mode\r B6 - Secondary Bus Reset\r B7 - Fast Back-to-Back Enable\r B8 - Primary Discard Timer\r B9 - Secondary Discard Timer\r B10 - Discard Timer Status\r B11 - Discard Timer SERR# Enable\r B15:12 - Reserved