[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 4/4] linux-user: Fix fadvise64() syscall support
From: |
Aleksandar Markovic |
Subject: |
Re: [Qemu-devel] [PATCH 4/4] linux-user: Fix fadvise64() syscall support for Mips32 |
Date: |
Tue, 4 Oct 2016 20:58:17 +0000 |
Hi, Peter,
The file in question is arch/mips/kernel/scall32-o32.S. I'll correct this in
next version. Thank for the reviewing this patch. I am going to answer your
second question tomorrow. The quick answer is actually yes, but there are
caveats, that I will explain tomorrow.
Respectfully,
Aleksandar
________________________________________
From: Peter Maydell address@hidden
Sent: Tuesday, October 04, 2016 1:42 PM
To: Aleksandar Markovic
Cc: QEMU Developers; Riku Voipio; Laurent Vivier; Aurelien Jarno; Yongbok Kim;
Leon Alrae; Petar Jovanovic; Miodrag Dinic; Aleksandar Rikalo; Aleksandar
Markovic
Subject: Re: [PATCH 4/4] linux-user: Fix fadvise64() syscall support for Mips32
On 4 October 2016 at 11:05, Aleksandar Markovic
<address@hidden> wrote:
> From: Aleksandar Markovic <address@hidden>
>
> By looking at the file arch/mips/kernel/sys.S in Linux kernel,
There doesn't appear to be a file by that name:
http://lxr.free-electrons.com/source/arch/mips/kernel/
> it can be deduced that, for Mips32 platform, syscall
> corresponding to number _NR_fadvise64 translates to kernel
> function sys_fadvise64_64, and that argument layout is as
> follows:
> 0 32 0 32
> +----------------+----------------+
> (arg1) | fd | __pad | (arg2)
> +----------------+----------------+
> (arg3) | buffer | (arg4)
> +----------------+----------------+
> (arg5) | len | (arg6)
> +----------------+----------------+
> (arg7) | advise | not used | (arg8)
> +----------------+----------------+
>
> This can be deduced from glibc code as well, and relevant commits
> in linux kernel and glibc.
>
> Mips32 uniqness is that it does not define _NR_fadvise64_64,
> however its fadvise64 implemantation is identical to
> fadvise64_64 impleanentation on most other platforms.
>
> This patch also fixes the failure LTP test posix_fadvise03, if
> executed on Qemu-emulated Mips32 platform (user mode).
We could alternatively fix this by having
#define TARGET_NR_fadvise64_64 (TARGET_NR_Linux + 254)
in linux-user/mips/syscall_nr.h rather than
#define TARGET_NR_fadvise64 (TARGET_NR_Linux + 254)
right?
thanks
-- PMM
[Qemu-devel] [PATCH 2/4] linux-user: Update termbits.h for Mips32, Aleksandar Markovic, 2016/10/04