[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),
>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH] linux-user: fix fadvise64_64() on ppc,
Laurent Vivier <=