From cf83f140059f21d4629ae4b61d468c3baef2bb4c Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Mon, 15 May 2017 16:41:13 -0500 Subject: shutdown: Add source information to SHUTDOWN and RESET Time to wire up all the call sites that request a shutdown or reset to use the enum added in the previous patch. It would have been less churn to keep the common case with no arguments as meaning guest-triggered, and only modified the host-triggered code paths, via a wrapper function, but then we'd still have to audit that I didn't miss any host-triggered spots; changing the signature forces us to double-check that I correctly categorized all callers. Since command line options can change whether a guest reset request causes an actual reset vs. a shutdown, it's easy to also add the information to reset requests. Signed-off-by: Eric Blake Acked-by: David Gibson [ppc parts] Reviewed-by: Mark Cave-Ayland [SPARC part] Reviewed-by: Cornelia Huck [s390x parts] Message-Id: <20170515214114.15442-5-eblake@redhat.com> Reviewed-by: Markus Armbruster Signed-off-by: Markus Armbruster --- hw/pci-host/apb.c | 4 ++-- hw/pci-host/bonito.c | 2 +- hw/pci-host/piix.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'hw/pci-host') diff --git a/hw/pci-host/apb.c b/hw/pci-host/apb.c index edc88f4c65..f04104cdf2 100644 --- a/hw/pci-host/apb.c +++ b/hw/pci-host/apb.c @@ -482,9 +482,9 @@ static void apb_config_writel (void *opaque, hwaddr addr, s->reset_control |= val & RESET_WMASK; if (val & SOFT_POR) { s->nr_resets = 0; - qemu_system_reset_request(); + qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET); } else if (val & SOFT_XIR) { - qemu_system_reset_request(); + qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET); } } break; diff --git a/hw/pci-host/bonito.c b/hw/pci-host/bonito.c index 85a3bb0dd2..89133a9dd3 100644 --- a/hw/pci-host/bonito.c +++ b/hw/pci-host/bonito.c @@ -269,7 +269,7 @@ static void bonito_writel(void *opaque, hwaddr addr, } s->regs[saddr] = val; if (reset) { - qemu_system_reset_request(); + qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET); } break; case BONITO_INTENSET: diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c index 2d02de12d9..4ce201ea65 100644 --- a/hw/pci-host/piix.c +++ b/hw/pci-host/piix.c @@ -632,7 +632,7 @@ static void rcr_write(void *opaque, hwaddr addr, uint64_t val, unsigned len) PIIX3State *d = opaque; if (val & 4) { - qemu_system_reset_request(); + qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET); return; } d->rcr = val & 2; /* keep System Reset type only */ -- cgit v1.2.3-55-g7522