WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH V3 07/10] Introduce Xen PCI Passthrough, qdevice

On Fri, 11 Nov 2011, Konrad Rzeszutek Wilk wrote:
> > > > +                hw_error("Internal error: Invalid write emulation "
> > > > +                         "return value[%d]. I/O emulator exit.\n", rc);
> > >
> > > Oh. I hadn't realized this, but you are using hw_error. Which is
> > > calling 'abort'! Yikes. Is there no way to recover from this? Say return 
> > > 0xfffff?
> > 
> > In qemu-xen-traditionnal, it was an exit(1). I do not know the
> > consequence of a bad write, and I can not return anythings. So I suppose
> > that the guest would know that somethings wrong only on the next read.
> > 
> > Instead of abort();, I can just do nothing and return. Or we could unplug
> > the device from QEMU.
> > 
> > Any preference?
> 
> I think this calls for an experiment. If Linux still functions if you 
> completly
> unplug the device, then I would say unplug it (b/c in most likelyhood the 
> reason
> you can't write is b/c the host has unplugged the device).

It would make sense to try to PCI hot-unplug the device, however
considering that it requires guest support, it cannot be used to safely
handle an error like this one. Also it requires some interactions that
might not be possible anymore at this point.
I would destroy the domain instead, using a graceful shutdown if
possible. Something similar to libxl_domain_shutdown.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel