On Tue, Apr 19, 2011 at 04:32:34PM +0100, Peter Maydell wrote: > Newer kernels are large enough that they can overlap the address > where qemu places the initrd. Move the initrd up so that there is > enough space for the kernel again. > > Unfortunately it's not possible to automatically determine the > size of the kernel if it is compressed, so this is the best we > can do. > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > --- > I think a variant of this patch was posted some time last year but didn't > attract any comment. Anyway, bumping up the arbitrary initrd load address > is a bit ugly but does at least let large kernels boot, and corresponds > to what you'd do on real hardware (ie change the load address in your > u-boot script)... > > If anybody has a better solution then I'm happy to implement it; otherwise > I think this patch should be committed. > > hw/arm_boot.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-)
Thanks, applied. > diff --git a/hw/arm_boot.c b/hw/arm_boot.c > index 41e99d1..bfac982 100644 > --- a/hw/arm_boot.c > +++ b/hw/arm_boot.c > @@ -15,7 +15,7 @@ > > #define KERNEL_ARGS_ADDR 0x100 > #define KERNEL_LOAD_ADDR 0x00010000 > -#define INITRD_LOAD_ADDR 0x00800000 > +#define INITRD_LOAD_ADDR 0x00d00000 > > /* The worlds second smallest bootloader. Set r0-r2, then jump to kernel. > */ > static uint32_t bootloader[] = { > -- > 1.7.1 > > > -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net