mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2024-12-24 11:55:41 +00:00
9732ebba5c
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. Backports commit 78e138bc1f672c145ef6ace74617db00eebaa2ba from qemu
32 lines
1.2 KiB
Makefile
32 lines
1.2 KiB
Makefile
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-$(CONFIG_SOFTMMU) += psci.o
|
|
obj-$(TARGET_AARCH64) += cpu64.o translate-a64.o helper-a64.o unicorn_aarch64.o
|
|
obj-$(TARGET_AARCH64) += pauth_helper.o
|
|
obj-$(TARGET_ARM) += unicorn_arm.o
|
|
obj-y += crypto_helper.o
|
|
obj-y += 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
|