summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorShengYi Hung <aokblast@FreeBSD.org>2025-09-15 14:07:33 -0400
committerMichael Tokarev <mjt@tls.msk.ru>2025-10-05 09:46:06 +0300
commit5240186e82b9d0f8e81f1e8f74348a4fa089998a (patch)
treeb6346a2f1b5ce3bae95cf82df68f2d140b78444d
parent1c0f5142d921525f1023152eac63d2ff3d33e3b2 (diff)
downloadfocaccia-qemu-5240186e82b9d0f8e81f1e8f74348a4fa089998a.tar.gz
focaccia-qemu-5240186e82b9d0f8e81f1e8f74348a4fa089998a.zip
wdt_i6300esb: fix incorrect mask for interrupt type
According to Intel 6300ESB Controller Hub Datasheet 14.4.15, the interrupt
type mask should be 0x03 (0b11) instead of 0x11. In the original
implementation, when we want to disable all interrupt by setting the
value to 0x03, we will get 0x01 which is incorrect when we want to read
the value again. However, there is no problem when considering the correct
behavior since 0x01 is reserved and unused just like 0x03. This patch is
just a fix to return the register value.

Signed-off-by: ShengYi Hung <aokblast@FreeBSD.org>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
-rw-r--r--hw/watchdog/wdt_i6300esb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/watchdog/wdt_i6300esb.c b/hw/watchdog/wdt_i6300esb.c
index bb8a2766b6..3aa01b8d68 100644
--- a/hw/watchdog/wdt_i6300esb.c
+++ b/hw/watchdog/wdt_i6300esb.c
@@ -55,7 +55,7 @@
 /* Config register bits */
 #define ESB_WDT_REBOOT  (0x01 << 5)   /* Enable reboot on timeout          */
 #define ESB_WDT_FREQ    (0x01 << 2)   /* Decrement frequency               */
-#define ESB_WDT_INTTYPE (0x11 << 0)   /* Interrupt type on timer1 timeout  */
+#define ESB_WDT_INTTYPE (0x03 << 0)   /* Interrupt type on timer1 timeout  */
 
 /* Reload register bits */
 #define ESB_WDT_RELOAD  (0x01 << 8)    /* prevent timeout                   */