From: "Paolo 'Blaisorblade' Giarrusso" <blaisorblade@yahoo.it>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Jeff Dike <jdike@addtoit.com>,
user-mode-linux-devel@lists.sourceforge.net,
linux-kernel@vger.kernel.org
Subject: [uml-devel] [PATCH 01/10] uml: adapt asm/futex.h to our arch
Date: Wed, 21 Sep 2005 18:37:14 +0200 [thread overview]
Message-ID: <20050921163711.30500.53955.stgit@zion.home.lan> (raw)
In-Reply-To: <200509211822.17590.blaisorblade@yahoo.it>
From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Follow up to 4732efbeb997189d9f9b04708dc26bf8613ed721 - uml must just reuse
as-is the backing architecture support. There is a micro-fixup is needed for the
included file, which won't affect i386 behaviour at all.
I've not tested compilation on x86_64, only on x86, but the code is almost the
same except the culprit test, so everything should be ok on x86_64 too.
Cc: Jakub Jelinek <jakub@redhat.com>
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
---
include/asm-i386/futex.h | 2 +-
include/asm-um/futex.h | 51 +++++-----------------------------------------
2 files changed, 6 insertions(+), 47 deletions(-)
diff --git a/include/asm-i386/futex.h b/include/asm-i386/futex.h
--- a/include/asm-i386/futex.h
+++ b/include/asm-i386/futex.h
@@ -61,7 +61,7 @@ futex_atomic_op_inuser (int encoded_op,
if (op == FUTEX_OP_SET)
__futex_atomic_op1("xchgl %0, %2", ret, oldval, uaddr, oparg);
else {
-#ifndef CONFIG_X86_BSWAP
+#if !defined(CONFIG_X86_BSWAP) && !defined(CONFIG_UML)
if (boot_cpu_data.x86 == 3)
ret = -ENOSYS;
else
diff --git a/include/asm-um/futex.h b/include/asm-um/futex.h
--- a/include/asm-um/futex.h
+++ b/include/asm-um/futex.h
@@ -1,53 +1,12 @@
-#ifndef _ASM_FUTEX_H
-#define _ASM_FUTEX_H
-
-#ifdef __KERNEL__
+#ifndef __UM_FUTEX_H
+#define __UM_FUTEX_H
#include <linux/futex.h>
#include <asm/errno.h>
+#include <asm/system.h>
+#include <asm/processor.h>
#include <asm/uaccess.h>
-static inline int
-futex_atomic_op_inuser (int encoded_op, int __user *uaddr)
-{
- int op = (encoded_op >> 28) & 7;
- int cmp = (encoded_op >> 24) & 15;
- int oparg = (encoded_op << 8) >> 20;
- int cmparg = (encoded_op << 20) >> 20;
- int oldval = 0, ret, tem;
- if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28))
- oparg = 1 << oparg;
-
- if (! access_ok (VERIFY_WRITE, uaddr, sizeof(int)))
- return -EFAULT;
-
- inc_preempt_count();
-
- switch (op) {
- case FUTEX_OP_SET:
- case FUTEX_OP_ADD:
- case FUTEX_OP_OR:
- case FUTEX_OP_ANDN:
- case FUTEX_OP_XOR:
- default:
- ret = -ENOSYS;
- }
+#include "asm/arch/futex.h"
- dec_preempt_count();
-
- if (!ret) {
- switch (cmp) {
- case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break;
- case FUTEX_OP_CMP_NE: ret = (oldval != cmparg); break;
- case FUTEX_OP_CMP_LT: ret = (oldval < cmparg); break;
- case FUTEX_OP_CMP_GE: ret = (oldval >= cmparg); break;
- case FUTEX_OP_CMP_LE: ret = (oldval <= cmparg); break;
- case FUTEX_OP_CMP_GT: ret = (oldval > cmparg); break;
- default: ret = -ENOSYS;
- }
- }
- return ret;
-}
-
-#endif
#endif
-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
next prev parent reply other threads:[~2005-09-21 16:47 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-21 16:22 [uml-devel] [PATCH 0/10] Lots of UML fixups for 2.6.14 Blaisorblade
2005-09-21 16:37 ` Paolo 'Blaisorblade' Giarrusso [this message]
2005-09-21 16:38 ` [uml-devel] [PATCH 02/10] [ALL ARCHES] Remove unused var from asm/futex.h Paolo 'Blaisorblade' Giarrusso
2005-09-21 16:38 ` [uml-devel] [PATCH 03/10] uml: remove verify_area_{tt,skas} Paolo 'Blaisorblade' Giarrusso
2005-09-21 16:38 ` [uml-devel] [PATCH 04/10] uml: fix modify_ldt - missing break in switch Paolo 'Blaisorblade' Giarrusso
2005-09-21 16:39 ` [uml-devel] [PATCH 05/10] uml: fix uname output on 32-bit binary on 64-bit host Paolo 'Blaisorblade' Giarrusso
2005-09-21 16:39 ` [uml-devel] [PATCH 06/10] uml: Fix conflict between libc and ipv6 Paolo 'Blaisorblade' Giarrusso
2005-09-21 16:39 ` [uml-devel] [PATCH 07/10] uml: fix bogus HOST_ELF_CLASS symbol name Paolo 'Blaisorblade' Giarrusso
2005-09-21 16:40 ` [uml-devel] [PATCH 08/10] uml: readd removed unistd.h inclusion Paolo 'Blaisorblade' Giarrusso
2005-09-21 16:40 ` [uml-devel] [PATCH 09/10] uml: comment about cast build fix Paolo 'Blaisorblade' Giarrusso
2005-09-21 16:40 ` [uml-devel] [PATCH 10/10] uml: fix compile warning after consolidation patch Paolo 'Blaisorblade' Giarrusso
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050921163711.30500.53955.stgit@zion.home.lan \
--to=blaisorblade@yahoo.it \
--cc=jdike@addtoit.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@osdl.org \
--cc=user-mode-linux-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox