qemu with hax to log dma reads & writes
jcs.org/2018/11/12/vfio
1/*
2 * RISC-V specific structures for linux-user
3 *
4 * This is a copy of ../aarch64/target_structs.h atm.
5 *
6 */
7#ifndef RISCV_TARGET_STRUCTS_H
8#define RISCV_TARGET_STRUCTS_H
9
10struct target_ipc_perm {
11 abi_int __key; /* Key. */
12 abi_uint uid; /* Owner's user ID. */
13 abi_uint gid; /* Owner's group ID. */
14 abi_uint cuid; /* Creator's user ID. */
15 abi_uint cgid; /* Creator's group ID. */
16 abi_ushort mode; /* Read/write permission. */
17 abi_ushort __pad1;
18 abi_ushort __seq; /* Sequence number. */
19 abi_ushort __pad2;
20 abi_ulong __unused1;
21 abi_ulong __unused2;
22};
23
24struct target_shmid_ds {
25 struct target_ipc_perm shm_perm; /* operation permission struct */
26 abi_long shm_segsz; /* size of segment in bytes */
27 abi_ulong shm_atime; /* time of last shmat() */
28#if TARGET_ABI_BITS == 32
29 abi_ulong __unused1;
30#endif
31 abi_ulong shm_dtime; /* time of last shmdt() */
32#if TARGET_ABI_BITS == 32
33 abi_ulong __unused2;
34#endif
35 abi_ulong shm_ctime; /* time of last change by shmctl() */
36#if TARGET_ABI_BITS == 32
37 abi_ulong __unused3;
38#endif
39 abi_int shm_cpid; /* pid of creator */
40 abi_int shm_lpid; /* pid of last shmop */
41 abi_ulong shm_nattch; /* number of current attaches */
42 abi_ulong __unused4;
43 abi_ulong __unused5;
44};
45
46#endif