qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] linux-user: fix fadvise64_64() on ppc


From: Laurent Vivier
Subject: Re: [Qemu-devel] [PATCH] linux-user: fix fadvise64_64() on ppc
Date: Tue, 25 Apr 2017 18:33:14 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.0

Ping?

Laurent

Le 02/03/2017 à 01:11, Laurent Vivier a écrit :
> On ppc, advice is arg2, not arg6:
> 
> long ppc_fadvise64_64(int fd, int advice, u32 offset_high, u32 offset_low,
>                       u32 len_high, u32 len_low)
> 
> Signed-off-by: Laurent Vivier <address@hidden>
> ---
>  linux-user/syscall.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 2da8426..671b13a 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -11261,6 +11261,15 @@ abi_long do_syscall(void *cpu_env, int num, abi_long 
> arg1,
>  
>  #ifdef TARGET_NR_fadvise64_64
>      case TARGET_NR_fadvise64_64:
> +#if defined(TARGET_PPC)
> +        /* 6 args: fd, advice, offset (high, low), len (high, low) */
> +        ret = arg2;
> +        arg2 = arg3;
> +        arg3 = arg4;
> +        arg4 = arg5;
> +        arg5 = arg6;
> +        arg6 = ret;
> +#else
>          /* 6 args: fd, offset (high, low), len (high, low), advice */
>          if (regpairs_aligned(cpu_env)) {
>              /* offset is in (3,4), len in (5,6) and advice in 7 */
> @@ -11270,6 +11279,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long 
> arg1,
>              arg5 = arg6;
>              arg6 = arg7;
>          }
> +#endif
>          ret = -host_to_target_errno(posix_fadvise(arg1,
>                                                    target_offset64(arg2, 
> arg3),
>                                                    target_offset64(arg4, 
> arg5),
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]