MMU: on DSI exception, don't set store bit on read

This commit is contained in:
Rairii 2023-11-08 16:06:11 +00:00 committed by GitHub
parent 8140d6b1d3
commit 18d777095b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1283,7 +1283,7 @@ void MMU::GenerateDSIException(u32 effective_address, bool write)
constexpr u32 dsisr_page = 1U << 30; constexpr u32 dsisr_page = 1U << 30;
constexpr u32 dsisr_store = 1U << 25; constexpr u32 dsisr_store = 1U << 25;
if (effective_address != 0) if (write)
m_ppc_state.spr[SPR_DSISR] = dsisr_page | dsisr_store; m_ppc_state.spr[SPR_DSISR] = dsisr_page | dsisr_store;
else else
m_ppc_state.spr[SPR_DSISR] = dsisr_page; m_ppc_state.spr[SPR_DSISR] = dsisr_page;