From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38427) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wkyfl-0005r9-P8 for qemu-devel@nongnu.org; Thu, 15 May 2014 12:38:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wkyfe-0004gO-6I for qemu-devel@nongnu.org; Thu, 15 May 2014 12:38:21 -0400 Message-ID: <5374ED74.6050209@suse.de> Date: Thu, 15 May 2014 18:38:12 +0200 From: Alexander Graf MIME-Version: 1.0 References: <1400171570-21284-1-git-send-email-agraf@suse.de> In-Reply-To: <1400171570-21284-1-git-send-email-agraf@suse.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [Qemu-ppc] [PATCH 0/9] PPC: e500: Use u-boot as firmware List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org On 15.05.14 18:32, Alexander Graf wrote: > Today we don't run any firmware on our e500 platform. You're either running > a Linux kernel directly through -kernel or you don't boot the VM at all. > > This is bad for multiple reasons. The normal firmware on e500 based systems > is u-boot. Some OSes (IIRC FreeBSD) rely on u-boot for their 2nd stage boot > loader. Since that relies on interfaces u-boot provides we can't execute it > today. > > The other case where we're falling short of expectations that I'm aware of > is network boot. With a firmware you can actually pxe boot a virtual machine. > > This patch set implements all the pieces necessary to run u-boot as the > firmware for our e500 platforms: mpc8544ds and e500plat. It is based on upstream > u-boot code that implements a target specific for the simplified system QEMU > implements. > > Due to popular demand the default -kernel booting has *not* been changed from > directly booting into the kernel. This is possible because we don't need to run > firmware to provide run time services. > > However, whenever the user explicitly defines a -bios blob, we run it. > That means if you want to route a -kernel boot through u-boot you have to pass > in -bios pc-bios/u-boot.e500 -kernel uImage. > > Please try out as many things as you're able to try. > > Known missing bits: > > - -boot doesn't get interpreted yet > - pflash is missing, so the environment is volatile > - no block drivers available (ata_piix is broken in u-boot and virtio-blk > is missing) > - KVM patches to support u-boot are probably going to hit 3.16 This is v2 of the patch set. v1 -> v2: - correct permission access to USER_RO - Update to newer u-boot version - Add git submodule for u-boot - skip u-boot when -kernel and no -bios are given Alex