Merge pull request #1362 from MerryMage/dynarmic

externals: Update dynarmic to 171d116
This commit is contained in:
Mat M 2018-09-20 17:22:42 -04:00 committed by GitHub
commit 1e35d8fa8f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 1 deletions

2
externals/dynarmic vendored

@ -1 +1 @@
Subproject commit 959446573f3adfcba173ef4b0011a4a280f18eba Subproject commit 171d11659d760a4d4674d3a90698fe31ea407e2e

View file

@ -12,6 +12,7 @@
#include "core/core.h" #include "core/core.h"
#include "core/core_cpu.h" #include "core/core_cpu.h"
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/gdbstub/gdbstub.h"
#include "core/hle/kernel/process.h" #include "core/hle/kernel/process.h"
#include "core/hle/kernel/svc.h" #include "core/hle/kernel/svc.h"
#include "core/memory.h" #include "core/memory.h"
@ -79,6 +80,17 @@ public:
case Dynarmic::A64::Exception::SendEventLocal: case Dynarmic::A64::Exception::SendEventLocal:
case Dynarmic::A64::Exception::Yield: case Dynarmic::A64::Exception::Yield:
return; return;
case Dynarmic::A64::Exception::Breakpoint:
if (GDBStub::IsServerEnabled()) {
parent.jit->HaltExecution();
parent.SetPC(pc);
Kernel::Thread* thread = Kernel::GetCurrentThread();
parent.SaveContext(thread->context);
GDBStub::Break();
GDBStub::SendTrap(thread, 5);
return;
}
[[fallthrough]];
default: default:
ASSERT_MSG(false, "ExceptionRaised(exception = {}, pc = {:X})", ASSERT_MSG(false, "ExceptionRaised(exception = {}, pc = {:X})",
static_cast<std::size_t>(exception), pc); static_cast<std::size_t>(exception), pc);