On 2/12/22 16:40, Thomas Huth wrote:
The header arget/arm/kvm-consts.h checks CONFIG_KVM which is marked as

typo "target"

poisoned in common code, so the files that include this header have to
be added to specific_ss and recompiled for each, qemu-system-arm and
qemu-system-aarch64. However, since the kvm headers are only optionally
used in kvm-constants.h for some sanity checks, we can additionally
check the NEED_CPU_H macro first to avoid the poisoned CONFIG_KVM macro,
so kvm-constants.h can also be used from "common" files (without the
sanity checks - which should be OK since they are still done from other
target-specific files instead). This way, and by adjusting some other
include statements in the related files here and there, we can move some
files from specific_ss into softmmu_ss, so that they only need to be
compiled once during the build process.

Cool!

Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>

Signed-off-by: Thomas Huth <th...@redhat.com>
---
  v2: Use NEED_CPU_H wrapper in kvm-consts.h instead of avoiding to include it

  include/hw/misc/xlnx-zynqmp-apu-ctrl.h |  2 +-
  target/arm/kvm-consts.h                |  8 ++++----
  hw/misc/imx6_src.c                     |  2 +-
  hw/misc/iotkit-sysctl.c                |  1 -
  hw/misc/meson.build                    | 11 +++++------
  5 files changed, 11 insertions(+), 13 deletions(-)

Reply via email to