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