github.com/mvdan/u-root-coreutils@v0.0.0-20230122170626-c2eef2898555/pkg/pci/class.go (about) 1 // Copyright 2021 the u-root Authors. All rights reserved 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package pci 6 7 // Class definitions for PCI. 8 const ( 9 ClassNotDefined = 0x0000 10 ClassNotDefinedVGA = 0x0001 11 12 ClassStorage = 0x01 13 ClassStorageSCSI = 0x0100 14 ClassStorageIDE = 0x0101 15 ClassStorageFLOPPY = 0x0102 16 ClassStorageIPI = 0x0103 17 ClassStorageRAID = 0x0104 18 ClassStorageATA = 0x0105 19 ClassStorageSATA = 0x0106 20 ClassStorageSAS = 0x0107 21 ClassStorageOther = 0x0180 22 23 ClassNetwork = 0x02 24 ClassNetworkEthernet = 0x0200 25 ClassNetworkOther = 0x0280 26 27 ClassDisplay = 0x03 28 ClassDisplayVGA = 0x0300 29 ClassDisplayXGA = 0x0301 30 ClassDisplay3D = 0x0302 31 ClassDisplayOther = 0x0380 32 33 ClassMultimedia = 0x04 34 ClassMultimediaVideo = 0x0400 35 ClassMultimediaAudio = 0x0401 36 ClassMultimediaPhone = 0x0402 37 ClassMultimediaAudioDev = 0x0403 38 ClassMultimediaOther = 0x0480 39 40 ClassMemory = 0x05 41 ClassMemoryRAM = 0x0500 42 ClassMemoryFLASH = 0x0501 43 ClassMemoryOther = 0x0580 44 45 ClassBridge = 0x06 46 ClassBridgeHost = 0x0600 47 ClassBridgeISA = 0x0601 48 ClassBridgeEISA = 0x0602 49 ClassBridgeMC = 0x0603 50 ClassBridgePCI = 0x0604 51 ClassBridgePCMCIA = 0x0605 52 ClassBridgeNUBUS = 0x0606 53 ClassBridgeCARDBUS = 0x0607 54 ClassBridgeRACEWAY = 0x0608 55 ClassBridgePCISemi = 0x0609 56 ClassBridgeIBToPCI = 0x060a 57 ClassBridgeOther = 0x0680 58 59 ClassCommunication = 0x07 60 ClassCommunicationSerial = 0x0700 61 ClassCommunicationParallel = 0x0701 62 ClassCommunicationMSerial = 0x0702 63 ClassCommunicationModem = 0x0703 64 ClassCommunicationOther = 0x0780 65 66 ClassSystem = 0x08 67 ClassSystemPIC = 0x0800 68 ClassSystemDMA = 0x0801 69 ClassSystemTimer = 0x0802 70 ClassSystemRTC = 0x0803 71 ClassSystemPCIHotplug = 0x0804 72 ClassSystemOther = 0x0880 73 74 ClassInput = 0x09 75 ClassInputKeyboard = 0x0900 76 ClassInputPen = 0x0901 77 ClassInputMouse = 0x0902 78 ClassInputScanner = 0x0903 79 ClassInputGameport = 0x0904 80 ClassInputOther = 0x0980 81 82 ClassDocking = 0x0a 83 ClassDockingGeneric = 0x0a00 84 ClassDockingOther = 0x0a80 85 86 ClassProcessor = 0x0b 87 ClassProcessor386 = 0x0b00 88 ClassProcessor486 = 0x0b01 89 ClassProcessorPentium = 0x0b02 90 ClassProcessorALPHA = 0x0b10 91 ClassProcessorPOWERPC = 0x0b20 92 ClassProcessorMIPS = 0x0b30 93 ClassProcessorCO = 0x0b40 94 95 ClassSerial = 0x0c 96 ClassSerialFirewire = 0x0c00 97 ClassSerialAccess = 0x0c01 98 ClassSerialSSA = 0x0c02 99 ClassSerialUSB = 0x0c03 100 ClassSerialFIBER = 0x0c04 101 ClassSerialSMBUS = 0x0c05 102 ClassSerialINFINIBAND = 0x0c06 103 104 ClassWireless = 0x0d 105 ClassWirelessIRDA = 0x0d00 106 ClassWirelessCONSUMERIR = 0x0d01 107 ClassWirelessRF = 0x0d10 108 ClassWirelessOther = 0x0d80 109 110 ClassSatellite = 0x0f 111 ClassSatelliteTV = 0x0f00 112 ClassSatelliteAudio = 0x0f01 113 ClassSatelliteVoice = 0x0f03 114 ClassSatelliteData = 0x0f04 115 116 ClassCrypt = 0x10 117 ClassCryptNetwork = 0x1000 118 ClassCryptEntertainment = 0x1010 119 ClassCryptOther = 0x1080 120 121 ClassSignal = 0x11 122 ClassSignalDPIO = 0x1100 123 ClassSignalPERFCTR = 0x1101 124 ClassSignalSynchronizer = 0x1110 125 ClassSignalOther = 0x1180 126 127 ClassOthers = 0xff 128 ) 129 130 // ClassNames maps class names from PCI sysfs to a name. 131 var ClassNames = map[uint32]string{ 132 0x000000: "NotDefined", 133 0x000100: "NotDefinedVGA", 134 135 0x01: "Storage", 136 0x010000: "StorageSCSI", 137 0x010100: "StorageIDE", 138 0x010200: "StorageFLOPPY", 139 0x010300: "StorageIPI", 140 0x010400: "StorageRAID", 141 0x010500: "StorageATA", 142 0x010600: "StorageSATA", 143 0x010700: "StorageSAS", 144 0x018000: "StorageOther", 145 146 0x02: "Network", 147 0x020000: "NetworkEthernet", 148 0x028000: "NetworkOther", 149 150 0x03: "Display", 151 0x030000: "DisplayVGA", 152 0x030100: "DisplayXGA", 153 0x030200: "Display3D", 154 0x038000: "DisplayOther", 155 156 0x04: "Multimedia", 157 0x040000: "MultimediaVideo", 158 0x040100: "MultimediaAudio", 159 0x040200: "MultimediaPhone", 160 0x040300: "MultimediaAudioDev", 161 0x048000: "MultimediaOther", 162 163 0x05: "Memory", 164 0x050000: "MemoryRAM", 165 0x050100: "MemoryFLASH", 166 0x058000: "MemoryOther", 167 168 0x06: "Bridge", 169 0x060000: "BridgeHost", 170 0x060100: "BridgeISA", 171 0x060200: "BridgeEISA", 172 0x060300: "BridgeMC", 173 0x060400: "BridgePCI", 174 0x060500: "BridgePCMCIA", 175 0x060600: "BridgeNUBUS", 176 0x060700: "BridgeCARDBUS", 177 0x060800: "BridgeRACEWAY", 178 0x060900: "BridgePCISemi", 179 0x060a00: "BridgeIBToPCI", 180 0x068000: "BridgeOther", 181 182 0x07: "Communication", 183 0x070000: "CommunicationSerial", 184 0x070100: "CommunicationParallel", 185 0x070200: "CommunicationMSerial", 186 0x070300: "CommunicationModem", 187 0x078000: "CommunicationOther", 188 189 0x08: "System", 190 0x080000: "SystemPIC", 191 0x080100: "SystemDMA", 192 0x080200: "SystemTimer", 193 0x080300: "SystemRTC", 194 0x080400: "SystemPCIHotplug", 195 0x088000: "SystemOther", 196 197 0x09: "Input", 198 0x090000: "InputKeyboard", 199 0x090100: "InputPen", 200 0x090200: "InputMouse", 201 0x090300: "InputScanner", 202 0x090400: "InputGameport", 203 0x098000: "InputOther", 204 205 0x0a: "Docking", 206 0x0a0000: "DockingGeneric", 207 0x0a8000: "DockingOther", 208 209 0x0b: "Processor", 210 0x0b0000: "Processor386", 211 0x0b0100: "Processor486", 212 0x0b0200: "ProcessorPentium", 213 0x0b1000: "ProcessorALPHA", 214 0x0b2000: "ProcessorPOWERPC", 215 0x0b3000: "ProcessorMIPS", 216 0x0b4000: "ProcessorCO", 217 218 0x0c: "Serial", 219 0x0c0000: "SerialFirewire", 220 0x0c0100: "SerialAccess", 221 0x0c0200: "SerialSSA", 222 0x0c0300: "SerialUSB", 223 0x0c0400: "SerialFIBER", 224 0x0c0500: "SerialSMBUS", 225 0x0c0600: "SerialINFINIBAND", 226 227 0x0d: "Wireless", 228 0x0d0000: "WirelessIRDA", 229 0x0d0100: "WirelessCONSUMERIR", 230 0x0d1000: "WirelessRF", 231 0x0d8000: "WirelessOther", 232 233 0x0f: "Satellite", 234 0x0f0000: "SatelliteTV", 235 0x0f0100: "SatelliteAudio", 236 0x0f0300: "SatelliteVoice", 237 0x0f0400: "SatelliteData", 238 239 0x10: "Crypt", 240 0x100000: "CryptNetwork", 241 0x101000: "CryptEntertainment", 242 0x108000: "CryptOther", 243 244 0x11: "Signal", 245 0x110000: "SignalDPIO", 246 0x110100: "SignalPERFCTR", 247 0x111000: "SignalSynchronizer", 248 0x118000: "SignalOther", 249 250 0xff: "Others", 251 }