1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef _LINUX_VIRTIO_MMIO_H
20 #define _LINUX_VIRTIO_MMIO_H
21 #define VIRTIO_MMIO_MAGIC_VALUE 0x000
22 #define VIRTIO_MMIO_VERSION 0x004
23 #define VIRTIO_MMIO_DEVICE_ID 0x008
24 #define VIRTIO_MMIO_VENDOR_ID 0x00c
25 #define VIRTIO_MMIO_DEVICE_FEATURES 0x010
26 #define VIRTIO_MMIO_DEVICE_FEATURES_SEL 0x014
27 #define VIRTIO_MMIO_DRIVER_FEATURES 0x020
28 #define VIRTIO_MMIO_DRIVER_FEATURES_SEL 0x024
29 #ifndef VIRTIO_MMIO_NO_LEGACY
30 #define VIRTIO_MMIO_GUEST_PAGE_SIZE 0x028
31 #endif
32 #define VIRTIO_MMIO_QUEUE_SEL 0x030
33 #define VIRTIO_MMIO_QUEUE_NUM_MAX 0x034
34 #define VIRTIO_MMIO_QUEUE_NUM 0x038
35 #ifndef VIRTIO_MMIO_NO_LEGACY
36 #define VIRTIO_MMIO_QUEUE_ALIGN 0x03c
37 #define VIRTIO_MMIO_QUEUE_PFN 0x040
38 #endif
39 #define VIRTIO_MMIO_QUEUE_READY 0x044
40 #define VIRTIO_MMIO_QUEUE_NOTIFY 0x050
41 #define VIRTIO_MMIO_INTERRUPT_STATUS 0x060
42 #define VIRTIO_MMIO_INTERRUPT_ACK 0x064
43 #define VIRTIO_MMIO_STATUS 0x070
44 #define VIRTIO_MMIO_QUEUE_DESC_LOW 0x080
45 #define VIRTIO_MMIO_QUEUE_DESC_HIGH 0x084
46 #define VIRTIO_MMIO_QUEUE_AVAIL_LOW 0x090
47 #define VIRTIO_MMIO_QUEUE_AVAIL_HIGH 0x094
48 #define VIRTIO_MMIO_QUEUE_USED_LOW 0x0a0
49 #define VIRTIO_MMIO_QUEUE_USED_HIGH 0x0a4
50 #define VIRTIO_MMIO_SHM_SEL 0x0ac
51 #define VIRTIO_MMIO_SHM_LEN_LOW 0x0b0
52 #define VIRTIO_MMIO_SHM_LEN_HIGH 0x0b4
53 #define VIRTIO_MMIO_SHM_BASE_LOW 0x0b8
54 #define VIRTIO_MMIO_SHM_BASE_HIGH 0x0bc
55 #define VIRTIO_MMIO_CONFIG_GENERATION 0x0fc
56 #define VIRTIO_MMIO_CONFIG 0x100
57 #define VIRTIO_MMIO_INT_VRING (1 << 0)
58 #define VIRTIO_MMIO_INT_CONFIG (1 << 1)
59 #endif
60