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
24struct virtio_pmem_config {
25	__le64 start;
26	__le64 size;
27};
28
29#define VIRTIO_PMEM_REQ_TYPE_FLUSH      0
30
31struct virtio_pmem_resp {
32	/* Host return status corresponding to flush request */
33	__le32 ret;
34};
35
36struct virtio_pmem_req {
37	/* command type */
38	__le32 type;
39};
40
41#endif
42