#------------------------------------------------------------------------------ # $File: pci_ids,v 1.1 2022/04/02 14:47:42 christos Exp $ # pci.ids: file(1) magic for PCI specific informations # # Vendor identification (ID) https://pci-ids.ucw.cz/v2.2/pci.ids # show hexadecimal PCI vendor identification in human readable text form 0 name PCI-vendor # ID vendor name #>0 uleshort =0x0f00 fOO >0 uleshort =0x1000 Broadcom >0 uleshort =0x1002 AMD/ATI >0 uleshort =0x1013 Cirrus Logic >0 uleshort =0x1014 IBM >0 uleshort =0x1022 AMD >0 uleshort =0x1050 Winbond >0 uleshort =0x105a Promise >0 uleshort =0x1095 Silicon >0 uleshort =0x10EC Realtek >0 uleshort =0x10de NVIDIA >0 uleshort =0x1106 VIA # Woodward McCoach, Inc. >0 uleshort =0x1231 Woodward # >0 uleshort =0x1234 Bochs >0 uleshort =0x15ad VMware >0 uleshort =0x1af4 Virtio >0 uleshort =0x1b36 QEMU >0 uleshort =0x1de1 Tekram # maybe also Promise? #>0 uleshort =0x4289 Promise #>0 uleshort =0x66a1 FOO >0 uleshort =0x8086 Intel >0 uleshort =0x9004 Adaptec # also Adaptec; but no example >0 uleshort =0x9005 Adaptec # for unknown/missing manufactors >0 default x UNKNOWN >>0 uleshort x (%#4.4x) # https://blog.ladsai.com/pci-configuration-space-class-code.html # Base class code https://wiki.osdev.org/PCI # show hexadecimal PCI class+sub+ProgIF identification in human readable text form 0 name PCI-class #>0 ubyte x CLASS=%x >0 ubyte x # Device was built prior definition of the class code field >>0 ubyte 0x00 PRIOR # Any device except for VGA-Compatible devices like: 2975BIOS.BIN Trm3x5.bin # BUT also NVidia44.bin vgabios-stdvga-bin.rom #>>>0 ubyte 0x00 NOT VGA # VGA-Compatible Device; NO EXAMPLE found here!! #>>>0 ubyte 0x01 VGA # like 4243.bin #>>>0 ubyte 0x04 SUB_CLASS_4 >>0 ubyte 0x01 storage controller # device sub-type and its definition is dependent upon the base-type code >>>1 ubyte 0x00 SCSI >>>1 ubyte 0x01 IDE >>>1 ubyte 0x02 Floppy >>>1 ubyte 0x03 IPI >>>0 ubyte 0x04 RAID >>>1 ubyte 0x05 ATA >>>1 ubyte 0x06 SATA >>>1 ubyte 0x07 SAS >>>1 ubyte 0x08 NVM # 4650_sr5.bin "PROMISE" "FT TX4650 Ary X" >>>1 ubyte 0x80 OTHER >>0 ubyte 0x02 network controller >>>1 ubyte 0x00 ethernet >>>1 ubyte 0x01 token ring >>>1 ubyte 0x02 FDDI >>>1 ubyte 0x03 ATM >>>1 ubyte 0x04 ISDN >>>1 ubyte 0x05 WorldFip # PICMG 2.14 Multi Computing >>>1 ubyte 0x06 PICMG >>>1 ubyte 0x80 OTHER >>0 ubyte 0x03 display controller >>0 ubyte 0x04 multimedia controller >>0 ubyte 0x05 memory controller >>0 ubyte 0x06 bridge device # Simple Communication Controllers >>0 ubyte 0x07 communication controller # Base System Peripherals >>0 ubyte 0x08 base peripheral # Input Devices >>0 ubyte 0x09 input device # Docking Stations >>0 ubyte 0x0A docking station >>0 ubyte 0x0B processor >>0 ubyte 0x0C serial bus controller >>0 ubyte 0x0D wireless controller # Intelligent I/O Controllers >>0 ubyte 0x0E I/O controller # Satellite Communication Controllers >>0 ubyte 0x0F satellite controller # Encryption/Decryption Controllers >>0 ubyte 0x10 encryption controller # Data Acquisition and Signal Processing Controllers >>0 ubyte 0x11 signal controller # Processing Accelerator >>0 ubyte 0x12 processing accelerator # Non-Essential Instrumentation >>0 ubyte 0x13 non-essential # reserved or unassigned >>0 default x # device does not fit any defined class; Unassigned Class (Vendor specific) >>>0 ubyte 0xFF UNASSIGNED # THIS SHOULD NOT HAPPEN! BUT CLASS=8f for Promise 4650_sr5.bin 8660_sr5.bin >>>0 default x RESERVED >>>>0 ubyte x (%#x) # Prog IF of PCI class code? # defines the specific device programming interface >2 ubyte >0 \b, ProgIF=%u