On 6/8/21 10:44 AM, Philippe Mathieu-Daudé wrote: > Hi Alex, > > On 6/4/21 5:51 PM, Alex Bennée wrote: >> Hi, >> >> I have picked up the baton from Claudio to try and get the ARM >> re-factoring across the line. Most of the patches from Claudio remain >> unchanged and have just had minor fixups from re-basing against the >> moving target. I've done my best to make sure any fixes that have been >> made in the meantime weren't lost. >> >> I've included Phillipe's qtest_has_accel v7 patches (I had problems >> with v8) to aid in my aarch64 testing. I'm expecting them to be >> up-streamed by Phillipe in due course. I've also nabbed one of >> Phillipe's Kconfig tweaks to allow for target specific expression of >> some config variables. >> >> The main thing that enables the --disable-tcg build is the addition of >> --with-devices-FOO configure option which is a mechanism to override >> the existing default device configurations. The two that I've been >> testing are a 64 bit only build on x86: >> >> '../../configure' '--without-default-features' \ >> '--target-list=arm-softmmu,aarch64-softmmu' \ >> '--with-devices-aarch64=../../configs/aarch64-softmmu/64bit-only.mak' >> >> which results in the aarch64-softmmu build only supporting sbsa-ref, >> virt and xlnx-versal-virt. >> >> The second is a KVM only cross build: >> >> '../../configure' '--disable-docs' \ >> '--target-list=aarch64-softmmu' \ >> '--enable-kvm' '--disable-tcg' \ >> '--cross-prefix=aarch64-linux-gnu-' \ >> '--with-devices-aarch64=../../configs/aarch64-softmmu/virt-only.mak' >> >> Finally I've made a few minor Kconfig and testing tweaks before adding >> some gitlab coverage. As a result I was able to drop the Revert: idau >> patch because I can properly build an image without stray devices in >> the qtree. >> >> The following need review: >> >> - gitlab: defend the new stripped down arm64 configs >> - tests/qtest: make xlnx-can-test conditional on being configured >> - tests/qtest: split the cdrom-test into arm/aarch64 >> - hw/arm: add dependency on OR_IRQ for XLNX_VERSAL >> - target/arm: move CONFIG_V7M out of default-devices > > Without using --with-devices-aarch64, I'm getting: > > FAILED: libqemu-aarch64-softmmu.fa.p/target_arm_tcg_sysemu_m_helper.c.o > cc -Ilibqemu-aarch64-softmmu.fa.p -I. -I../.. -Itarget/arm > -I../../target/arm -I../../capstone/include/capstone -Iqapi -Itrace -Iui > -Iui/shader -I/usr/include/pixman-1 -I/usr/include/spice-server > -I/usr/include/spice-1 -I/usr/include/glib-2.0 > -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -fdiagnostics-color=auto > -pipe -Wall -Winvalid-pch -Werror -std=gnu99 -O2 -g -isystem > /home/phil/qemu/linux-headers -isystem linux-headers -iquote . -iquote > /home/phil/qemu -iquote /home/phil/qemu/include -iquote > /home/phil/qemu/disas/libvixl -pthread -U_FORTIFY_SOURCE > -D_FORTIFY_SOURCE=2 -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 -fstack-protector-strong -fPIE > -isystem../../linux-headers -isystemlinux-headers -DNEED_CPU_H > '-DCONFIG_TARGET="aarch64-softmmu-config-target.h"' > '-DCONFIG_DEVICES="aarch64-softmmu-config-devices.h"' -MD -MQ > libqemu-aarch64-softmmu.fa.p/target_arm_tcg_sysemu_m_helper.c.o -MF > libqemu-aarch64-softmmu.fa.p/target_arm_tcg_sysemu_m_helper.c.o.d -o > libqemu-aarch64-softmmu.fa.p/target_arm_tcg_sysemu_m_helper.c.o -c > ../../target/arm/tcg/sysemu/m_helper.c > In file included from ../../target/arm/tcg/sysemu/m_helper.c:12: > /home/phil/qemu/include/exec/helper-proto.h:41:10: fatal error: > trace/generated-helpers.h: No such file or directory > 41 | #include "trace/generated-helpers.h" > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ > compilation terminated. > > both --enable-xen and --disable-xen. > > Is that expected?
IIRC (this was looong ago) before this configuration was not buildable and Kconfig was erroring with something like: "dependency not satisfied: ARM_V7M select TCG"