ivshmem: Add header file

Common defines and structures for the ivshmem device.

Acked-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
This commit is contained in:
Jan Kiszka 2019-10-01 12:33:25 +02:00 committed by Peng Fan
parent 014f0b6109
commit 5d0c0395a6
1 changed files with 30 additions and 0 deletions

30
include/linux/ivshmem.h Normal file
View File

@ -0,0 +1,30 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef _LINUX_IVSHMEM_H
#define _LINUX_IVSHMEM_H
#include <linux/types.h>
#define IVSHM_PROTO_UNDEFINED 0x0000
#define IVSHM_PROTO_NET 0x0001
#define IVSHM_PROTO_VIRTIO_FRONT 0x8000
#define IVSHM_PROTO_VIRTIO_BACK 0xc000
#define IVSHM_PROTO_VIRTIO_DEVID_MASK 0x7fff
#define IVSHM_CFG_PRIV_CNTL 0x03
# define IVSHM_PRIV_CNTL_ONESHOT_INT BIT(0)
#define IVSHM_CFG_STATE_TAB_SZ 0x04
#define IVSHM_CFG_RW_SECTION_SZ 0x08
#define IVSHM_CFG_OUTPUT_SECTION_SZ 0x10
#define IVSHM_CFG_ADDRESS 0x18
struct ivshm_regs {
u32 id;
u32 max_peers;
u32 int_control;
u32 doorbell;
u32 state;
};
#define IVSHM_INT_ENABLE BIT(0)
#endif /* _LINUX_IVSHMEM_H */