summaryrefslogtreecommitdiffstats
path: root/sys/dev/pci/pci_subr.c
diff options
context:
space:
mode:
authorjsg <jsg@openbsd.org>2017-03-22 07:21:39 +0000
committerjsg <jsg@openbsd.org>2017-03-22 07:21:39 +0000
commit5cfaa52ff699400f3f394ab1afa3c8031291296f (patch)
treeb68254014d9f7f1e94d706af936f0648ab00cef9 /sys/dev/pci/pci_subr.c
parentAdd support for the strikethrough attribute (SGR 9), using the new smxx (diff)
downloadwireguard-openbsd-5cfaa52ff699400f3f394ab1afa3c8031291296f.tar.xz
wireguard-openbsd-5cfaa52ff699400f3f394ab1afa3c8031291296f.zip
Add some more PCI classes and subclasses. Checked against EDK2 as
"PCI Code and ID Assignment Specification" is only available for those willing to pay thousands of dollars for PDFs. Prompted by a dmesg from an AMD Zen system which uses class 0x13 (Non-Essential Instrumentation) and System subclass 0x06 (IOMMU). There is currently no public documentation for AMD family 17h to reference to see if this is sane. ok kettenis@ on an earlier version
Diffstat (limited to 'sys/dev/pci/pci_subr.c')
-rw-r--r--sys/dev/pci/pci_subr.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/dev/pci/pci_subr.c b/sys/dev/pci/pci_subr.c
index d6010180b87..b9fac31b422 100644
--- a/sys/dev/pci/pci_subr.c
+++ b/sys/dev/pci/pci_subr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pci_subr.c,v 1.21 2007/02/21 13:08:22 dlg Exp $ */
+/* $OpenBSD: pci_subr.c,v 1.22 2017/03/22 07:21:39 jsg Exp $ */
/* $NetBSD: pci_subr.c,v 1.19 1996/10/13 01:38:29 christos Exp $ */
/*
@@ -73,6 +73,7 @@ const struct pci_class pci_subclass_mass_storage[] = {
{ "ATA", PCI_SUBCLASS_MASS_STORAGE_ATA, },
{ "SATA", PCI_SUBCLASS_MASS_STORAGE_SATA, },
{ "SAS", PCI_SUBCLASS_MASS_STORAGE_SAS, },
+ { "UFS", PCI_SUBCLASS_MASS_STORAGE_UFS, },
{ "miscellaneous", PCI_SUBCLASS_MASS_STORAGE_MISC, },
{ 0 },
};
@@ -85,6 +86,7 @@ const struct pci_class pci_subclass_network[] = {
{ "ISDN", PCI_SUBCLASS_NETWORK_ISDN, },
{ "WorldFip", PCI_SUBCLASS_NETWORK_WORLDFIP, },
{ "PCMIG Multi Computing", PCI_SUBCLASS_NETWORK_PCIMGMULTICOMP, },
+ { "InfiniBand", PCI_SUBCLASS_NETWORK_INFINIBAND, },
{ "miscellaneous", PCI_SUBCLASS_NETWORK_MISC, },
{ 0 },
};
@@ -126,6 +128,7 @@ const struct pci_class pci_subclass_bridge[] = {
{ "Semi-transparent PCI", PCI_SUBCLASS_BRIDGE_STPCI, },
{ "InfiniBand", PCI_SUBCLASS_BRIDGE_INFINIBAND, },
{ "miscellaneous", PCI_SUBCLASS_BRIDGE_MISC, },
+ { "advanced switching", PCI_SUBCLASS_BRIDGE_AS, },
{ 0 },
};
@@ -147,6 +150,8 @@ const struct pci_class pci_subclass_system[] = {
{ "RTC", PCI_SUBCLASS_SYSTEM_RTC, },
{ "PCI Hot-Plug", PCI_SUBCLASS_SYSTEM_PCIHOTPLUG, },
{ "SD Host Controller", PCI_SUBCLASS_SYSTEM_SDHC, },
+ { "IOMMU", PCI_SUBCLASS_SYSTEM_IOMMU, },
+ { "root complex event", PCI_SUBCLASS_SYSTEM_ROOTCOMPEVENT, },
{ "miscellaneous", PCI_SUBCLASS_SYSTEM_MISC, },
{ 0 },
};
@@ -271,6 +276,10 @@ const struct pci_class pci_class[] = {
pci_subclass_crypto, },
{ "DASP", PCI_CLASS_DASP,
pci_subclass_dasp, },
+ { "accelerator", PCI_CLASS_ACCELERATOR,
+ NULL, },
+ { "instrumentation", PCI_CLASS_INSTRUMENTATION,
+ NULL, },
{ "undefined", PCI_CLASS_UNDEFINED,
0, },
{ 0 },