xref: /freebsd/sys/dev/virtio/pci/virtio_pci_var.h (revision d4eeb02986980bf33dd56c41ceb9fc5f180c0d47)
1 /*-
2  * SPDX-License-Identifier: BSD-3-Clause
3  *
4  * Copyright IBM Corp. 2007
5  *
6  * Authors:
7  *  Anthony Liguori  <aliguori@us.ibm.com>
8  *
9  * This header is BSD licensed so anyone can use the definitions to implement
10  * compatible drivers/servers.
11  *
12  * Redistribution and use in source and binary forms, with or without
13  * modification, are permitted provided that the following conditions
14  * are met:
15  * 1. Redistributions of source code must retain the above copyright
16  *    notice, this list of conditions and the following disclaimer.
17  * 2. Redistributions in binary form must reproduce the above copyright
18  *    notice, this list of conditions and the following disclaimer in the
19  *    documentation and/or other materials provided with the distribution.
20  * 3. Neither the name of IBM nor the names of its contributors
21  *    may be used to endorse or promote products derived from this software
22  *    without specific prior written permission.
23  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
25  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
26  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL IBM OR CONTRIBUTORS BE LIABLE
27  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33  * SUCH DAMAGE.
34  *
35  * $FreeBSD$
36  */
37 
38 #ifndef _VIRTIO_PCI_VAR_H
39 #define _VIRTIO_PCI_VAR_H
40 
41 /* VirtIO PCI vendor/device ID. */
42 #define VIRTIO_PCI_VENDORID	0x1AF4
43 #define VIRTIO_PCI_DEVICEID_MIN	0x1000
44 #define VIRTIO_PCI_DEVICEID_LEGACY_MAX	0x103F
45 #define VIRTIO_PCI_DEVICEID_MODERN_MIN	0x1040
46 #define VIRTIO_PCI_DEVICEID_MODERN_MAX	0x107F
47 
48 /* The bit of the ISR which indicates a device has an interrupt. */
49 #define VIRTIO_PCI_ISR_INTR	0x1
50 /* The bit of the ISR which indicates a device configuration change. */
51 #define VIRTIO_PCI_ISR_CONFIG	0x2
52 /* Vector value used to disable MSI for queue. */
53 #define VIRTIO_MSI_NO_VECTOR	0xFFFF
54 
55 #endif /* _VIRTIO_PCI_VAR_H */
56