1 /* 2 * This header was generated from the Linux kernel headers by update_headers.py, 3 * to provide necessary information from kernel to userspace, such as constants, 4 * structures, and macros, and thus, contains no copyrightable information. 5 */ 6 #ifndef _LINUX_VIRTIO_MMIO_H 7 #define _LINUX_VIRTIO_MMIO_H 8 #define VIRTIO_MMIO_MAGIC_VALUE 0x000 9 #define VIRTIO_MMIO_VERSION 0x004 10 #define VIRTIO_MMIO_DEVICE_ID 0x008 11 #define VIRTIO_MMIO_VENDOR_ID 0x00c 12 #define VIRTIO_MMIO_DEVICE_FEATURES 0x010 13 #define VIRTIO_MMIO_DEVICE_FEATURES_SEL 0x014 14 #define VIRTIO_MMIO_DRIVER_FEATURES 0x020 15 #define VIRTIO_MMIO_DRIVER_FEATURES_SEL 0x024 16 #ifndef VIRTIO_MMIO_NO_LEGACY 17 #define VIRTIO_MMIO_GUEST_PAGE_SIZE 0x028 18 #endif 19 #define VIRTIO_MMIO_QUEUE_SEL 0x030 20 #define VIRTIO_MMIO_QUEUE_NUM_MAX 0x034 21 #define VIRTIO_MMIO_QUEUE_NUM 0x038 22 #ifndef VIRTIO_MMIO_NO_LEGACY 23 #define VIRTIO_MMIO_QUEUE_ALIGN 0x03c 24 #define VIRTIO_MMIO_QUEUE_PFN 0x040 25 #endif 26 #define VIRTIO_MMIO_QUEUE_READY 0x044 27 #define VIRTIO_MMIO_QUEUE_NOTIFY 0x050 28 #define VIRTIO_MMIO_INTERRUPT_STATUS 0x060 29 #define VIRTIO_MMIO_INTERRUPT_ACK 0x064 30 #define VIRTIO_MMIO_STATUS 0x070 31 #define VIRTIO_MMIO_QUEUE_DESC_LOW 0x080 32 #define VIRTIO_MMIO_QUEUE_DESC_HIGH 0x084 33 #define VIRTIO_MMIO_QUEUE_AVAIL_LOW 0x090 34 #define VIRTIO_MMIO_QUEUE_AVAIL_HIGH 0x094 35 #define VIRTIO_MMIO_QUEUE_USED_LOW 0x0a0 36 #define VIRTIO_MMIO_QUEUE_USED_HIGH 0x0a4 37 #define VIRTIO_MMIO_CONFIG_GENERATION 0x0fc 38 #define VIRTIO_MMIO_CONFIG 0x100 39 #define VIRTIO_MMIO_INT_VRING (1 << 0) 40 #define VIRTIO_MMIO_INT_CONFIG (1 << 1) 41 #endif 42