xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/virtio_mem.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef _LINUX_VIRTIO_MEM_H
8*8d67ca89SAndroid Build Coastguard Worker #define _LINUX_VIRTIO_MEM_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #include <linux/virtio_types.h>
11*8d67ca89SAndroid Build Coastguard Worker #include <linux/virtio_ids.h>
12*8d67ca89SAndroid Build Coastguard Worker #include <linux/virtio_config.h>
13*8d67ca89SAndroid Build Coastguard Worker #define VIRTIO_MEM_F_ACPI_PXM 0
14*8d67ca89SAndroid Build Coastguard Worker #define VIRTIO_MEM_F_UNPLUGGED_INACCESSIBLE 1
15*8d67ca89SAndroid Build Coastguard Worker #define VIRTIO_MEM_F_PERSISTENT_SUSPEND 2
16*8d67ca89SAndroid Build Coastguard Worker #define VIRTIO_MEM_REQ_PLUG 0
17*8d67ca89SAndroid Build Coastguard Worker #define VIRTIO_MEM_REQ_UNPLUG 1
18*8d67ca89SAndroid Build Coastguard Worker #define VIRTIO_MEM_REQ_UNPLUG_ALL 2
19*8d67ca89SAndroid Build Coastguard Worker #define VIRTIO_MEM_REQ_STATE 3
20*8d67ca89SAndroid Build Coastguard Worker struct virtio_mem_req_plug {
21*8d67ca89SAndroid Build Coastguard Worker   __virtio64 addr;
22*8d67ca89SAndroid Build Coastguard Worker   __virtio16 nb_blocks;
23*8d67ca89SAndroid Build Coastguard Worker   __virtio16 padding[3];
24*8d67ca89SAndroid Build Coastguard Worker };
25*8d67ca89SAndroid Build Coastguard Worker struct virtio_mem_req_unplug {
26*8d67ca89SAndroid Build Coastguard Worker   __virtio64 addr;
27*8d67ca89SAndroid Build Coastguard Worker   __virtio16 nb_blocks;
28*8d67ca89SAndroid Build Coastguard Worker   __virtio16 padding[3];
29*8d67ca89SAndroid Build Coastguard Worker };
30*8d67ca89SAndroid Build Coastguard Worker struct virtio_mem_req_state {
31*8d67ca89SAndroid Build Coastguard Worker   __virtio64 addr;
32*8d67ca89SAndroid Build Coastguard Worker   __virtio16 nb_blocks;
33*8d67ca89SAndroid Build Coastguard Worker   __virtio16 padding[3];
34*8d67ca89SAndroid Build Coastguard Worker };
35*8d67ca89SAndroid Build Coastguard Worker struct virtio_mem_req {
36*8d67ca89SAndroid Build Coastguard Worker   __virtio16 type;
37*8d67ca89SAndroid Build Coastguard Worker   __virtio16 padding[3];
38*8d67ca89SAndroid Build Coastguard Worker   union {
39*8d67ca89SAndroid Build Coastguard Worker     struct virtio_mem_req_plug plug;
40*8d67ca89SAndroid Build Coastguard Worker     struct virtio_mem_req_unplug unplug;
41*8d67ca89SAndroid Build Coastguard Worker     struct virtio_mem_req_state state;
42*8d67ca89SAndroid Build Coastguard Worker   } u;
43*8d67ca89SAndroid Build Coastguard Worker };
44*8d67ca89SAndroid Build Coastguard Worker #define VIRTIO_MEM_RESP_ACK 0
45*8d67ca89SAndroid Build Coastguard Worker #define VIRTIO_MEM_RESP_NACK 1
46*8d67ca89SAndroid Build Coastguard Worker #define VIRTIO_MEM_RESP_BUSY 2
47*8d67ca89SAndroid Build Coastguard Worker #define VIRTIO_MEM_RESP_ERROR 3
48*8d67ca89SAndroid Build Coastguard Worker #define VIRTIO_MEM_STATE_PLUGGED 0
49*8d67ca89SAndroid Build Coastguard Worker #define VIRTIO_MEM_STATE_UNPLUGGED 1
50*8d67ca89SAndroid Build Coastguard Worker #define VIRTIO_MEM_STATE_MIXED 2
51*8d67ca89SAndroid Build Coastguard Worker struct virtio_mem_resp_state {
52*8d67ca89SAndroid Build Coastguard Worker   __virtio16 state;
53*8d67ca89SAndroid Build Coastguard Worker };
54*8d67ca89SAndroid Build Coastguard Worker struct virtio_mem_resp {
55*8d67ca89SAndroid Build Coastguard Worker   __virtio16 type;
56*8d67ca89SAndroid Build Coastguard Worker   __virtio16 padding[3];
57*8d67ca89SAndroid Build Coastguard Worker   union {
58*8d67ca89SAndroid Build Coastguard Worker     struct virtio_mem_resp_state state;
59*8d67ca89SAndroid Build Coastguard Worker   } u;
60*8d67ca89SAndroid Build Coastguard Worker };
61*8d67ca89SAndroid Build Coastguard Worker struct virtio_mem_config {
62*8d67ca89SAndroid Build Coastguard Worker   __le64 block_size;
63*8d67ca89SAndroid Build Coastguard Worker   __le16 node_id;
64*8d67ca89SAndroid Build Coastguard Worker   __u8 padding[6];
65*8d67ca89SAndroid Build Coastguard Worker   __le64 addr;
66*8d67ca89SAndroid Build Coastguard Worker   __le64 region_size;
67*8d67ca89SAndroid Build Coastguard Worker   __le64 usable_region_size;
68*8d67ca89SAndroid Build Coastguard Worker   __le64 plugged_size;
69*8d67ca89SAndroid Build Coastguard Worker   __le64 requested_size;
70*8d67ca89SAndroid Build Coastguard Worker };
71*8d67ca89SAndroid Build Coastguard Worker #endif
72