From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:33008) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tupn9-0002bm-Jf for qemu-devel@nongnu.org; Mon, 14 Jan 2013 14:33:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tupn8-00017H-Dq for qemu-devel@nongnu.org; Mon, 14 Jan 2013 14:33:55 -0500 Message-ID: <50F45D9E.1020302@suse.de> Date: Mon, 14 Jan 2013 20:33:50 +0100 From: Alexander Graf MIME-Version: 1.0 References: <1358191607-6837-1-git-send-email-agraf@suse.de> In-Reply-To: <1358191607-6837-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] PPC: E500: Put dtb after initrd List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, stuart.yoder@freescale.com On 01/14/2013 08:26 PM, Alexander Graf wrote: > We have 3 blobs we need to load when booting the system: > > - kernel > - initrd > - dtb > > We place them in physical memory in that order. At least we should. > This patch fixes the dtb location up to take the initrd location into > account, fixing its offset. > > Reported-by: Stuart Yoder > Signed-off-by: Alexander Graf Ignore this one :). Alex > --- > hw/ppc/e500.c | 5 +++-- > 1 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c > index 3a9e1c7..516d219 100644 > --- a/hw/ppc/e500.c > +++ b/hw/ppc/e500.c > @@ -460,7 +460,7 @@ void ppce500_init(PPCE500Params *params) > target_long kernel_size=0; > target_ulong dt_base = 0; > target_ulong initrd_base = 0; > - target_long initrd_size=0; > + target_long initrd_size = 0; > int i = 0, j, k; > unsigned int pci_irq_nrs[4] = {1, 2, 3, 4}; > qemu_irq **irqs, *mpic; > @@ -642,7 +642,8 @@ void ppce500_init(PPCE500Params *params) > struct boot_info *boot_info; > int dt_size; > > - dt_base = (loadaddr + kernel_size + DTC_LOAD_PAD)& ~DTC_PAD_MASK; > + dt_base = (loadaddr + kernel_size + initrd_size + DTC_LOAD_PAD)& > + ~DTC_PAD_MASK; > dt_size = ppce500_load_device_tree(env, params, dt_base, initrd_base, > initrd_size); > if (dt_size< 0) {