From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40977) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SUbVq-0001Kx-Uv for qemu-devel@nongnu.org; Wed, 16 May 2012 06:31:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SUbVg-0004F1-Rz for qemu-devel@nongnu.org; Wed, 16 May 2012 06:31:22 -0400 Received: from mx1.redhat.com ([209.132.183.28]:26830) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SUbVg-0004EQ-KY for qemu-devel@nongnu.org; Wed, 16 May 2012 06:31:12 -0400 Date: Wed, 16 May 2012 13:30:57 +0300 From: "Michael S. Tsirkin" Message-ID: <20120516103057.GA5161@redhat.com> References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com> <1337095599-28836-5-git-send-email-anthony.perard@citrix.com> <20120515210053.GB12039@redhat.com> <4FB36001.9030008@redhat.com> <20120516081341.GB3183@redhat.com> <4FB36890.3090301@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] [PATCH 4/4] xen: Fix PV-on-HVM List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefano Stabellini Cc: Anthony Perard , Paolo Bonzini , QEMU-devel , Anthony Liguori , Xen Devel On Wed, May 16, 2012 at 11:19:53AM +0100, Stefano Stabellini wrote: > On Wed, 16 May 2012, Paolo Bonzini wrote: > > Il 16/05/2012 10:13, Michael S. Tsirkin ha scritto: > > > On Wed, May 16, 2012 at 10:06:25AM +0200, Paolo Bonzini wrote: > > >> On Xen the PV drivers can ask the firmware to surprise-remove the > > >> emulated NICs. > > > > > > So driver tells firmware (meaning acpi? how?) that it's ok > > > to do surprize removal? > > > > It writes something to some I/O port, and then QEMU surprise-removes the > > NICs. > > Yes, writing to a static I/O port provided by the Xen platform PCI > device, see hw/xen_platform.c:platform_fixed_ioport_writew. > > The guest can ask to unplug emulated NICs and disks this way. > Surprise-removal is OK in these cases. Confused. Don't you want to just remove the device on unplug? In fact the equivalent of guest calling _EJ0? > > >> Of course it has to do it early enough so that the guest > > >> doesn't crash. > > > > > > What does early enough mean and how do we ensure that? > > > > Early enough means that the I/O port is written very early in the boot > > process, even before the PCI bus is scanned by the OS. > > > > You don't ensure it, it's up to the OS. The OS knows whether its > > drivers can cope properly with surprise removal. If they can, in > > principle it could write the magic value whenever it wants to. > > Right, it is up to the OS, in general before the PCI bus is scanned. > In Linux we do it from hypervisor_x86->init_platform. So early on boot you decide you want PV and so you unplug all emulated devices?