mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
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 <eblake@redhat.com> Acked-by: David Gibson <david@gibson.dropbear.id.au> [ppc parts] Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> [SPARC part] Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com> [s390x parts] Message-Id: <20170515214114.15442-5-eblake@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
802f045a5f
commit
cf83f14005
60 changed files with 98 additions and 98 deletions
|
@ -355,7 +355,7 @@ static void omap_wd_timer_write(void *opaque, hwaddr addr,
|
|||
/* XXX: on T|E hardware somehow this has no effect,
|
||||
* on Zire 71 it works as specified. */
|
||||
s->reset = 1;
|
||||
qemu_system_reset_request();
|
||||
qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET);
|
||||
}
|
||||
}
|
||||
s->last_wr = value & 0xff;
|
||||
|
@ -1545,8 +1545,10 @@ static inline void omap_clkm_idlect1_update(struct omap_mpu_state_s *s,
|
|||
if (value & (1 << 11)) { /* SETARM_IDLE */
|
||||
cpu_interrupt(CPU(s->cpu), CPU_INTERRUPT_HALT);
|
||||
}
|
||||
if (!(value & (1 << 10))) /* WKUP_MODE */
|
||||
qemu_system_shutdown_request(); /* XXX: disable wakeup from IRQ */
|
||||
if (!(value & (1 << 10))) { /* WKUP_MODE */
|
||||
/* XXX: disable wakeup from IRQ */
|
||||
qemu_system_shutdown_request(SHUTDOWN_CAUSE_GUEST_SHUTDOWN);
|
||||
}
|
||||
|
||||
#define SET_CANIDLE(clock, bit) \
|
||||
if (diff & (1 << bit)) { \
|
||||
|
@ -1693,7 +1695,7 @@ static void omap_clkm_write(void *opaque, hwaddr addr,
|
|||
diff = s->clkm.arm_rstct1 ^ value;
|
||||
s->clkm.arm_rstct1 = value & 0x0007;
|
||||
if (value & 9) {
|
||||
qemu_system_reset_request();
|
||||
qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET);
|
||||
s->clkm.cold_start = 0xa;
|
||||
}
|
||||
if (diff & ~value & 4) { /* DSP_RST */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue