From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=45809 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q3BlC-0005xl-JE for qemu-devel@nongnu.org; Fri, 25 Mar 2011 14:29:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q3BlB-0004XP-Ay for qemu-devel@nongnu.org; Fri, 25 Mar 2011 14:29:22 -0400 Received: from mail-yi0-f45.google.com ([209.85.218.45]:34127) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q3BlB-0004X8-8Z for qemu-devel@nongnu.org; Fri, 25 Mar 2011 14:29:21 -0400 Received: by yib19 with SMTP id 19so656342yib.4 for ; Fri, 25 Mar 2011 11:29:20 -0700 (PDT) Message-ID: <4D8CDEFD.9060907@codemonkey.ws> Date: Fri, 25 Mar 2011 13:29:17 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 27/27] Add SLOF-based partition firmware for pSeries machine, allowing more boot options References: <1301023292-24977-1-git-send-email-david@gibson.dropbear.id.au> <1301023292-24977-28-git-send-email-david@gibson.dropbear.id.au> In-Reply-To: <1301023292-24977-28-git-send-email-david@gibson.dropbear.id.au> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: David Gibson Cc: paulus@samba.org, agraf@suse.de, anton@samba.org, qemu-devel@nongnu.org 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. Regards, Anthony Liguori