From c8a9fb91c54880d406fed9df39a3ea11dc585a6b Mon Sep 17 00:00:00 2001 From: joevt Date: Thu, 3 Sep 2026 04:45:58 -0700 Subject: [PATCH] grandcentral: Apply mask when reading int events. The event is still pending even if masked. It will cause an interrupt when it is unmasked unless it is cleared. Tested on real Power Mac 8600. --- devices/ioctrl/grandcentral.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devices/ioctrl/grandcentral.cpp b/devices/ioctrl/grandcentral.cpp index e3bf2084..5d5d55dc 100644 --- a/devices/ioctrl/grandcentral.cpp +++ b/devices/ioctrl/grandcentral.cpp @@ -295,7 +295,7 @@ uint32_t GrandCentral::read(uint32_t rgn_start, uint32_t offset, int size) } else { // Interrupt related registers switch (offset) { case MIO_INT_EVENTS1: - return BYTESWAP_32(this->int_events); + return BYTESWAP_32(this->int_events & this->int_mask); case MIO_INT_MASK1: return BYTESWAP_32(this->int_mask); case MIO_INT_CLEAR1: