On 2015-08-12 07:20, Guenter Roeck wrote: > If host and target endianness does not match, loding an initramfs does not > work. > Fix by writing boot parameters with appropriate endianness conversion. > > Signed-off-by: Guenter Roeck <li...@roeck-us.net> > --- > hw/sh4/r2d.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/hw/sh4/r2d.c b/hw/sh4/r2d.c > index 5e22ed7..3b0b2ec 100644 > --- a/hw/sh4/r2d.c > +++ b/hw/sh4/r2d.c > @@ -338,9 +338,9 @@ static void r2d_init(MachineState *machine) > } > > /* initialization which should be done by firmware */ > - boot_params.loader_type = 1; > - boot_params.initrd_start = INITRD_LOAD_OFFSET; > - boot_params.initrd_size = initrd_size; > + boot_params.loader_type = tswap32(1); > + boot_params.initrd_start = tswap32(INITRD_LOAD_OFFSET); > + boot_params.initrd_size = tswap32(initrd_size); > } > > if (kernel_cmdline) {
Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> Good catch. I have added it to my sh4-next queue: http://git.aurel32.net/?p=qemu.git;a=shortlog;h=refs/heads/sh4-next -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net