mirror of
https://git.suyu.dev/suyu/dynarmic.git
synced 2026-03-10 22:06:29 +00:00
A32: Add hook_hint_instructions option
This commit is contained in:
@@ -13,6 +13,10 @@ bool ArmTranslatorVisitor::arm_PLD_imm([[maybe_unused]] bool add,
|
||||
bool R,
|
||||
[[maybe_unused]] Reg n,
|
||||
[[maybe_unused]] Imm<12> imm12) {
|
||||
if (!options.hook_hint_instructions) {
|
||||
return true;
|
||||
}
|
||||
|
||||
const auto exception = R ? Exception::PreloadData
|
||||
: Exception::PreloadDataWithIntentToWrite;
|
||||
return RaiseException(exception);
|
||||
@@ -24,28 +28,52 @@ bool ArmTranslatorVisitor::arm_PLD_reg([[maybe_unused]] bool add,
|
||||
[[maybe_unused]] Imm<5> imm5,
|
||||
[[maybe_unused]] ShiftType shift,
|
||||
[[maybe_unused]] Reg m) {
|
||||
if (!options.hook_hint_instructions) {
|
||||
return true;
|
||||
}
|
||||
|
||||
const auto exception = R ? Exception::PreloadData
|
||||
: Exception::PreloadDataWithIntentToWrite;
|
||||
return RaiseException(exception);
|
||||
}
|
||||
|
||||
bool ArmTranslatorVisitor::arm_SEV() {
|
||||
if (!options.hook_hint_instructions) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return RaiseException(Exception::SendEvent);
|
||||
}
|
||||
|
||||
bool ArmTranslatorVisitor::arm_SEVL() {
|
||||
if (!options.hook_hint_instructions) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return RaiseException(Exception::SendEventLocal);
|
||||
}
|
||||
|
||||
bool ArmTranslatorVisitor::arm_WFE() {
|
||||
if (!options.hook_hint_instructions) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return RaiseException(Exception::WaitForEvent);
|
||||
}
|
||||
|
||||
bool ArmTranslatorVisitor::arm_WFI() {
|
||||
if (!options.hook_hint_instructions) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return RaiseException(Exception::WaitForInterrupt);
|
||||
}
|
||||
|
||||
bool ArmTranslatorVisitor::arm_YIELD() {
|
||||
if (!options.hook_hint_instructions) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return RaiseException(Exception::Yield);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user