mirror of
https://github.com/Motorhead1991/qemu.git
synced 2026-01-08 15:37:44 -07:00
Add the infrastructure for building and invoking a decodetree decoder for the AArch32 VFP encodings. At the moment the new decoder covers nothing, so we always fall back to the existing hand-written decode. We need to have one decoder for the unconditional insns and one for the conditional insns, as otherwise the patterns for conditional insns would incorrectly match against the unconditional ones too. Since translate.c is over 14,000 lines long and we're going to be touching pretty much every line of the VFP code as part of the decodetree conversion, we create a new translate-vfp.inc.c to hold the code which deals with VFP in the new scheme. It should be possible to convert this into a standalone translation unit eventually, but the conversion process will be much simpler if we simply #include it midway through translate.c to start with. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
36 lines
1.4 KiB
Text
36 lines
1.4 KiB
Text
obj-y += arm-semi.o
|
|
obj-$(CONFIG_SOFTMMU) += machine.o psci.o arch_dump.o monitor.o
|
|
obj-$(CONFIG_KVM) += kvm.o
|
|
obj-$(call land,$(CONFIG_KVM),$(call lnot,$(TARGET_AARCH64))) += kvm32.o
|
|
obj-$(call land,$(CONFIG_KVM),$(TARGET_AARCH64)) += kvm64.o
|
|
obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o
|
|
obj-y += translate.o op_helper.o helper.o cpu.o
|
|
obj-y += neon_helper.o iwmmxt_helper.o vec_helper.o vfp_helper.o
|
|
obj-y += gdbstub.o
|
|
obj-$(TARGET_AARCH64) += cpu64.o translate-a64.o helper-a64.o gdbstub64.o
|
|
obj-$(TARGET_AARCH64) += pauth_helper.o
|
|
obj-y += crypto_helper.o
|
|
obj-$(CONFIG_SOFTMMU) += arm-powerctl.o
|
|
|
|
DECODETREE = $(SRC_PATH)/scripts/decodetree.py
|
|
|
|
target/arm/decode-sve.inc.c: $(SRC_PATH)/target/arm/sve.decode $(DECODETREE)
|
|
$(call quiet-command,\
|
|
$(PYTHON) $(DECODETREE) --decode disas_sve -o $@ $<,\
|
|
"GEN", $(TARGET_DIR)$@)
|
|
|
|
target/arm/decode-vfp.inc.c: $(SRC_PATH)/target/arm/vfp.decode $(DECODETREE)
|
|
$(call quiet-command,\
|
|
$(PYTHON) $(DECODETREE) --static-decode disas_vfp -o $@ $<,\
|
|
"GEN", $(TARGET_DIR)$@)
|
|
|
|
target/arm/decode-vfp-uncond.inc.c: $(SRC_PATH)/target/arm/vfp-uncond.decode $(DECODETREE)
|
|
$(call quiet-command,\
|
|
$(PYTHON) $(DECODETREE) --static-decode disas_vfp_uncond -o $@ $<,\
|
|
"GEN", $(TARGET_DIR)$@)
|
|
|
|
target/arm/translate-sve.o: target/arm/decode-sve.inc.c
|
|
target/arm/translate.o: target/arm/decode-vfp.inc.c
|
|
target/arm/translate.o: target/arm/decode-vfp-uncond.inc.c
|
|
|
|
obj-$(TARGET_AARCH64) += translate-sve.o sve_helper.o
|