A64: Implement BRK

Currently, we can just implement this as part of the exception
interface, similar to how it's done for the A32 interface with BKPT.
This commit is contained in:
Lioncash
2018-09-18 21:17:55 -04:00
committed by MerryMage
parent b915364c16
commit 6b5ea6ee66
3 changed files with 9 additions and 1 deletions

View File

@@ -8,6 +8,12 @@
namespace Dynarmic::A64 {
bool TranslatorVisitor::BRK([[maybe_unused]] Imm<16> imm16) {
ir.ExceptionRaised(Exception::Breakpoint);
ir.SetTerm(IR::Term::CheckHalt{IR::Term::ReturnToDispatch{}});
return false;
}
bool TranslatorVisitor::SVC(Imm<16> imm16) {
ir.PushRSB(ir.current_location->AdvancePC(4));
ir.SetPC(ir.Imm64(ir.current_location->PC() + 4));