]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
hw/misc: Add MPFS system reset support
authorSebastian Huber <sebastian.huber@embedded-brains.de>
Wed, 19 Mar 2025 06:13:33 +0000 (07:13 +0100)
committerAlistair Francis <alistair.francis@wdc.com>
Mon, 19 May 2025 03:30:24 +0000 (13:30 +1000)
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>
hw/misc/mchp_pfsoc_sysreg.c

index bfa78d3d2faea1127aa22d996fdc54f7a47d646e..f47c835f80de9f49e369c7907eb7a3c66164a4a3 100644 (file)
@@ -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;