1*3b9cdfa3SAntonio Huete Jimenez 2*3b9cdfa3SAntonio Huete Jimenez#------------------------------------------------------------------------------ 3*3b9cdfa3SAntonio Huete Jimenez# $File: pci_ids,v 1.1 2022/04/02 14:47:42 christos Exp $ 4*3b9cdfa3SAntonio Huete Jimenez# pci.ids: file(1) magic for PCI specific informations 5*3b9cdfa3SAntonio Huete Jimenez# 6*3b9cdfa3SAntonio Huete Jimenez 7*3b9cdfa3SAntonio Huete Jimenez# Vendor identification (ID) https://pci-ids.ucw.cz/v2.2/pci.ids 8*3b9cdfa3SAntonio Huete Jimenez# show hexadecimal PCI vendor identification in human readable text form 9*3b9cdfa3SAntonio Huete Jimenez0 name PCI-vendor 10*3b9cdfa3SAntonio Huete Jimenez# ID vendor name 11*3b9cdfa3SAntonio Huete Jimenez#>0 uleshort =0x0f00 fOO 12*3b9cdfa3SAntonio Huete Jimenez>0 uleshort =0x1000 Broadcom 13*3b9cdfa3SAntonio Huete Jimenez>0 uleshort =0x1002 AMD/ATI 14*3b9cdfa3SAntonio Huete Jimenez>0 uleshort =0x1013 Cirrus Logic 15*3b9cdfa3SAntonio Huete Jimenez>0 uleshort =0x1014 IBM 16*3b9cdfa3SAntonio Huete Jimenez>0 uleshort =0x1022 AMD 17*3b9cdfa3SAntonio Huete Jimenez>0 uleshort =0x1050 Winbond 18*3b9cdfa3SAntonio Huete Jimenez>0 uleshort =0x105a Promise 19*3b9cdfa3SAntonio Huete Jimenez>0 uleshort =0x1095 Silicon 20*3b9cdfa3SAntonio Huete Jimenez>0 uleshort =0x10EC Realtek 21*3b9cdfa3SAntonio Huete Jimenez>0 uleshort =0x10de NVIDIA 22*3b9cdfa3SAntonio Huete Jimenez>0 uleshort =0x1106 VIA 23*3b9cdfa3SAntonio Huete Jimenez# Woodward McCoach, Inc. 24*3b9cdfa3SAntonio Huete Jimenez>0 uleshort =0x1231 Woodward 25*3b9cdfa3SAntonio Huete Jimenez# 26*3b9cdfa3SAntonio Huete Jimenez>0 uleshort =0x1234 Bochs 27*3b9cdfa3SAntonio Huete Jimenez>0 uleshort =0x15ad VMware 28*3b9cdfa3SAntonio Huete Jimenez>0 uleshort =0x1af4 Virtio 29*3b9cdfa3SAntonio Huete Jimenez>0 uleshort =0x1b36 QEMU 30*3b9cdfa3SAntonio Huete Jimenez>0 uleshort =0x1de1 Tekram 31*3b9cdfa3SAntonio Huete Jimenez# maybe also Promise? 32*3b9cdfa3SAntonio Huete Jimenez#>0 uleshort =0x4289 Promise 33*3b9cdfa3SAntonio Huete Jimenez#>0 uleshort =0x66a1 FOO 34*3b9cdfa3SAntonio Huete Jimenez>0 uleshort =0x8086 Intel 35*3b9cdfa3SAntonio Huete Jimenez>0 uleshort =0x9004 Adaptec 36*3b9cdfa3SAntonio Huete Jimenez# also Adaptec; but no example 37*3b9cdfa3SAntonio Huete Jimenez>0 uleshort =0x9005 Adaptec 38*3b9cdfa3SAntonio Huete Jimenez# for unknown/missing manufactors 39*3b9cdfa3SAntonio Huete Jimenez>0 default x UNKNOWN 40*3b9cdfa3SAntonio Huete Jimenez>>0 uleshort x (%#4.4x) 41*3b9cdfa3SAntonio Huete Jimenez 42*3b9cdfa3SAntonio Huete Jimenez# https://blog.ladsai.com/pci-configuration-space-class-code.html 43*3b9cdfa3SAntonio Huete Jimenez# Base class code https://wiki.osdev.org/PCI 44*3b9cdfa3SAntonio Huete Jimenez# show hexadecimal PCI class+sub+ProgIF identification in human readable text form 45*3b9cdfa3SAntonio Huete Jimenez0 name PCI-class 46*3b9cdfa3SAntonio Huete Jimenez#>0 ubyte x CLASS=%x 47*3b9cdfa3SAntonio Huete Jimenez>0 ubyte x 48*3b9cdfa3SAntonio Huete Jimenez# Device was built prior definition of the class code field 49*3b9cdfa3SAntonio Huete Jimenez>>0 ubyte 0x00 PRIOR 50*3b9cdfa3SAntonio Huete Jimenez# Any device except for VGA-Compatible devices like: 2975BIOS.BIN Trm3x5.bin 51*3b9cdfa3SAntonio Huete Jimenez# BUT also NVidia44.bin vgabios-stdvga-bin.rom 52*3b9cdfa3SAntonio Huete Jimenez#>>>0 ubyte 0x00 NOT VGA 53*3b9cdfa3SAntonio Huete Jimenez# VGA-Compatible Device; NO EXAMPLE found here!! 54*3b9cdfa3SAntonio Huete Jimenez#>>>0 ubyte 0x01 VGA 55*3b9cdfa3SAntonio Huete Jimenez# like 4243.bin 56*3b9cdfa3SAntonio Huete Jimenez#>>>0 ubyte 0x04 SUB_CLASS_4 57*3b9cdfa3SAntonio Huete Jimenez>>0 ubyte 0x01 storage controller 58*3b9cdfa3SAntonio Huete Jimenez# device sub-type and its definition is dependent upon the base-type code 59*3b9cdfa3SAntonio Huete Jimenez>>>1 ubyte 0x00 SCSI 60*3b9cdfa3SAntonio Huete Jimenez>>>1 ubyte 0x01 IDE 61*3b9cdfa3SAntonio Huete Jimenez>>>1 ubyte 0x02 Floppy 62*3b9cdfa3SAntonio Huete Jimenez>>>1 ubyte 0x03 IPI 63*3b9cdfa3SAntonio Huete Jimenez>>>0 ubyte 0x04 RAID 64*3b9cdfa3SAntonio Huete Jimenez>>>1 ubyte 0x05 ATA 65*3b9cdfa3SAntonio Huete Jimenez>>>1 ubyte 0x06 SATA 66*3b9cdfa3SAntonio Huete Jimenez>>>1 ubyte 0x07 SAS 67*3b9cdfa3SAntonio Huete Jimenez>>>1 ubyte 0x08 NVM 68*3b9cdfa3SAntonio Huete Jimenez# 4650_sr5.bin "PROMISE" "FT TX4650 Ary X" 69*3b9cdfa3SAntonio Huete Jimenez>>>1 ubyte 0x80 OTHER 70*3b9cdfa3SAntonio Huete Jimenez>>0 ubyte 0x02 network controller 71*3b9cdfa3SAntonio Huete Jimenez>>>1 ubyte 0x00 ethernet 72*3b9cdfa3SAntonio Huete Jimenez>>>1 ubyte 0x01 token ring 73*3b9cdfa3SAntonio Huete Jimenez>>>1 ubyte 0x02 FDDI 74*3b9cdfa3SAntonio Huete Jimenez>>>1 ubyte 0x03 ATM 75*3b9cdfa3SAntonio Huete Jimenez>>>1 ubyte 0x04 ISDN 76*3b9cdfa3SAntonio Huete Jimenez>>>1 ubyte 0x05 WorldFip 77*3b9cdfa3SAntonio Huete Jimenez# PICMG 2.14 Multi Computing 78*3b9cdfa3SAntonio Huete Jimenez>>>1 ubyte 0x06 PICMG 79*3b9cdfa3SAntonio Huete Jimenez>>>1 ubyte 0x80 OTHER 80*3b9cdfa3SAntonio Huete Jimenez>>0 ubyte 0x03 display controller 81*3b9cdfa3SAntonio Huete Jimenez>>0 ubyte 0x04 multimedia controller 82*3b9cdfa3SAntonio Huete Jimenez>>0 ubyte 0x05 memory controller 83*3b9cdfa3SAntonio Huete Jimenez>>0 ubyte 0x06 bridge device 84*3b9cdfa3SAntonio Huete Jimenez# Simple Communication Controllers 85*3b9cdfa3SAntonio Huete Jimenez>>0 ubyte 0x07 communication controller 86*3b9cdfa3SAntonio Huete Jimenez# Base System Peripherals 87*3b9cdfa3SAntonio Huete Jimenez>>0 ubyte 0x08 base peripheral 88*3b9cdfa3SAntonio Huete Jimenez# Input Devices 89*3b9cdfa3SAntonio Huete Jimenez>>0 ubyte 0x09 input device 90*3b9cdfa3SAntonio Huete Jimenez# Docking Stations 91*3b9cdfa3SAntonio Huete Jimenez>>0 ubyte 0x0A docking station 92*3b9cdfa3SAntonio Huete Jimenez>>0 ubyte 0x0B processor 93*3b9cdfa3SAntonio Huete Jimenez>>0 ubyte 0x0C serial bus controller 94*3b9cdfa3SAntonio Huete Jimenez>>0 ubyte 0x0D wireless controller 95*3b9cdfa3SAntonio Huete Jimenez# Intelligent I/O Controllers 96*3b9cdfa3SAntonio Huete Jimenez>>0 ubyte 0x0E I/O controller 97*3b9cdfa3SAntonio Huete Jimenez# Satellite Communication Controllers 98*3b9cdfa3SAntonio Huete Jimenez>>0 ubyte 0x0F satellite controller 99*3b9cdfa3SAntonio Huete Jimenez# Encryption/Decryption Controllers 100*3b9cdfa3SAntonio Huete Jimenez>>0 ubyte 0x10 encryption controller 101*3b9cdfa3SAntonio Huete Jimenez# Data Acquisition and Signal Processing Controllers 102*3b9cdfa3SAntonio Huete Jimenez>>0 ubyte 0x11 signal controller 103*3b9cdfa3SAntonio Huete Jimenez# Processing Accelerator 104*3b9cdfa3SAntonio Huete Jimenez>>0 ubyte 0x12 processing accelerator 105*3b9cdfa3SAntonio Huete Jimenez# Non-Essential Instrumentation 106*3b9cdfa3SAntonio Huete Jimenez>>0 ubyte 0x13 non-essential 107*3b9cdfa3SAntonio Huete Jimenez# reserved or unassigned 108*3b9cdfa3SAntonio Huete Jimenez>>0 default x 109*3b9cdfa3SAntonio Huete Jimenez# device does not fit any defined class; Unassigned Class (Vendor specific) 110*3b9cdfa3SAntonio Huete Jimenez>>>0 ubyte 0xFF UNASSIGNED 111*3b9cdfa3SAntonio Huete Jimenez# THIS SHOULD NOT HAPPEN! BUT CLASS=8f for Promise 4650_sr5.bin 8660_sr5.bin 112*3b9cdfa3SAntonio Huete Jimenez>>>0 default x RESERVED 113*3b9cdfa3SAntonio Huete Jimenez>>>>0 ubyte x (%#x) 114*3b9cdfa3SAntonio Huete Jimenez# Prog IF of PCI class code? 115*3b9cdfa3SAntonio Huete Jimenez# defines the specific device programming interface 116*3b9cdfa3SAntonio Huete Jimenez>2 ubyte >0 \b, ProgIF=%u 117