qemu with hax to log dma reads & writes
jcs.org/2018/11/12/vfio
1FROM ubuntu:20.04
2ENV PACKAGES flex bison \
3 ccache \
4 clang-10\
5 gcc \
6 gettext \
7 git \
8 glusterfs-common \
9 libaio-dev \
10 libattr1-dev \
11 libbrlapi-dev \
12 libbz2-dev \
13 libcacard-dev \
14 libcap-ng-dev \
15 libcurl4-gnutls-dev \
16 libdrm-dev \
17 libepoxy-dev \
18 libfdt-dev \
19 libgbm-dev \
20 libgtk-3-dev \
21 libibverbs-dev \
22 libiscsi-dev \
23 libjemalloc-dev \
24 libjpeg-turbo8-dev \
25 liblzo2-dev \
26 libncurses5-dev \
27 libncursesw5-dev \
28 libnfs-dev \
29 libnss3-dev \
30 libnuma-dev \
31 libpixman-1-dev \
32 librados-dev \
33 librbd-dev \
34 librdmacm-dev \
35 libsasl2-dev \
36 libsdl2-dev \
37 libseccomp-dev \
38 libsnappy-dev \
39 libspice-protocol-dev \
40 libspice-server-dev \
41 libssh-dev \
42 libusb-1.0-0-dev \
43 libusbredirhost-dev \
44 libvdeplug-dev \
45 libvte-2.91-dev \
46 libxen-dev \
47 libzstd-dev \
48 make \
49 python3-yaml \
50 python3-sphinx \
51 sparse \
52 texinfo \
53 xfslibs-dev\
54 vim
55RUN apt-get update && \
56 DEBIAN_FRONTEND=noninteractive apt-get -y install $PACKAGES
57RUN dpkg -l $PACKAGES | sort > /packages.txt
58ENV FEATURES clang tsan pyyaml sdl2
59
60# https://bugs.launchpad.net/qemu/+bug/1838763
61ENV QEMU_CONFIGURE_OPTS --disable-libssh
62
63# Apply patch https://reviews.llvm.org/D75820
64# This is required for TSan in clang-10 to compile with QEMU.
65RUN sed -i 's/^const/static const/g' /usr/lib/llvm-10/lib/clang/10.0.0/include/sanitizer/tsan_interface.h