xref: /linux/include/uapi/linux/virtio_ids.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1607ca46eSDavid Howells #ifndef _LINUX_VIRTIO_IDS_H
2607ca46eSDavid Howells #define _LINUX_VIRTIO_IDS_H
3607ca46eSDavid Howells /*
4607ca46eSDavid Howells  * Virtio IDs
5607ca46eSDavid Howells  *
6607ca46eSDavid Howells  * This header is BSD licensed so anyone can use the definitions to implement
7607ca46eSDavid Howells  * compatible drivers/servers.
8607ca46eSDavid Howells  *
9607ca46eSDavid Howells  * Redistribution and use in source and binary forms, with or without
10607ca46eSDavid Howells  * modification, are permitted provided that the following conditions
11607ca46eSDavid Howells  * are met:
12607ca46eSDavid Howells  * 1. Redistributions of source code must retain the above copyright
13607ca46eSDavid Howells  *    notice, this list of conditions and the following disclaimer.
14607ca46eSDavid Howells  * 2. Redistributions in binary form must reproduce the above copyright
15607ca46eSDavid Howells  *    notice, this list of conditions and the following disclaimer in the
16607ca46eSDavid Howells  *    documentation and/or other materials provided with the distribution.
17607ca46eSDavid Howells  * 3. Neither the name of IBM nor the names of its contributors
18607ca46eSDavid Howells  *    may be used to endorse or promote products derived from this software
19607ca46eSDavid Howells  *    without specific prior written permission.
20607ca46eSDavid Howells  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND
21607ca46eSDavid Howells  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22607ca46eSDavid Howells  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23607ca46eSDavid Howells  * ARE DISCLAIMED.  IN NO EVENT SHALL IBM OR CONTRIBUTORS BE LIABLE
24607ca46eSDavid Howells  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25607ca46eSDavid Howells  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26607ca46eSDavid Howells  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27607ca46eSDavid Howells  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28607ca46eSDavid Howells  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29607ca46eSDavid Howells  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30607ca46eSDavid Howells  * SUCH DAMAGE. */
31607ca46eSDavid Howells 
32607ca46eSDavid Howells #define VIRTIO_ID_NET			1 /* virtio net */
33607ca46eSDavid Howells #define VIRTIO_ID_BLOCK			2 /* virtio block */
34607ca46eSDavid Howells #define VIRTIO_ID_CONSOLE		3 /* virtio console */
35607ca46eSDavid Howells #define VIRTIO_ID_RNG			4 /* virtio rng */
36607ca46eSDavid Howells #define VIRTIO_ID_BALLOON		5 /* virtio balloon */
37be618636SEnrico Weigelt, metux IT consult #define VIRTIO_ID_IOMEM			6 /* virtio ioMemory */
38607ca46eSDavid Howells #define VIRTIO_ID_RPMSG			7 /* virtio remote processor messaging */
39607ca46eSDavid Howells #define VIRTIO_ID_SCSI			8 /* virtio scsi */
40607ca46eSDavid Howells #define VIRTIO_ID_9P			9 /* 9p virtio console */
41be618636SEnrico Weigelt, metux IT consult #define VIRTIO_ID_MAC80211_WLAN		10 /* virtio WLAN MAC */
421b637046SSjur Brændeland #define VIRTIO_ID_RPROC_SERIAL		11 /* virtio remoteproc serial link */
430d2e1a29SErwan Yvin #define VIRTIO_ID_CAIF			12 /* Virtio caif */
44be618636SEnrico Weigelt, metux IT consult #define VIRTIO_ID_MEMORY_BALLOON	13 /* virtio memory balloon */
45dc5698e8SDave Airlie #define VIRTIO_ID_GPU			16 /* virtio GPU */
46be618636SEnrico Weigelt, metux IT consult #define VIRTIO_ID_CLOCK			17 /* virtio clock/timer */
47271c8651SGerd Hoffmann #define VIRTIO_ID_INPUT			18 /* virtio input */
4806a8fc78SAsias He #define VIRTIO_ID_VSOCK			19 /* virtio vsock transport */
49dbaf0624SGonglei #define VIRTIO_ID_CRYPTO		20 /* virtio crypto */
50be618636SEnrico Weigelt, metux IT consult #define VIRTIO_ID_SIGNAL_DIST		21 /* virtio signal distribution device */
51be618636SEnrico Weigelt, metux IT consult #define VIRTIO_ID_PSTORE		22 /* virtio pstore device */
52edcd69abSJean-Philippe Brucker #define VIRTIO_ID_IOMMU			23 /* virtio IOMMU */
535f1f79bbSDavid Hildenbrand #define VIRTIO_ID_MEM			24 /* virtio mem */
540ae0337fSAnton Yakovlev #define VIRTIO_ID_SOUND			25 /* virtio sound */
55a62a8ef9SStefan Hajnoczi #define VIRTIO_ID_FS			26 /* virtio filesystem */
566e84200cSPankaj Gupta #define VIRTIO_ID_PMEM			27 /* virtio pmem */
57d5a8680dSViresh Kumar #define VIRTIO_ID_RPMB			28 /* virtio rpmb */
585d44fe7cSErel Geron #define VIRTIO_ID_MAC80211_HWSIM	29 /* virtio mac80211-hwsim */
59d5a8680dSViresh Kumar #define VIRTIO_ID_VIDEO_ENCODER		30 /* virtio video encoder */
60d5a8680dSViresh Kumar #define VIRTIO_ID_VIDEO_DECODER		31 /* virtio video decoder */
6146abe13bSIgor Skalkin #define VIRTIO_ID_SCMI			32 /* virtio SCMI */
62d5a8680dSViresh Kumar #define VIRTIO_ID_NITRO_SEC_MOD		33 /* virtio nitro secure module*/
633cfc8838SJie Deng #define VIRTIO_ID_I2C_ADAPTER		34 /* virtio i2c adapter */
64d5a8680dSViresh Kumar #define VIRTIO_ID_WATCHDOG		35 /* virtio watchdog */
65d5a8680dSViresh Kumar #define VIRTIO_ID_CAN			36 /* virtio can */
66d5a8680dSViresh Kumar #define VIRTIO_ID_DMABUF		37 /* virtio dmabuf */
67d5a8680dSViresh Kumar #define VIRTIO_ID_PARAM_SERV		38 /* virtio parameter server */
68d5a8680dSViresh Kumar #define VIRTIO_ID_AUDIO_POLICY		39 /* virtio audio policy */
69a83d9585SMarcel Holtmann #define VIRTIO_ID_BT			40 /* virtio bluetooth */
703a29355aSViresh Kumar #define VIRTIO_ID_GPIO			41 /* virtio gpio */
71607ca46eSDavid Howells 
72d61914eaSZhu Lingshan /*
73d61914eaSZhu Lingshan  * Virtio Transitional IDs
74d61914eaSZhu Lingshan  */
75d61914eaSZhu Lingshan 
76*7ff960a6SShunsuke Mie #define VIRTIO_TRANS_ID_NET		0x1000 /* transitional virtio net */
77*7ff960a6SShunsuke Mie #define VIRTIO_TRANS_ID_BLOCK		0x1001 /* transitional virtio block */
78*7ff960a6SShunsuke Mie #define VIRTIO_TRANS_ID_BALLOON		0x1002 /* transitional virtio balloon */
79*7ff960a6SShunsuke Mie #define VIRTIO_TRANS_ID_CONSOLE		0x1003 /* transitional virtio console */
80*7ff960a6SShunsuke Mie #define VIRTIO_TRANS_ID_SCSI		0x1004 /* transitional virtio SCSI */
81*7ff960a6SShunsuke Mie #define VIRTIO_TRANS_ID_RNG		0x1005 /* transitional virtio rng */
82*7ff960a6SShunsuke Mie #define VIRTIO_TRANS_ID_9P		0x1009 /* transitional virtio 9p console */
83d61914eaSZhu Lingshan 
84607ca46eSDavid Howells #endif /* _LINUX_VIRTIO_IDS_H */
85