Message ID | 20200929224355.1224017-13-philmd@redhat.com |
---|---|
State | New |
Headers | show |
Series | Support disabling TCG on ARM (part 2) | expand |
On 9/29/20 5:43 PM, Philippe Mathieu-Daudé wrote: > Add a job to build QEMU on Aarch64 with TCG disabled, so > this configuration won't bitrot over time. > > We explicitly modify default-configs/aarch64-softmmu.mak to > only select the 'virt' and 'SBSA-REF' machines. I really wish we didn't have to do this. Can't we e.g. *not* list all of the arm boards explicitly in default-configs, but use the Kconfig "default y if ..."? Seems like that would let --disable-tcg work as expected. One should still be able to create custom configs with e.g. CONFIG_EXYNOS4=n or CONIFIG_ARM_V4=n, correct? r~
On 03/10/2020 12.03, Richard Henderson wrote: > On 9/29/20 5:43 PM, Philippe Mathieu-Daudé wrote: >> Add a job to build QEMU on Aarch64 with TCG disabled, so >> this configuration won't bitrot over time. >> >> We explicitly modify default-configs/aarch64-softmmu.mak to >> only select the 'virt' and 'SBSA-REF' machines. > > I really wish we didn't have to do this. > > Can't we e.g. *not* list all of the arm boards explicitly in default-configs, > but use the Kconfig "default y if ..."? > > Seems like that would let --disable-tcg work as expected. > One should still be able to create custom configs with e.g. > CONFIG_EXYNOS4=n or CONIFIG_ARM_V4=n, correct? But that would be different from how we handle all other targets currently... IMHO we shoud go into a different direction instead, e.g. by adding a "--kconfig-dir" switch to the configure script. If it has not been specified, the configs will be read from default-configs/ (or maybe we should then rename it to configs/default/). But if the switch has been specified with a directory as parameter, the config files will be read from that directory instead. We could then have folders like: - configs/default (current default-configs) - configs/no-tcg (all machines that work without tcg) - configs/lean-kvm (for "nemu"-style minimalistic settings) etc. What do you think? Thomas
On 10/3/20 5:14 AM, Thomas Huth wrote: > On 03/10/2020 12.03, Richard Henderson wrote: >> On 9/29/20 5:43 PM, Philippe Mathieu-Daudé wrote: >>> Add a job to build QEMU on Aarch64 with TCG disabled, so >>> this configuration won't bitrot over time. >>> >>> We explicitly modify default-configs/aarch64-softmmu.mak to >>> only select the 'virt' and 'SBSA-REF' machines. >> >> I really wish we didn't have to do this. >> >> Can't we e.g. *not* list all of the arm boards explicitly in default-configs, >> but use the Kconfig "default y if ..."? >> >> Seems like that would let --disable-tcg work as expected. >> One should still be able to create custom configs with e.g. >> CONFIG_EXYNOS4=n or CONIFIG_ARM_V4=n, correct? > > But that would be different from how we handle all other targets currently... So? Does that automatically mean they're golden? Perhaps they should be doing it the other way around too. > IMHO we shoud go into a different direction instead, e.g. by adding a > "--kconfig-dir" switch to the configure script. If it has not been specified, > the configs will be read from default-configs/ (or maybe we should then rename > it to configs/default/). But if the switch has been specified with a directory > as parameter, the config files will be read from that directory instead. We > could then have folders like: > > - configs/default (current default-configs) > - configs/no-tcg (all machines that work without tcg) > - configs/lean-kvm (for "nemu"-style minimalistic settings) > > etc. > > What do you think? I don't really understand the suggestion. My first reaction is that this is more confusing than --disable-tcg, and trying to automatically dtrt with that. r~
diff --git a/.travis.yml b/.travis.yml index c75221dca3..cad65cf181 100644 --- a/.travis.yml +++ b/.travis.yml @@ -402,6 +402,41 @@ jobs: - CONFIG="--disable-containers --target-list=${MAIN_SOFTMMU_TARGETS}" - UNRELIABLE=true + - name: "[aarch64] GCC (disable-tcg)" + arch: arm64 + dist: bionic + addons: + apt_packages: + - libaio-dev + - libattr1-dev + - libcap-ng-dev + - libgcrypt20-dev + - libgnutls28-dev + - libiscsi-dev + - liblttng-ust-dev + - libnfs-dev + - libnss3-dev + - libpixman-1-dev + - libpng-dev + - librados-dev + - libseccomp-dev + - liburcu-dev + - libusb-1.0-0-dev + - libvdeplug-dev + - libvte-2.91-dev + # Tests dependencies + - genisoimage + env: + - CONFIG="--disable-containers --disable-tcg --enable-kvm --disable-tools" + - TEST_CMD="make check-unit" + - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-aarch64" + before_script: + # Only use the 'virt' and 'sbsa-ref' machine which don't need TCG. + - echo CONFIG_ARM_VIRT=y > default-configs/aarch64-softmmu.mak + - echo CONFIG_SBSA_REF=y >> default-configs/aarch64-softmmu.mak + - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} + - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; } + - name: "[ppc64] GCC check-tcg" arch: ppc64le dist: xenial
Add a job to build QEMU on Aarch64 with TCG disabled, so this configuration won't bitrot over time. We explicitly modify default-configs/aarch64-softmmu.mak to only select the 'virt' and 'SBSA-REF' machines. Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> --- Job ran for 7 min 30 sec https://travis-ci.org/github/philmd/qemu/jobs/731428859 --- .travis.yml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+)