On Wed, Jul 28, 2021 at 09:37:48AM -1000, Richard Henderson wrote: > On 6/15/21 7:55 AM, Peter Xu wrote: > > Add dirty ring test if kernel supports it. Add the dirty ring parameter on > > source should be mostly enough, but let's change the dest too to make them > > match always. > > > > Reviewed-by: Dr. David Alan Gilbert > > Signed-off-by: Peter Xu > > --- > > tests/qtest/migration-test.c | 58 ++++++++++++++++++++++++++++++++++-- > > 1 file changed, 55 insertions(+), 3 deletions(-) > > > > diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c > > index d9225f58d4d..9ef6b471353 100644 > > --- a/tests/qtest/migration-test.c > > +++ b/tests/qtest/migration-test.c > > @@ -27,6 +27,10 @@ > > #include "migration-helpers.h" > > #include "tests/migration/migration-test.h" > > +#if defined(__linux__) > > +#include "linux/kvm.h" > > +#endif > > This breaks the build for hosts that do not support kvm, e.g. sparc: > > > [2/3] Compiling C object tests/qtest/migration-test.p/migration-test.c.o > FAILED: tests/qtest/migration-test.p/migration-test.c.o > cc -Itests/qtest/migration-test.p -Itests/qtest -I../qemu/tests/qtest -I. > -Iqapi -Itrace -Iui -Iui/shader -I/usr/include/glib-2.0 > -I/usr/lib/sparc64-linux-gnu/glib-2.0/include -fdiagnostics-color=auto -pipe > -Wall -Winvalid-pch -Werror -std=gnu11 -O2 -g -isystem > /home/rth/qemu/qemu/linux-headers -isystem linux-headers -iquote . -iquote > /home/rth/qemu/qemu -iquote /home/rth/qemu/qemu/include -iquote > /home/rth/qemu/qemu/disas/libvixl -iquote /home/rth/qemu/qemu/tcg/sparc > -pthread -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -m64 -mcpu=ultrasparc > -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes > -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes > -fno-strict-aliasing -fno-common -fwrapv -Wold-style-declaration > -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k > -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs > -Wendif-labels -Wexpansion-to-defined -Wimplicit-fallthrough=2 > -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi -fPIE -MD -MQ > tests/qtest/migration-test.p/migration-test.c.o -MF > tests/qtest/migration-test.p/migration-test.c.o.d -o > tests/qtest/migration-test.p/migration-test.c.o -c > ../qemu/tests/qtest/migration-test.c > In file included from ../qemu/tests/qtest/migration-test.c:31: > /home/rth/qemu/qemu/linux-headers/linux/kvm.h:15:10: fatal error: asm/kvm.h: > No such file or directory > 15 | #include > | ^~~~~~~~~~~ > compilation terminated. Hi, Richard, Sorry for that. It's very weird that linux/kvm.h exists for all archs while it's not conditionally including asm/kvm.h only for the 5 supported archs, so any user app trying to include linux/kvm.h will fail for the rest. (while all references needed in this test is actually KVM_CHECK_EXTENSION, KVM_CAP_DIRTY_LOG_RING and both of them exist in linux/kvm.h not the asm one) A quick fix attached; would that work for us? Thanks, -- Peter Xu