GNU Linux-libre 6.9.2-gnu
[releases.git] / include / uapi / linux / virtio_pmem.h
1 /* SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause */
2 /*
3  * Definitions for virtio-pmem devices.
4  *
5  * Copyright (C) 2019 Red Hat, Inc.
6  *
7  * Author(s): Pankaj Gupta <pagupta@redhat.com>
8  */
9
10 #ifndef _UAPI_LINUX_VIRTIO_PMEM_H
11 #define _UAPI_LINUX_VIRTIO_PMEM_H
12
13 #include <linux/types.h>
14 #include <linux/virtio_ids.h>
15 #include <linux/virtio_config.h>
16
17 /* Feature bits */
18 /* guest physical address range will be indicated as shared memory region 0 */
19 #define VIRTIO_PMEM_F_SHMEM_REGION 0
20
21 /* shmid of the shared memory region corresponding to the pmem */
22 #define VIRTIO_PMEM_SHMEM_REGION_ID 0
23
24 struct virtio_pmem_config {
25         __le64 start;
26         __le64 size;
27 };
28
29 #define VIRTIO_PMEM_REQ_TYPE_FLUSH      0
30
31 struct virtio_pmem_resp {
32         /* Host return status corresponding to flush request */
33         __le32 ret;
34 };
35
36 struct virtio_pmem_req {
37         /* command type */
38         __le32 type;
39 };
40
41 #endif