78e138bc1f
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>
37 lines
1.4 KiB
Makefile
37 lines
1.4 KiB
Makefile
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
|