xref: /dflybsd-src/contrib/file/magic/Magdir/pci_ids (revision 739f0ef867128a933e021db3d831e906fcafd825)
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