qemu with hax to log dma reads & writes
jcs.org/2018/11/12/vfio
1FROM fedora:27
2ENV PACKAGES \
3 ccache gettext git tar PyYAML sparse flex bison python3 bzip2 hostname \
4 gcc gcc-c++ llvm clang make perl which bc findutils glib2-devel \
5 libaio-devel pixman-devel zlib-devel libfdt-devel libasan libubsan \
6 bluez-libs-devel brlapi-devel bzip2-devel \
7 device-mapper-multipath-devel glusterfs-api-devel gnutls-devel \
8 gtk3-devel libattr-devel libcap-devel libcap-ng-devel libcurl-devel \
9 libjpeg-devel libpng-devel librbd-devel libssh2-devel libusbx-devel \
10 libxml2-devel lzo-devel ncurses-devel nettle-devel nss-devel \
11 numactl-devel SDL2-devel snappy-devel spice-server-devel \
12 systemtap-sdt-devel usbredir-devel virglrenderer-devel vte3-devel \
13 xen-devel \
14 mingw32-pixman mingw32-glib2 mingw32-gmp mingw32-SDL mingw32-pkg-config \
15 mingw32-gtk2 mingw32-gtk3 mingw32-gnutls mingw32-nettle mingw32-libtasn1 \
16 mingw32-libjpeg-turbo mingw32-libpng mingw32-curl mingw32-libssh2 \
17 mingw32-bzip2 \
18 mingw64-pixman mingw64-glib2 mingw64-gmp mingw64-SDL mingw64-pkg-config \
19 mingw64-gtk2 mingw64-gtk3 mingw64-gnutls mingw64-nettle mingw64-libtasn1 \
20 mingw64-libjpeg-turbo mingw64-libpng mingw64-curl mingw64-libssh2 \
21 mingw64-bzip2
22ENV QEMU_CONFIGURE_OPTS --python=/usr/bin/python3
23
24RUN dnf install -y $PACKAGES
25RUN rpm -q $PACKAGES | sort > /packages.txt
26ENV FEATURES mingw clang pyyaml asan