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

Reply via email to