From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=51316 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OC8mN-0006vO-HH for qemu-devel@nongnu.org; Wed, 12 May 2010 06:03:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OC6n2-00067F-4d for qemu-devel@nongnu.org; Wed, 12 May 2010 03:55:40 -0400 Received: from mx1.redhat.com ([209.132.183.28]:52760) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OC6my-00065n-4D for qemu-devel@nongnu.org; Wed, 12 May 2010 03:55:35 -0400 Date: Wed, 12 May 2010 10:55:23 +0300 From: Gleb Natapov Message-ID: <20100512075523.GR2504@redhat.com> References: <20100510081118.GI24787@redhat.com> <4BE82ADA.6000302@codemonkey.ws> <4BE912FB.9030702@redhat.com> <20100511123153.GK2504@redhat.com> <4BEA5753.1050508@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4BEA5753.1050508@redhat.com> Subject: [Qemu-devel] Re: [PATCHv2] Support for booting from virtio disks List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: seabios@seabios.org, qemu-devel@nongnu.org, kvm@vger.kernel.org On Wed, May 12, 2010 at 10:22:59AM +0300, Avi Kivity wrote: > On 05/11/2010 03:31 PM, Gleb Natapov wrote: > >On Tue, May 11, 2010 at 11:19:07AM +0300, Avi Kivity wrote: > >>On 05/10/2010 06:48 PM, Anthony Liguori wrote: > >>>On 05/10/2010 03:11 AM, Gleb Natapov wrote: > >>>>This patch adds native support for booting from virtio disks to Seabios. > >>>> > >>>>Signed-off-by: Gleb Natapov > >>>A related problem that I think we need to think about how we solve > >>>is indicating to Seabios which device we want to boot from > >>> > >>>With your patch, a user can select a virtio device explicitly or > >>>if they use only one virtio device, it will Just Work. > >>> > >>>However, if a user uses IDE and virtio, or a user has multiple > >>>disks, they cannot select a device via -boot. > >>> > >>>Is this something we need to address? I don't think we'd break > >>>libvirt if we didn't. > >>BIOSes traditionally address this by storing the boot order in RTC > >>non-volatile memory, and allow the user to configure the order via a > >>menu. We could do the same (storing the RTC memory in a small disk > >>image). > >> > >Real BIOS can do that because it enumerates all bootable devices, > >attach name for each one of them and then asks user to configure > >boot order using names it attached to devices. In our case we > >want to provide boot order on qemu command line before BIOS > >enumerated devices, so qemu should be able to pass enough information > >about boot device so that BIOS can uniquely identify it after it will > >discover all bootable devices. bus/device pair can be such thing. > > Having a BIOS menu is also useful, you don't have to drop to the > management tool, instead you do everything from the console. > In Seabios we have functional boot menu. But it is management who controls what disk plugged were. > >>Alternatively we can seed the order from the command line (-boot > >>id1,id2,id3 where id* are some qdev property attached to disks, this > >>is more flexible than the current syntax I think). > >> > >The problem is how to communicate this order to Seabios. > > Topology (bus/device/lun). > Yeah, that what I proposed too actually. -- Gleb.