spapr: Use SHUTDOWN_CAUSE_SUBSYSTEM_RESET for CAS reboots
commit9146206eb26c1436c80a7c2ca1e4c5f86b27179d
authorDavid Gibson <david@gibson.dropbear.id.au>
Wed, 28 Aug 2019 01:43:15 +0000 (28 11:43 +1000)
committerDavid Gibson <david@gibson.dropbear.id.au>
Wed, 28 Aug 2019 23:46:07 +0000 (29 09:46 +1000)
tree25daec3fa6c74d8aacbe41a83bd561621839ff7e
parent289af4ac995b13e00c59a7f2ef358690f9c7d04b
spapr: Use SHUTDOWN_CAUSE_SUBSYSTEM_RESET for CAS reboots

The sPAPR platform includes feature negotiation between the guest and
platform.  That sometimes requires reconfiguring the virtual hardware, and
in some cases that is a complex enough process that we trigger a system
reset to handle it.  That interacts badly with -no-reboot - we trigger the
reboot, -no-reboot means we exit and so the guest never gets to try again.

Eventually we want to get rid of CAS reboots entirely, since they're odd
and irritating for the user.  But in the meantime we can fix the -no-reboot
problem by using SHUTDOWN_CAUSE_SUBSYSTEM_RESET which ignores -no-reboot
and seems to be designed for this sort of faux-reset for internal purposes
only.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/ppc/spapr_hcall.c