|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 13/22] vixen: Use SCHEDOP_shutdown to shutdown the machine
On Sat, Jan 06, 2018 at 02:54:28PM -0800, Anthony Liguori wrote:
> From: Jan H. Schönherr <jschoenh@xxxxxxxxx>
>
> While the hwdom_shutdown() is able to reboot the system, it fails to
> properly power it off. With SCHEDOP_shutdown, we delegate the problem.
>
> Signed-off-by: Jan H. Schönherr <jschoenh@xxxxxxxxx>
> Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
> ---
> xen/common/domain.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/xen/common/domain.c b/xen/common/domain.c
> index b4d679e..ede377c 100644
> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -42,6 +42,7 @@
> #include <xen/trace.h>
> #include <xen/tmem.h>
> #include <asm/setup.h>
> +#include <asm/guest/vixen.h>
>
> /* Linux config option: propageted to domain0 */
> /* xen_processor_pmbits: xen control Cx, Px, ... */
> @@ -693,6 +694,17 @@ void __domain_crash_synchronous(void)
> }
>
>
> +static void vixen_shutdown(u8 reason)
> +{
> + struct sched_shutdown sched_shutdown = { .reason = reason };
> +
> + if (!opt_noreboot)
> + HYPERVISOR_sched_op(SCHEDOP_shutdown, &sched_shutdown);
> +
> + /* Fallback, in case the hypercall fails */
> + hwdom_shutdown(reason);
> +}
> +
> void domain_shutdown(struct domain *d, u8 reason)
> {
> struct vcpu *v;
> @@ -703,6 +715,8 @@ void domain_shutdown(struct domain *d, u8 reason)
> d->shutdown_code = reason;
> reason = d->shutdown_code;
>
> + if ( is_vixen() )
> + vixen_shutdown(reason);
What happens with hypervisor triggered shutdowns? For pv-shim we
translated all hypervisor initiated shutdowns to crash requests, since
AFAICT they can only come from panics/BUGs/ASSERTs...
Roger.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |