[nce] handles duplicate NCE interrupts

This commit is contained in:
xbzk
2026-10-13 22:23:46 -03:00
parent 4dc69c06f7
commit a9b95c2f20
+2 -2
View File
@@ -369,8 +369,8 @@ void ArmNce::SetContext(const Kernel::Svc::ThreadContext& ctx) {
}
void ArmNce::SignalInterrupt(Kernel::KThread* thread) {
// Add break loop condition.
m_guest_ctx.esr_el1.fetch_or(static_cast<u64>(HaltReason::BreakLoop));
constexpr u64 break_loop = static_cast<u64>(HaltReason::BreakLoop);
if ((m_guest_ctx.esr_el1.fetch_or(break_loop) & break_loop) != 0) return;
auto* params = &thread->GetNativeExecutionParameters();
LockThreadParameters(params);