@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
@ -144,7 +144,7 @@ bool ArmNce::HandleFailedGuestFault(GuestContext* guest_ctx, void* raw_info, voi
bool ArmNce : : HandleGuestAlignmentFault ( GuestContext * guest_ctx , void * raw_info , void * raw_context ) {
bool ArmNce : : HandleGuestAlignmentFault ( GuestContext * guest_ctx , void * raw_info , void * raw_context ) {
auto & host_ctx = static_cast < ucontext_t * > ( raw_context ) - > uc_mcontext ;
auto & host_ctx = static_cast < ucontext_t * > ( raw_context ) - > uc_mcontext ;
auto * fpctx = GetFloatingPointState ( host_ctx ) ;
auto * fpctx = GetFloatingPointState ( host_ctx ) ;
auto & memory = guest_ctx - > system - > Application Memory( ) ;
auto & memory = guest_ctx - > parent - > m_running_thread - > GetOwnerProcess ( ) - > Get Memory( ) ;
// Match and execute an instruction.
// Match and execute an instruction.
auto next_pc = MatchAndExecuteOneInstruction ( memory , & host_ctx , fpctx ) ;
auto next_pc = MatchAndExecuteOneInstruction ( memory , & host_ctx , fpctx ) ;
@ -164,7 +164,8 @@ bool ArmNce::HandleGuestAccessFault(GuestContext* guest_ctx, void* raw_info, voi
// TODO: handle accesses which split a page?
// TODO: handle accesses which split a page?
const Common : : ProcessAddress addr =
const Common : : ProcessAddress addr =
( reinterpret_cast < u64 > ( info - > si_addr ) & ~ Memory : : YUZU_PAGEMASK ) ;
( reinterpret_cast < u64 > ( info - > si_addr ) & ~ Memory : : YUZU_PAGEMASK ) ;
if ( guest_ctx - > system - > ApplicationMemory ( ) . InvalidateNCE ( addr , Memory : : YUZU_PAGESIZE ) ) {
auto & memory = guest_ctx - > parent - > m_running_thread - > GetOwnerProcess ( ) - > GetMemory ( ) ;
if ( memory . InvalidateNCE ( addr , Memory : : YUZU_PAGESIZE ) ) {
// We handled the access successfully and are returning to guest code.
// We handled the access successfully and are returning to guest code.
return true ;
return true ;
}
}