qemu-e2k/include
Emilio G. Cota 2dda635410 qom: move CPUClass.tcg_initialize to a global
55c3cee ("qom: Introduce CPUClass.tcg_initialize", 2017-10-24)
introduces a per-CPUClass bool that we check so that the target CPU
is initialized for TCG only once. This works well except when
we end up creating more than one CPUClass, in which case we end
up incorrectly initializing TCG more than once, i.e. once for
each CPUClass.

This can be replicated with:
  $ aarch64-softmmu/qemu-system-aarch64 -machine xlnx-zcu102 -smp 6 \
      -global driver=xlnx,,zynqmp,property=has_rpu,value=on
In this case the class name of the "RPUs" is prefixed by "cortex-r5-",
whereas the "regular" CPUs are prefixed by "cortex-a53-". This
results in two CPUClass instances being created.

Fix it by introducing a static variable, so that only the first
target CPU being initialized will initialize the target-dependent
part of TCG, regardless of CPUClass instances.

Fixes: 55c3ceef61
Signed-off-by: Emilio G. Cota <cota@braap.org>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Alistair Francis <alistair.francis@xilinx.com>
Message-id: 1510343626-25861-2-git-send-email-cota@braap.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2017-11-13 13:55:25 +00:00
..
block nbd: Fix struct name for structured reads 2017-11-09 10:17:12 -06:00
chardev chardev: remove context in chr_update_read_handler 2017-09-22 21:07:27 +02:00
crypto block: convert qcrypto_block_encrypt|decrypt to take bytes offset 2017-10-06 16:30:47 +02:00
disas disas: Dump insn bytes along with capstone disassembly 2017-11-09 08:46:38 +01:00
exec Capstone disassembler 2017-10-27 08:04:51 +01:00
fpu
hw pci-assign: Remove 2017-11-05 14:52:10 +01:00
io io: get rid of bounce buffering in websock write path 2017-10-16 16:57:08 +01:00
libdecnumber
migration migration: check pre_save return in vmstate_save_state 2017-09-27 11:36:31 +01:00
monitor
net
qapi
qemu osdep: introduce qemu_mprotect_rwx/none 2017-10-24 13:53:42 -07:00
qom qom: move CPUClass.tcg_initialize to a global 2017-11-13 13:55:25 +00:00
scsi scsi: add multipath support to qemu-pr-helper 2017-09-22 21:07:27 +02:00
standard-headers linux-headers: sync against v4.14-rc1 2017-09-29 10:58:31 +02:00
sysemu tpm: add missing include 2017-10-24 13:37:13 -04:00
ui ui: opengl updates for dma-buf support. 2017-10-19 12:09:53 +01:00
elf.h tcg/s390: Use constant pool for movi 2017-09-07 11:57:35 -07:00
glib-compat.h glib-compat: move G_SOURCE_CONTINUE/REMOVE there 2017-10-10 16:33:55 +02:00
qemu-common.h
qemu-io.h
trace-tcg.h