0x40) and renumbered the satellite communication controllers.
* lib/header.h: Include `PCI hot-plug' and `Secure device'
- capabilities from PCI 3.0 specs.
+ capabilities from PCI 3.0 specs. Also added `SATA HBA' and
+ `Advanced features' caps from various ECN's.
* lspci.c: All known capabilities have at least their name displayed
now. When we are unable to decode them completely, we signalize it
Capabilities with partial decoding:
-- PCIe 2nd set of control/status registers
-- HyperTransport caps
+- PCIe 2nd set of control/status registers (have spec)
+- HyperTransport caps (have spec)
Capabilities with no decoding:
-- VPD
+- VPD (have spec)
- CompactPCI hot-swap
- CompactPCI central resource control
- AGP3
- Secure device
+- SATA HBA (have spec)
+- Advanced features (have spec)
- Advanced Error Reporting (ext'd)
- Virtual Channel (ext'd)
- Power Budgeting (ext'd)
#define PCI_CAP_ID_SECURE 0x0F /* Secure device (?) */
#define PCI_CAP_ID_EXP 0x10 /* PCI Express */
#define PCI_CAP_ID_MSIX 0x11 /* MSI-X */
+#define PCI_CAP_ID_SATA 0x12 /* Serial-ATA HBA */
+#define PCI_CAP_ID_AF 0x13 /* Advanced features of PCI devices integrated in PCIe root cplx */
#define PCI_CAP_LIST_NEXT 1 /* Next capability in the list */
#define PCI_CAP_FLAGS 2 /* Capability defined flags (16 bits) */
#define PCI_CAP_SIZEOF 4
case PCI_CAP_ID_MSIX:
cap_msix(d, where, cap);
break;
+ case PCI_CAP_ID_SATA:
+ printf("SATA HBA <?>\n");
+ break;
+ case PCI_CAP_ID_AF:
+ printf("PCIe advanced features <?>\n");
+ break;
default:
printf("#%02x [%04x]\n", id, cap);
}