From 48fe7afe72defe979ffb6e11a61dd7628f70ea9e Mon Sep 17 00:00:00 2001 From: Lioncash Date: Mon, 22 Feb 2021 07:28:18 -0500 Subject: [PATCH] thumb32: Implement YIELD --- src/frontend/A32/decoder/thumb32.inc | 2 +- src/frontend/A32/translate/impl/thumb32_control.cpp | 4 ++++ src/frontend/A32/translate/impl/translate_thumb.h | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/frontend/A32/decoder/thumb32.inc b/src/frontend/A32/decoder/thumb32.inc index db6b5b0f..2d452b85 100644 --- a/src/frontend/A32/decoder/thumb32.inc +++ b/src/frontend/A32/decoder/thumb32.inc @@ -96,7 +96,7 @@ INST(thumb32_MOVT, "MOVT", "11110i101100iiii0iiidd //INST(thumb32_MSR_reg_4, "MSR (reg)", "111100111000----10-0--00--0-----") INST(thumb32_NOP, "NOP", "11110011101011111000000000000000") -//INST(thumb32_YIELD, "YIELD", "111100111010----10-0-00000000001") +INST(thumb32_YIELD, "YIELD", "11110011101011111000000000000001") //INST(thumb32_WFE, "WFE", "111100111010----10-0-00000000010") //INST(thumb32_WFI, "WFI", "111100111010----10-0-00000000011") //INST(thumb32_SEV, "SEV", "111100111010----10-0-00000000100") diff --git a/src/frontend/A32/translate/impl/thumb32_control.cpp b/src/frontend/A32/translate/impl/thumb32_control.cpp index 9646ee2b..1578a60a 100644 --- a/src/frontend/A32/translate/impl/thumb32_control.cpp +++ b/src/frontend/A32/translate/impl/thumb32_control.cpp @@ -38,4 +38,8 @@ bool ThumbTranslatorVisitor::thumb32_UDF() { return thumb16_UDF(); } +bool ThumbTranslatorVisitor::thumb32_YIELD() { + return thumb16_YIELD(); +} + } // namespace Dynarmic::A32 diff --git a/src/frontend/A32/translate/impl/translate_thumb.h b/src/frontend/A32/translate/impl/translate_thumb.h index d97365e6..b185c852 100644 --- a/src/frontend/A32/translate/impl/translate_thumb.h +++ b/src/frontend/A32/translate/impl/translate_thumb.h @@ -170,6 +170,7 @@ struct ThumbTranslatorVisitor final { bool thumb32_ISB(Imm<4> option); bool thumb32_NOP(); bool thumb32_UDF(); + bool thumb32_YIELD(); // thumb32 branch instructions bool thumb32_BL_imm(Imm<1> S, Imm<10> hi, Imm<1> j1, Imm<1> j2, Imm<11> lo);