xref: /linux/include/uapi/linux/virtio_pmem.h (revision f0b7a0d1d46625db5b0e631c05ae96d78eda6c70)
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
42