* [Qemu-devel] [PATCH] Add mincore syscall
@ 2008-09-19 13:33 Riku Voipio
2008-09-19 14:06 ` Kirill A. Shutemov
2008-10-01 21:49 ` Aurelien Jarno
0 siblings, 2 replies; 4+ messages in thread
From: Riku Voipio @ 2008-09-19 13:33 UTC (permalink / raw)
To: qemu-devel
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
---
linux-user/syscall.c | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 8e6e735..cb75c94 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -5574,7 +5574,19 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
goto unimplemented;
#ifdef TARGET_NR_mincore
case TARGET_NR_mincore:
- goto unimplemented;
+ {
+ void *a;
+ ret = -TARGET_EFAULT;
+ if (!(a = lock_user(VERIFY_READ, arg1,arg2, 0)))
+ goto efault;
+ if (!(p = lock_user_string(arg3)))
+ goto mincore_fail;
+ ret = get_errno(mincore(a, arg2, p));
+ unlock_user(p, arg3, ret);
+ mincore_fail:
+ unlock_user(a, arg1, 0);
+ }
+ break;
#endif
#ifdef TARGET_NR_fadvise64_64
case TARGET_NR_fadvise64_64:
--
1.5.6.5
--
"rm -rf" only sounds scary if you don't have backups
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [Qemu-devel] [PATCH] Add mincore syscall
2008-09-19 13:33 [Qemu-devel] [PATCH] Add mincore syscall Riku Voipio
@ 2008-09-19 14:06 ` Kirill A. Shutemov
2008-10-01 21:49 ` Aurelien Jarno
1 sibling, 0 replies; 4+ messages in thread
From: Kirill A. Shutemov @ 2008-09-19 14:06 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 1286 bytes --]
On Fri, Sep 19, 2008 at 04:33:18PM +0300, Riku Voipio wrote:
>
> Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
> ---
> linux-user/syscall.c | 14 +++++++++++++-
> 1 files changed, 13 insertions(+), 1 deletions(-)
>
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 8e6e735..cb75c94 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -5574,7 +5574,19 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
> goto unimplemented;
> #ifdef TARGET_NR_mincore
> case TARGET_NR_mincore:
> - goto unimplemented;
> + {
> + void *a;
> + ret = -TARGET_EFAULT;
> + if (!(a = lock_user(VERIFY_READ, arg1,arg2, 0)))
> + goto efault;
> + if (!(p = lock_user_string(arg3)))
> + goto mincore_fail;
> + ret = get_errno(mincore(a, arg2, p));
> + unlock_user(p, arg3, ret);
> + mincore_fail:
> + unlock_user(a, arg1, 0);
> + }
> + break;
> #endif
> #ifdef TARGET_NR_fadvise64_64
> case TARGET_NR_fadvise64_64:
Looks good for me. Added to my patchset.
--
Regards, Kirill A. Shutemov
+ Belarus, Minsk
+ ALT Linux Team, http://www.altlinux.com/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [Qemu-devel] [PATCH] Add mincore syscall
2008-09-19 13:33 [Qemu-devel] [PATCH] Add mincore syscall Riku Voipio
2008-09-19 14:06 ` Kirill A. Shutemov
@ 2008-10-01 21:49 ` Aurelien Jarno
1 sibling, 0 replies; 4+ messages in thread
From: Aurelien Jarno @ 2008-10-01 21:49 UTC (permalink / raw)
To: qemu-devel
Applied, thanks.
On Fri, Sep 19, 2008 at 04:33:18PM +0300, Riku Voipio wrote:
>
> Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
> ---
> linux-user/syscall.c | 14 +++++++++++++-
> 1 files changed, 13 insertions(+), 1 deletions(-)
>
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 8e6e735..cb75c94 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -5574,7 +5574,19 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
> goto unimplemented;
> #ifdef TARGET_NR_mincore
> case TARGET_NR_mincore:
> - goto unimplemented;
> + {
> + void *a;
> + ret = -TARGET_EFAULT;
> + if (!(a = lock_user(VERIFY_READ, arg1,arg2, 0)))
> + goto efault;
> + if (!(p = lock_user_string(arg3)))
> + goto mincore_fail;
> + ret = get_errno(mincore(a, arg2, p));
> + unlock_user(p, arg3, ret);
> + mincore_fail:
> + unlock_user(a, arg1, 0);
> + }
> + break;
> #endif
> #ifdef TARGET_NR_fadvise64_64
> case TARGET_NR_fadvise64_64:
> --
> 1.5.6.5
>
>
> --
> "rm -rf" only sounds scary if you don't have backups
>
>
>
--
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' aurel32@debian.org | aurelien@aurel32.net
`- people.debian.org/~aurel32 | www.aurel32.net
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Qemu-devel] [PATCH] Add fadvise64 stubs
@ 2008-10-01 13:56 Kirill A. Shutemov
2008-10-01 13:56 ` [Qemu-devel] [PATCH] Add mincore syscall Kirill A. Shutemov
0 siblings, 1 reply; 4+ messages in thread
From: Kirill A. Shutemov @ 2008-10-01 13:56 UTC (permalink / raw)
To: qemu-devel; +Cc: Kirill A. Shutemov, Riku Voipio
Since these are only hints, we happily fake them for now
to make applications not barf on ENOSYS.
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
---
linux-user/syscall.c | 21 +++++++++++++++++++++
1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 40c0ed8..4695416 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -5578,6 +5578,27 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
case TARGET_NR_mincore:
goto unimplemented;
#endif
+#ifdef TARGET_NR_arm_fadvise64_64
+ case TARGET_NR_arm_fadvise64_64:
+ {
+ /*
+ * arm_fadvise64_64 looks like fadvise64_64 but
+ * with different argument order
+ */
+ abi_long temp;
+ temp = arg3;
+ arg3 = arg4;
+ arg4 = temp;
+ }
+#endif
+#if defined(TARGET_NR_fadvise64_64) || defined(TARGET_NR_arm_fadvise64_64)
+#ifdef TARGET_NR_fadvise64_64
+ case TARGET_NR_fadvise64_64:
+#endif
+ /* This is a hint, so ignoring and returning success is ok. */
+ ret = get_errno(0);
+ break;
+#endif
#ifdef TARGET_NR_madvise
case TARGET_NR_madvise:
/* A straight passthrough may not be safe because qemu sometimes
--
1.5.6.5.GIT
^ permalink raw reply related [flat|nested] 4+ messages in thread* [Qemu-devel] [PATCH] Add mincore syscall
2008-10-01 13:56 [Qemu-devel] [PATCH] Add fadvise64 stubs Kirill A. Shutemov
@ 2008-10-01 13:56 ` Kirill A. Shutemov
0 siblings, 0 replies; 4+ messages in thread
From: Kirill A. Shutemov @ 2008-10-01 13:56 UTC (permalink / raw)
To: qemu-devel; +Cc: Kirill A. Shutemov, Riku Voipio
From: Riku Voipio <riku.voipio@iki.fi>
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
---
linux-user/syscall.c | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 4695416..10af2e5 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -5576,7 +5576,19 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
goto unimplemented;
#ifdef TARGET_NR_mincore
case TARGET_NR_mincore:
- goto unimplemented;
+ {
+ void *a;
+ ret = -TARGET_EFAULT;
+ if (!(a = lock_user(VERIFY_READ, arg1,arg2, 0)))
+ goto efault;
+ if (!(p = lock_user_string(arg3)))
+ goto mincore_fail;
+ ret = get_errno(mincore(a, arg2, p));
+ unlock_user(p, arg3, ret);
+ mincore_fail:
+ unlock_user(a, arg1, 0);
+ }
+ break;
#endif
#ifdef TARGET_NR_arm_fadvise64_64
case TARGET_NR_arm_fadvise64_64:
--
1.5.6.5.GIT
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-10-01 21:50 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-19 13:33 [Qemu-devel] [PATCH] Add mincore syscall Riku Voipio
2008-09-19 14:06 ` Kirill A. Shutemov
2008-10-01 21:49 ` Aurelien Jarno
-- strict thread matches above, loose matches on Subject: below --
2008-10-01 13:56 [Qemu-devel] [PATCH] Add fadvise64 stubs Kirill A. Shutemov
2008-10-01 13:56 ` [Qemu-devel] [PATCH] Add mincore syscall Kirill A. Shutemov
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.