* [Qemu-devel] [PATCH] PPC: E500: Put dtb after initrd
@ 2013-01-14 19:26 Alexander Graf
2013-01-14 19:33 ` [Qemu-devel] [Qemu-ppc] " Alexander Graf
0 siblings, 1 reply; 2+ messages in thread
From: Alexander Graf @ 2013-01-14 19:26 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-ppc, stuart.yoder
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 <stuart.yoder@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
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) {
--
1.6.0.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Qemu-devel] [Qemu-ppc] [PATCH] PPC: E500: Put dtb after initrd
2013-01-14 19:26 [Qemu-devel] [PATCH] PPC: E500: Put dtb after initrd Alexander Graf
@ 2013-01-14 19:33 ` Alexander Graf
0 siblings, 0 replies; 2+ messages in thread
From: Alexander Graf @ 2013-01-14 19:33 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-ppc, stuart.yoder
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<stuart.yoder@freescale.com>
> Signed-off-by: Alexander Graf<agraf@suse.de>
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) {
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-01-14 19:33 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-14 19:26 [Qemu-devel] [PATCH] PPC: E500: Put dtb after initrd Alexander Graf
2013-01-14 19:33 ` [Qemu-devel] [Qemu-ppc] " Alexander Graf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).