feature (PCI): Added rest of subclass stringify data

This commit is contained in:
Eric-Paul Ickhorn 2023-04-25 22:28:10 +02:00
parent b3d06f829e
commit f8b70e4469
2 changed files with 154 additions and 70 deletions

View File

@ -155,7 +155,7 @@ typedef enum {
PCI_SUBCLASS_INFINIBAND_SERIAL_BUS_CONTROLLER = 0x06,
PCI_SUBCLASS_IPMI_INTERFACE = 0x07,
PCI_SUBCLASS_SERCOS_INTERFACE = 0x08,
PCI_SUBCLASS_CANBUS_CONTROOLLER = 0x09,
PCI_SUBCLASS_CANBUS_CONTROLLER = 0x09,
PCI_SUBCLASS_OTHER_SERIAL_BUS_CONTROLLER = 0x80
} pci_serial_bus_controller_subclasses_E;
@ -189,7 +189,7 @@ typedef enum {
typedef enum {
PCI_SUBCLASS_DPIO_MODULES = 0x00,
PCI_SUBCLASS_PERFORMANCE_COUTNERS = 0x01,
PCI_SUBCLASS_PERFORMANCE_COUNTERS = 0x01,
PCI_SUBCLASS_COMMUNICATION_SYNCHRONIZER = 0x10,
PCI_SUBCLASS_SIGNAL_PROCESSING_MANAGEMENT = 0x20,
PCI_SUBCLASS_OTHER_SIGNAL_PROCESSING_CONTROLLER = 0x80

View File

@ -137,7 +137,91 @@ string_t pci_get_subclass_string(pci_class_E class, uint8_t subclass) {
}
case PCI_CLASS_DOCKING_STATION: {
switch (subclass) {
case PCI_SUBCLASS_GENERIC_DOCKING_STATION: return "Generic Docking Station";
case PCI_SUBCLASS_OTHER_DOCKING_STATION: return "Other Docking Station";
default: break;
}
break;
}
case PCI_CLASS_PROCESSOR: {
switch (subclass) {
case PCI_SUBCLASS_386_PROCESSOR: return "386 Processor";
case PCI_SUBCLASS_486_PROCESSOR: return "486 Processor";
case PCI_SUBCLASS_PENTIUM_PROCESSOR: return "Pentium Processor";
case PCI_SUBCLASS_PENTIUM_PRO_PROCESSOR: return "Pentium Pro Processor";
case PCI_SUBCLASS_ALPHA_PROCESSOR: return "Alpha Processor";
case PCI_SUBCLASS_POWERPC_PROCESSOR: return "PowerPC Processor";
case PCI_SUBCLASS_MIPS_PROCESSOR: return "MIPS Processor";
case PCI_SUBCLASS_COPROCESSOR: return "Co-Processor";
case PCI_SUBCLASS_OTHER_PROCESSOR: return "Other Processor";
default: break;
}
break;
}
case PCI_CLASS_SERIAL_BUS_CONTROLLER: {
switch (subclass) {
case PCI_SUBCLASS_FIREWIRE_CONTROLLER: return "FireWire Controller";
case PCI_SUBCLASS_ACCESS_BUS_CONTROLLER: return "Access Bus Controller";
case PCI_SUBCLASS_SSA: return "SSA";
case PCI_SUBCLASS_USB_CONTROLLER: return "USB Controller";
case PCI_SUBCLASS_FIBRE_CHANNEL: return "Fibre Channel";
case PCI_SUBCLASS_SMBUS_CONTROLLER: return "SMBus Controller";
case PCI_SUBCLASS_INFINIBAND_SERIAL_BUS_CONTROLLER: return "InfiniBand Serial Bus Controller";
case PCI_SUBCLASS_IPMI_INTERFACE: return "IPMI Interface";
case PCI_SUBCLASS_SERCOS_INTERFACE: return "SERCOS Interface";
case PCI_SUBCLASS_CANBUS_CONTROLLER: return "CANBUS Controller";
case PCI_SUBCLASS_OTHER_SERIAL_BUS_CONTROLLER: return "Other Serial Bus Controller";
default: break;
}
break;
}
case PCI_CLASS_WIRELESS_CONTROLLER: {
switch (subclass) {
case PCI_SUBCLASS_IRDA_COMPATIBLE_CONTROLLER: return "IRDA-compatible Controller";
case PCI_SUBCLASS_CONSUMER_IR_CONTROLLER: return "Consumer IR Controller";
case PCI_SUBCLASS_RF_CONTROLLER: return "RF Controller";
case PCI_SUBCLASS_BLUETOOTH_CONTROLLER: return "Bluetooth Controller";
case PCI_SUBCLASS_BROADBAND_CONTROLLER: return "Broadband Controller";
case PCI_SUBCLASS_ETHERNET_CONTROLLER_802_1A: return "Ethernet 802.1a - Controller";
case PCI_SUBCLASS_ETHERNET_CONTROLLER_802_1B: return "Ethernet 802.1b - Controller";
case PCI_SUBCLASS_OTHER_WIRELESS_CONTROLLER: return "Other Wireless Controller";
default: break;
}
break;
}
case PCI_CLASS_INTELLIGENT_CONTROLLER: {
switch (subclass) {
case PCI_SUBCLASS_I20_INTELLIGENT_CONTROLLER: return "I20 Intelligent Controller";
default: break;
}
break;
}
case PCI_CLASS_SATELLITE_COMMUNICATION_CONTROLLER: {
switch (subclass) {
case PCI_SUBCLASS_SATELLITE_TV_CONTROLLER: return "TV Controller";
case PCI_SUBCLASS_SATELLITE_AUDIO_CONTROLLER: return "Audio Controller";
case PCI_SUBCLASS_SATELLITE_VOICE_CONTROLLER: return "Voice Controller";
case PCI_SUBCLASS_SATELLITE_DATA_CONTROLLER: return "Data Controller";
default: break;
}
break;
}
case PCI_CLASS_ENCRYPTION_CONTROLLER: {
switch (subclass) {
case PCI_SUBCLASS_NETWORK_AND_COMPUTING_ENCRYPTION_DECRYPTION: return "Network & Computing Encryption Controller";
case PCI_SUBCLASS_ENTERTAINMENT_ENCRYPTION_DECRYPTION: return "Entertainment Encryption Controller";
case PCI_SUBCLASS_OTHER_ENCRYPTION_CONTROLLER: return "Other Encryption Controller";
default: break;
}
break;
}
case PCI_CLASS_SIGNAL_PROCESSING_CONTROLLER: {
switch (subclass) {
case PCI_SUBCLASS_DPIO_MODULES: return "DPIO Modules";
case PCI_SUBCLASS_PERFORMANCE_COUNTERS: return "Performance Counter";
case PCI_SUBCLASS_COMMUNICATION_SYNCHRONIZER: return "Communication Synchronizer";
case PCI_SUBCLASS_SIGNAL_PROCESSING_MANAGEMENT: return "Signal Processing Management";
case PCI_SUBCLASS_OTHER_SIGNAL_PROCESSING_CONTROLLER: return "Other Signal Processor Controller";
default: break;
}
break;