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