From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=55871 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q41AA-0001G8-JM for qemu-devel@nongnu.org; Sun, 27 Mar 2011 21:22:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q41A7-0008Ol-O6 for qemu-devel@nongnu.org; Sun, 27 Mar 2011 21:22:34 -0400 Received: from ozlabs.org ([203.10.76.45]:51303) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q41A7-0008OX-9O for qemu-devel@nongnu.org; Sun, 27 Mar 2011 21:22:31 -0400 Date: Mon, 28 Mar 2011 12:19:22 +1100 From: David Gibson Subject: Re: [Qemu-devel] [PATCH 27/27] Add SLOF-based partition firmware for pSeries machine, allowing more boot options Message-ID: <20110328011922.GH8428@yookeroo> References: <1301023292-24977-1-git-send-email-david@gibson.dropbear.id.au> <1301023292-24977-28-git-send-email-david@gibson.dropbear.id.au> <4D8CDEFD.9060907@codemonkey.ws> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4D8CDEFD.9060907@codemonkey.ws> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: paulus@samba.org, agraf@suse.de, anton@samba.org, qemu-devel@nongnu.org On Fri, Mar 25, 2011 at 01:29:17PM -0500, Anthony Liguori wrote: > On 03/24/2011 10:21 PM, David Gibson wrote: > >Currently, the emulated pSeries machine requires the use of the > >-kernel parameter in order to explicitly load a guest kernel. This > >means booting from the virtual disk, cdrom or network is not possible. > > > >This patch addresses this limitation by inserting a within-partition > >firmware image (derived from the "SLOF" free Open Firmware project). > >If -kernel is not specified, qemu will now load the SLOF image, which > >has access to the qemu boot device list through the device tree, and > >can boot from any of the usual virtual devices. > > > >In order to support the new firmware, an extension to the emulated > >machine/hypervisor is necessary. Unlike Linux, which expects > >multi-CPU entry to be handled kexec() style, the SLOF firmware expects > >only one CPU to be active at entry, and to use a hypervisor RTAS > >method to enable the other CPUs one by one. > > > >This patch also implements this 'start-cpu' method, so that SLOF can > >start the secondary CPUs and marshal them into the kexec() holding > >pattern ready for entry into the guest OS. Linux should, and in the > >future might directly use the start-cpu method to enable initially > >disabled CPUs, but for now it does require kexec() entry. > > > >Signed-off-by: Benjamin Herrenschmidt > >Signed-off-by: Paul Mackerras > >Signed-off-by: David Gibson > > We should pull in SLOF via a git submodule. That ensures we ship > the source code along with the binary. Um, ok. Do I need to do anything about this? -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson