[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 2/4] shutdown: Prepare for use of an enum in
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [Qemu-devel] [PATCH v5 2/4] shutdown: Prepare for use of an enum in reset/shutdown_request |
Date: |
Fri, 28 Apr 2017 19:13:14 +0100 |
User-agent: |
Mutt/1.8.0 (2017-02-23) |
* Eric Blake (address@hidden) wrote:
> On 04/28/2017 11:09 AM, Dr. David Alan Gilbert wrote:
>
> >>> At a higher level, using your tags, I'm not sure where a reset triggered
> >>> by a fault detected by the hypervisor lives - e.g. an x86 triple fault
> >>> where the guest screws up so badly that it just gets reset. Is
> >>> that a guest-reset or a guest-panic or what - neither case
> >>> was actually asked for by the guest itself.
> >>
> >> Wouldn't that be host-error (qemu detected an error that prevents
> >> further execution of the guest without a reset - and a triple fault
> >> seems to fall into the category of the guest getting itself wedged
> >> rather than actually trying to reset)? Except patch 3 only used
> >> SHUTDOWN_TYPE_HOST_ERROR in the xen portion of the patch.
> >>
> >> So if any x86 expert has an opinion on where triple-fault handling is
> >> emulated, and what category should be used there, I'm welcome to
> >> tweaking this series.
> >
> > It's pretty much on the border anyway, I don't think it matters too
> > much; it sounds perfectly reasonable.
>
> Actually, reading
> https://blogs.msdn.microsoft.com/larryosterman/2005/02/08/faster-syscall-trap-redux/
> makes it sound like the triple-fault = reset is exploited by existing OS
> (dating back to days of targetting 286 machines), so it is bare-metal
> behavior that we have to faithfully emulate as a guest-triggered reset,
> and not something where the guest has wedged itself to the point where
> qemu can no longer execute the guest.
The point is it's both :-)
A lot of x86 reset code tries four or five different ways to invoke
a reset and if all else fails they triple fault.
Dave
> --
> Eric Blake, Principal Software Engineer
> Red Hat, Inc. +1-919-301-3266
> Virtualization: qemu.org | libvirt.org
>
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK
- [Qemu-devel] [PATCH v5 0/4] event: Add source information to SHUTDOWN, Eric Blake, 2017/04/27
- [Qemu-devel] [PATCH v5 1/4] shutdown: Simplify shutdown_signal, Eric Blake, 2017/04/27
- [Qemu-devel] [PATCH v5 2/4] shutdown: Prepare for use of an enum in reset/shutdown_request, Eric Blake, 2017/04/27
- Re: [Qemu-devel] [PATCH v5 2/4] shutdown: Prepare for use of an enum in reset/shutdown_request, Dr. David Alan Gilbert, 2017/04/28
- Re: [Qemu-devel] [PATCH v5 2/4] shutdown: Prepare for use of an enum in reset/shutdown_request, Eric Blake, 2017/04/28
- Re: [Qemu-devel] [PATCH v5 2/4] shutdown: Prepare for use of an enum in reset/shutdown_request, Dr. David Alan Gilbert, 2017/04/28
- Re: [Qemu-devel] [PATCH v5 2/4] shutdown: Prepare for use of an enum in reset/shutdown_request, Eric Blake, 2017/04/28
- Re: [Qemu-devel] [PATCH v5 2/4] shutdown: Prepare for use of an enum in reset/shutdown_request, Dr. David Alan Gilbert, 2017/04/28
- Re: [Qemu-devel] [PATCH v5 2/4] shutdown: Prepare for use of an enum in reset/shutdown_request, Eric Blake, 2017/04/28
- Re: [Qemu-devel] [PATCH v5 2/4] shutdown: Prepare for use of an enum in reset/shutdown_request,
Dr. David Alan Gilbert <=
- Re: [Qemu-devel] [PATCH v5 2/4] shutdown: Prepare for use of an enum in reset/shutdown_request, Markus Armbruster, 2017/04/28
Re: [Qemu-devel] [PATCH v5 2/4] shutdown: Prepare for use of an enum in reset/shutdown_request, Markus Armbruster, 2017/04/28
[Qemu-devel] [PATCH v5 4/4] RFC: shutdown: Expose full ShutdownCause across QMP, Eric Blake, 2017/04/27
[Qemu-devel] [PATCH v5 3/4] shutdown: Add source information to SHUTDOWN and RESET, Eric Blake, 2017/04/27