summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2025-03-19 07:13:33 +0100
committerAlistair Francis <alistair.francis@wdc.com>2025-05-19 13:30:24 +1000
commit4c1a39eebc6a9f1db816ff6c23e3d42ba52e2601 (patch)
tree378a77248c9c3eeb4866bf21d6a724b64a837cad
parent28c12c1f2f50d7f7f1ebfc587c4777ecd50aac5b (diff)
downloadfocaccia-qemu-4c1a39eebc6a9f1db816ff6c23e3d42ba52e2601.tar.gz
focaccia-qemu-4c1a39eebc6a9f1db816ff6c23e3d42ba52e2601.zip
hw/misc: Add MPFS system reset support
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-ID: <20250319061342.26435-2-sebastian.huber@embedded-brains.de>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-rw-r--r--hw/misc/mchp_pfsoc_sysreg.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/hw/misc/mchp_pfsoc_sysreg.c b/hw/misc/mchp_pfsoc_sysreg.c
index bfa78d3d2f..f47c835f80 100644
--- a/hw/misc/mchp_pfsoc_sysreg.c
+++ b/hw/misc/mchp_pfsoc_sysreg.c
@@ -27,7 +27,9 @@
 #include "hw/irq.h"
 #include "hw/sysbus.h"
 #include "hw/misc/mchp_pfsoc_sysreg.h"
+#include "system/runstate.h"
 
+#define MSS_RESET_CR    0x18
 #define ENVM_CR         0xb8
 #define MESSAGE_INT     0x118c
 
@@ -56,6 +58,11 @@ static void mchp_pfsoc_sysreg_write(void *opaque, hwaddr offset,
 {
     MchpPfSoCSysregState *s = opaque;
     switch (offset) {
+    case MSS_RESET_CR:
+        if (value == 0xdead) {
+            qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET);
+        }
+        break;
     case MESSAGE_INT:
         qemu_irq_lower(s->irq);
         break;