[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] xen-unstabel + linux 4.2: MMIO emulation failed: d23v0 64bit @ 0010:ffffffff814e2b1c -> 66 89 02 48 8d 55 c0 48 89 5d c0 44 89 65 c8 e8



> -----Original Message-----
> From: Andrew Cooper [mailto:andrew.cooper3@xxxxxxxxxx]
> Sent: 27 July 2015 15:08
> To: linux@xxxxxxxxxxxxxx; xen-devel@xxxxxxxxxxxxx
> Cc: Paul Durrant
> Subject: Re: [Xen-devel] xen-unstabel + linux 4.2: MMIO emulation failed:
> d23v0 64bit @ 0010:ffffffff814e2b1c -> 66 89 02 48 8d 55 c0 48 89 5d c0 44 89
> 65 c8 e8
> 
> On 24/07/15 19:56, linux@xxxxxxxxxxxxxx wrote:
> > Hi All,
> >
> > On my AMD system running xen-unstable (last commit: ),
> >  after a few restarts of a HVM guest with pci-passthrough i got these
> > on shutdown of the guest:
> > (never seen this before, so it should be something triggered by a
> > recent commit)
> >
> > --
> > Sander
> >
> >
> > .... (probably lost before but that's lost)
> >
> > (XEN) [2015-07-24 18:46:53.732] domain_crash called from io.c:166
> > (XEN) [2015-07-24 18:46:53.732] io.c:165:d23v0 Weird HVM ioemulation
> > status 1.
> > (XEN) [2015-07-24 18:46:53.732] domain_crash called from io.c:166
> > (XEN) [2015-07-24 18:46:53.732] io.c:165:d23v0 Weird HVM ioemulation
> > status 1.
> > (XEN) [2015-07-24 18:46:53.732] domain_crash called from io.c:166
> > (XEN) [2015-07-24 18:46:53.732] io.c:165:d23v0 Weird HVM ioemulation
> > status 1.
> 
> Paul: this is very likely an issue your emulation series.
> 
> 66 89 02 is mov %ax,(%rdx), but has ended up in handle_pio() which seems
> wrong.
> 

It suggests that the MMIO emulation failure did not clean up and thus the 
subsequent handle_pio() found the state machine in a bad state.

  Paul

> Sander: Please can you rerun with the following debug
> 
> diff --git a/xen/arch/x86/hvm/io.c b/xen/arch/x86/hvm/io.c
> index d3b9cae..7560d08 100644
> --- a/xen/arch/x86/hvm/io.c
> +++ b/xen/arch/x86/hvm/io.c
> @@ -163,7 +163,9 @@ int handle_pio(uint16_t port, unsigned int size, int
> dir)
>          break;
>      default:
>          gdprintk(XENLOG_ERR, "Weird HVM ioemulation status %d.\n", rc);
> -        domain_crash(curr->domain);
> +        show_execution_state(curr);
> +        dump_execution_state();
> +        domain_crash_synchronous(curr->domain);
>          break;
>      }
> 
> ~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.