um: merge arch/um/os-Linux/sys-{i386,x86_64}
authorAl Viro <viro@ftp.linux.org.uk>
Thu, 18 Aug 2011 19:03:49 +0000 (20:03 +0100)
committerRichard Weinberger <richard@nod.at>
Wed, 2 Nov 2011 13:14:53 +0000 (14:14 +0100)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
14 files changed:
arch/um/os-Linux/Makefile
arch/um/os-Linux/sys-i386/Makefile [deleted file]
arch/um/os-Linux/sys-i386/registers.c [deleted file]
arch/um/os-Linux/sys-i386/task_size.c [deleted file]
arch/um/os-Linux/sys-i386/tls.c [deleted file]
arch/um/os-Linux/sys-x86/Makefile [new file with mode: 0644]
arch/um/os-Linux/sys-x86/prctl.c [new file with mode: 0644]
arch/um/os-Linux/sys-x86/registers.c [new file with mode: 0644]
arch/um/os-Linux/sys-x86/task_size.c [new file with mode: 0644]
arch/um/os-Linux/sys-x86/tls.c [new file with mode: 0644]
arch/um/os-Linux/sys-x86_64/Makefile [deleted file]
arch/um/os-Linux/sys-x86_64/prctl.c [deleted file]
arch/um/os-Linux/sys-x86_64/registers.c [deleted file]
arch/um/os-Linux/sys-x86_64/task_size.c [deleted file]

index 7aec5bfea3314883b3433af8db360a31d09966ba..7879e76e998f6a34fdfe9b5f123f7c00c5315463 100644 (file)
@@ -5,7 +5,7 @@
 
 obj-y = aio.o execvp.o file.o helper.o irq.o main.o mem.o process.o \
        registers.o sigio.o signal.o start_up.o time.o tty.o \
-       umid.o tls.o user_syms.o util.o drivers/ sys-$(SUBARCH)/ skas/
+       umid.o tls.o user_syms.o util.o drivers/ sys-$(HEADER_ARCH)/ skas/
 
 obj-$(CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA) += elf_aux.o
 
diff --git a/arch/um/os-Linux/sys-i386/Makefile b/arch/um/os-Linux/sys-i386/Makefile
deleted file mode 100644 (file)
index d491754..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#
-# Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
-# Licensed under the GPL
-#
-
-obj-y = registers.o task_size.o tls.o
-
-USER_OBJS := $(obj-y)
-
-include arch/um/scripts/Makefile.rules
diff --git a/arch/um/os-Linux/sys-i386/registers.c b/arch/um/os-Linux/sys-i386/registers.c
deleted file mode 100644 (file)
index 913d811..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (C) 2004 PathScale, Inc
- * Copyright (C) 2004 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
- * Licensed under the GPL
- */
-
-#include <errno.h>
-#include <sys/ptrace.h>
-#include <sys/user.h>
-#include "longjmp.h"
-#include "sysdep/ptrace_user.h"
-
-int save_fp_registers(int pid, unsigned long *fp_regs)
-{
-       if (ptrace(PTRACE_GETFPREGS, pid, 0, fp_regs) < 0)
-               return -errno;
-       return 0;
-}
-
-int restore_fp_registers(int pid, unsigned long *fp_regs)
-{
-       if (ptrace(PTRACE_SETFPREGS, pid, 0, fp_regs) < 0)
-               return -errno;
-       return 0;
-}
-
-int save_fpx_registers(int pid, unsigned long *fp_regs)
-{
-       if (ptrace(PTRACE_GETFPXREGS, pid, 0, fp_regs) < 0)
-               return -errno;
-       return 0;
-}
-
-int restore_fpx_registers(int pid, unsigned long *fp_regs)
-{
-       if (ptrace(PTRACE_SETFPXREGS, pid, 0, fp_regs) < 0)
-               return -errno;
-       return 0;
-}
-
-unsigned long get_thread_reg(int reg, jmp_buf *buf)
-{
-       switch (reg) {
-       case EIP:
-               return buf[0]->__eip;
-       case UESP:
-               return buf[0]->__esp;
-       case EBP:
-               return buf[0]->__ebp;
-       default:
-               printk(UM_KERN_ERR "get_thread_regs - unknown register %d\n",
-                      reg);
-               return 0;
-       }
-}
-
-int have_fpx_regs = 1;
-
-int get_fp_registers(int pid, unsigned long *regs)
-{
-       if (have_fpx_regs)
-               return save_fpx_registers(pid, regs);
-       else
-               return save_fp_registers(pid, regs);
-}
-
-int put_fp_registers(int pid, unsigned long *regs)
-{
-       if (have_fpx_regs)
-               return restore_fpx_registers(pid, regs);
-       else
-               return restore_fp_registers(pid, regs);
-}
-
-void arch_init_registers(int pid)
-{
-       struct user_fpxregs_struct fpx_regs;
-       int err;
-
-       err = ptrace(PTRACE_GETFPXREGS, pid, 0, &fpx_regs);
-       if (!err)
-               return;
-
-       if (errno != EIO)
-               panic("check_ptrace : PTRACE_GETFPXREGS failed, errno = %d",
-                     errno);
-
-       have_fpx_regs = 0;
-}
diff --git a/arch/um/os-Linux/sys-i386/task_size.c b/arch/um/os-Linux/sys-i386/task_size.c
deleted file mode 100644 (file)
index 4ce09b8..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <signal.h>
-#include <sys/mman.h>
-#include "longjmp.h"
-
-static jmp_buf buf;
-
-static void segfault(int sig)
-{
-       longjmp(buf, 1);
-}
-
-static int page_ok(unsigned long page)
-{
-       unsigned long *address = (unsigned long *) (page << UM_KERN_PAGE_SHIFT);
-       unsigned long n = ~0UL;
-       void *mapped = NULL;
-       int ok = 0;
-
-       /*
-        * First see if the page is readable.  If it is, it may still
-        * be a VDSO, so we go on to see if it's writable.  If not
-        * then try mapping memory there.  If that fails, then we're
-        * still in the kernel area.  As a sanity check, we'll fail if
-        * the mmap succeeds, but gives us an address different from
-        * what we wanted.
-        */
-       if (setjmp(buf) == 0)
-               n = *address;
-       else {
-               mapped = mmap(address, UM_KERN_PAGE_SIZE,
-                             PROT_READ | PROT_WRITE,
-                             MAP_FIXED | MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
-               if (mapped == MAP_FAILED)
-                       return 0;
-               if (mapped != address)
-                       goto out;
-       }
-
-       /*
-        * Now, is it writeable?  If so, then we're in user address
-        * space.  If not, then try mprotecting it and try the write
-        * again.
-        */
-       if (setjmp(buf) == 0) {
-               *address = n;
-               ok = 1;
-               goto out;
-       } else if (mprotect(address, UM_KERN_PAGE_SIZE,
-                           PROT_READ | PROT_WRITE) != 0)
-               goto out;
-
-       if (setjmp(buf) == 0) {
-               *address = n;
-               ok = 1;
-       }
-
- out:
-       if (mapped != NULL)
-               munmap(mapped, UM_KERN_PAGE_SIZE);
-       return ok;
-}
-
-unsigned long os_get_top_address(void)
-{
-       struct sigaction sa, old;
-       unsigned long bottom = 0;
-       /*
-        * A 32-bit UML on a 64-bit host gets confused about the VDSO at
-        * 0xffffe000.  It is mapped, is readable, can be reprotected writeable
-        * and written.  However, exec discovers later that it can't be
-        * unmapped.  So, just set the highest address to be checked to just
-        * below it.  This might waste some address space on 4G/4G 32-bit
-        * hosts, but shouldn't hurt otherwise.
-        */
-       unsigned long top = 0xffffd000 >> UM_KERN_PAGE_SHIFT;
-       unsigned long test, original;
-
-       printf("Locating the bottom of the address space ... ");
-       fflush(stdout);
-
-       /*
-        * We're going to be longjmping out of the signal handler, so
-        * SA_DEFER needs to be set.
-        */
-       sa.sa_handler = segfault;
-       sigemptyset(&sa.sa_mask);
-       sa.sa_flags = SA_NODEFER;
-       if (sigaction(SIGSEGV, &sa, &old)) {
-               perror("os_get_top_address");
-               exit(1);
-       }
-
-       /* Manually scan the address space, bottom-up, until we find
-        * the first valid page (or run out of them).
-        */
-       for (bottom = 0; bottom < top; bottom++) {
-               if (page_ok(bottom))
-                       break;
-       }
-
-       /* If we've got this far, we ran out of pages. */
-       if (bottom == top) {
-               fprintf(stderr, "Unable to determine bottom of address "
-                       "space.\n");
-               exit(1);
-       }
-
-       printf("0x%x\n", bottom << UM_KERN_PAGE_SHIFT);
-       printf("Locating the top of the address space ... ");
-       fflush(stdout);
-
-       original = bottom;
-
-       /* This could happen with a 4G/4G split */
-       if (page_ok(top))
-               goto out;
-
-       do {
-               test = bottom + (top - bottom) / 2;
-               if (page_ok(test))
-                       bottom = test;
-               else
-                       top = test;
-       } while (top - bottom > 1);
-
-out:
-       /* Restore the old SIGSEGV handling */
-       if (sigaction(SIGSEGV, &old, NULL)) {
-               perror("os_get_top_address");
-               exit(1);
-       }
-       top <<= UM_KERN_PAGE_SHIFT;
-       printf("0x%x\n", top);
-
-       return top;
-}
diff --git a/arch/um/os-Linux/sys-i386/tls.c b/arch/um/os-Linux/sys-i386/tls.c
deleted file mode 100644 (file)
index 281e83e..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <errno.h>
-#include <linux/unistd.h>
-
-#include <sys/syscall.h>
-#include <unistd.h>
-
-#include "sysdep/tls.h"
-
-/* Checks whether host supports TLS, and sets *tls_min according to the value
- * valid on the host.
- * i386 host have it == 6; x86_64 host have it == 12, for i386 emulation. */
-void check_host_supports_tls(int *supports_tls, int *tls_min) {
-       /* Values for x86 and x86_64.*/
-       int val[] = {GDT_ENTRY_TLS_MIN_I386, GDT_ENTRY_TLS_MIN_X86_64};
-       int i;
-
-       for (i = 0; i < ARRAY_SIZE(val); i++) {
-               user_desc_t info;
-               info.entry_number = val[i];
-
-               if (syscall(__NR_get_thread_area, &info) == 0) {
-                       *tls_min = val[i];
-                       *supports_tls = 1;
-                       return;
-               } else {
-                       if (errno == EINVAL)
-                               continue;
-                       else if (errno == ENOSYS)
-                               *supports_tls = 0;
-                               return;
-               }
-       }
-
-       *supports_tls = 0;
-}
diff --git a/arch/um/os-Linux/sys-x86/Makefile b/arch/um/os-Linux/sys-x86/Makefile
new file mode 100644 (file)
index 0000000..22cc507
--- /dev/null
@@ -0,0 +1,13 @@
+#
+# Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
+# Licensed under the GPL
+#
+
+obj-y = registers.o task_size.o
+
+obj-$(CONFIG_X86_32) += tls.o
+obj-$(CONFIG_64BIT) += prctl.o
+
+USER_OBJS := $(obj-y)
+
+include arch/um/scripts/Makefile.rules
diff --git a/arch/um/os-Linux/sys-x86/prctl.c b/arch/um/os-Linux/sys-x86/prctl.c
new file mode 100644 (file)
index 0000000..9d34edd
--- /dev/null
@@ -0,0 +1,12 @@
+/*
+ * Copyright (C) 2007 Jeff Dike (jdike@{addtoit.com,linux.intel.com})
+ * Licensed under the GPL
+ */
+
+#include <sys/ptrace.h>
+#include <linux/ptrace.h>
+
+int os_arch_prctl(int pid, int code, unsigned long *addr)
+{
+        return ptrace(PTRACE_ARCH_PRCTL, pid, (unsigned long) addr, code);
+}
diff --git a/arch/um/os-Linux/sys-x86/registers.c b/arch/um/os-Linux/sys-x86/registers.c
new file mode 100644 (file)
index 0000000..3a9b624
--- /dev/null
@@ -0,0 +1,111 @@
+/*
+ * Copyright (C) 2004 PathScale, Inc
+ * Copyright (C) 2004 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
+ * Licensed under the GPL
+ */
+
+#include <errno.h>
+#include <sys/ptrace.h>
+#include <sys/user.h>
+#include "longjmp.h"
+#include "sysdep/ptrace_user.h"
+
+int save_fp_registers(int pid, unsigned long *fp_regs)
+{
+       if (ptrace(PTRACE_GETFPREGS, pid, 0, fp_regs) < 0)
+               return -errno;
+       return 0;
+}
+
+int restore_fp_registers(int pid, unsigned long *fp_regs)
+{
+       if (ptrace(PTRACE_SETFPREGS, pid, 0, fp_regs) < 0)
+               return -errno;
+       return 0;
+}
+
+#ifdef __i386__
+int have_fpx_regs = 1;
+int save_fpx_registers(int pid, unsigned long *fp_regs)
+{
+       if (ptrace(PTRACE_GETFPXREGS, pid, 0, fp_regs) < 0)
+               return -errno;
+       return 0;
+}
+
+int restore_fpx_registers(int pid, unsigned long *fp_regs)
+{
+       if (ptrace(PTRACE_SETFPXREGS, pid, 0, fp_regs) < 0)
+               return -errno;
+       return 0;
+}
+
+int get_fp_registers(int pid, unsigned long *regs)
+{
+       if (have_fpx_regs)
+               return save_fpx_registers(pid, regs);
+       else
+               return save_fp_registers(pid, regs);
+}
+
+int put_fp_registers(int pid, unsigned long *regs)
+{
+       if (have_fpx_regs)
+               return restore_fpx_registers(pid, regs);
+       else
+               return restore_fp_registers(pid, regs);
+}
+
+void arch_init_registers(int pid)
+{
+       struct user_fpxregs_struct fpx_regs;
+       int err;
+
+       err = ptrace(PTRACE_GETFPXREGS, pid, 0, &fpx_regs);
+       if (!err)
+               return;
+
+       if (errno != EIO)
+               panic("check_ptrace : PTRACE_GETFPXREGS failed, errno = %d",
+                     errno);
+
+       have_fpx_regs = 0;
+}
+#else
+
+int get_fp_registers(int pid, unsigned long *regs)
+{
+       return save_fp_registers(pid, regs);
+}
+
+int put_fp_registers(int pid, unsigned long *regs)
+{
+       return restore_fp_registers(pid, regs);
+}
+
+#endif
+
+unsigned long get_thread_reg(int reg, jmp_buf *buf)
+{
+       switch (reg) {
+#ifdef __i386__
+       case EIP:
+               return buf[0]->__eip;
+       case UESP:
+               return buf[0]->__esp;
+       case EBP:
+               return buf[0]->__ebp;
+#else
+       case RIP:
+               return buf[0]->__rip;
+       case RSP:
+               return buf[0]->__rsp;
+       case RBP:
+               return buf[0]->__rbp;
+#endif
+       default:
+               printk(UM_KERN_ERR "get_thread_regs - unknown register %d\n",
+                      reg);
+               return 0;
+       }
+}
diff --git a/arch/um/os-Linux/sys-x86/task_size.c b/arch/um/os-Linux/sys-x86/task_size.c
new file mode 100644 (file)
index 0000000..efb16c5
--- /dev/null
@@ -0,0 +1,150 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <signal.h>
+#include <sys/mman.h>
+#include "longjmp.h"
+
+#ifdef __i386__
+
+static jmp_buf buf;
+
+static void segfault(int sig)
+{
+       longjmp(buf, 1);
+}
+
+static int page_ok(unsigned long page)
+{
+       unsigned long *address = (unsigned long *) (page << UM_KERN_PAGE_SHIFT);
+       unsigned long n = ~0UL;
+       void *mapped = NULL;
+       int ok = 0;
+
+       /*
+        * First see if the page is readable.  If it is, it may still
+        * be a VDSO, so we go on to see if it's writable.  If not
+        * then try mapping memory there.  If that fails, then we're
+        * still in the kernel area.  As a sanity check, we'll fail if
+        * the mmap succeeds, but gives us an address different from
+        * what we wanted.
+        */
+       if (setjmp(buf) == 0)
+               n = *address;
+       else {
+               mapped = mmap(address, UM_KERN_PAGE_SIZE,
+                             PROT_READ | PROT_WRITE,
+                             MAP_FIXED | MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+               if (mapped == MAP_FAILED)
+                       return 0;
+               if (mapped != address)
+                       goto out;
+       }
+
+       /*
+        * Now, is it writeable?  If so, then we're in user address
+        * space.  If not, then try mprotecting it and try the write
+        * again.
+        */
+       if (setjmp(buf) == 0) {
+               *address = n;
+               ok = 1;
+               goto out;
+       } else if (mprotect(address, UM_KERN_PAGE_SIZE,
+                           PROT_READ | PROT_WRITE) != 0)
+               goto out;
+
+       if (setjmp(buf) == 0) {
+               *address = n;
+               ok = 1;
+       }
+
+ out:
+       if (mapped != NULL)
+               munmap(mapped, UM_KERN_PAGE_SIZE);
+       return ok;
+}
+
+unsigned long os_get_top_address(void)
+{
+       struct sigaction sa, old;
+       unsigned long bottom = 0;
+       /*
+        * A 32-bit UML on a 64-bit host gets confused about the VDSO at
+        * 0xffffe000.  It is mapped, is readable, can be reprotected writeable
+        * and written.  However, exec discovers later that it can't be
+        * unmapped.  So, just set the highest address to be checked to just
+        * below it.  This might waste some address space on 4G/4G 32-bit
+        * hosts, but shouldn't hurt otherwise.
+        */
+       unsigned long top = 0xffffd000 >> UM_KERN_PAGE_SHIFT;
+       unsigned long test, original;
+
+       printf("Locating the bottom of the address space ... ");
+       fflush(stdout);
+
+       /*
+        * We're going to be longjmping out of the signal handler, so
+        * SA_DEFER needs to be set.
+        */
+       sa.sa_handler = segfault;
+       sigemptyset(&sa.sa_mask);
+       sa.sa_flags = SA_NODEFER;
+       if (sigaction(SIGSEGV, &sa, &old)) {
+               perror("os_get_top_address");
+               exit(1);
+       }
+
+       /* Manually scan the address space, bottom-up, until we find
+        * the first valid page (or run out of them).
+        */
+       for (bottom = 0; bottom < top; bottom++) {
+               if (page_ok(bottom))
+                       break;
+       }
+
+       /* If we've got this far, we ran out of pages. */
+       if (bottom == top) {
+               fprintf(stderr, "Unable to determine bottom of address "
+                       "space.\n");
+               exit(1);
+       }
+
+       printf("0x%x\n", bottom << UM_KERN_PAGE_SHIFT);
+       printf("Locating the top of the address space ... ");
+       fflush(stdout);
+
+       original = bottom;
+
+       /* This could happen with a 4G/4G split */
+       if (page_ok(top))
+               goto out;
+
+       do {
+               test = bottom + (top - bottom) / 2;
+               if (page_ok(test))
+                       bottom = test;
+               else
+                       top = test;
+       } while (top - bottom > 1);
+
+out:
+       /* Restore the old SIGSEGV handling */
+       if (sigaction(SIGSEGV, &old, NULL)) {
+               perror("os_get_top_address");
+               exit(1);
+       }
+       top <<= UM_KERN_PAGE_SHIFT;
+       printf("0x%x\n", top);
+
+       return top;
+}
+
+#else
+
+unsigned long os_get_top_address(void)
+{
+       /* The old value of CONFIG_TOP_ADDR */
+       return 0x7fc0000000;
+}
+
+#endif
diff --git a/arch/um/os-Linux/sys-x86/tls.c b/arch/um/os-Linux/sys-x86/tls.c
new file mode 100644 (file)
index 0000000..281e83e
--- /dev/null
@@ -0,0 +1,35 @@
+#include <errno.h>
+#include <linux/unistd.h>
+
+#include <sys/syscall.h>
+#include <unistd.h>
+
+#include "sysdep/tls.h"
+
+/* Checks whether host supports TLS, and sets *tls_min according to the value
+ * valid on the host.
+ * i386 host have it == 6; x86_64 host have it == 12, for i386 emulation. */
+void check_host_supports_tls(int *supports_tls, int *tls_min) {
+       /* Values for x86 and x86_64.*/
+       int val[] = {GDT_ENTRY_TLS_MIN_I386, GDT_ENTRY_TLS_MIN_X86_64};
+       int i;
+
+       for (i = 0; i < ARRAY_SIZE(val); i++) {
+               user_desc_t info;
+               info.entry_number = val[i];
+
+               if (syscall(__NR_get_thread_area, &info) == 0) {
+                       *tls_min = val[i];
+                       *supports_tls = 1;
+                       return;
+               } else {
+                       if (errno == EINVAL)
+                               continue;
+                       else if (errno == ENOSYS)
+                               *supports_tls = 0;
+                               return;
+               }
+       }
+
+       *supports_tls = 0;
+}
diff --git a/arch/um/os-Linux/sys-x86_64/Makefile b/arch/um/os-Linux/sys-x86_64/Makefile
deleted file mode 100644 (file)
index 58f6e0a..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#
-# Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
-# Licensed under the GPL
-#
-
-obj-y = registers.o prctl.o task_size.o
-
-USER_OBJS := $(obj-y)
-
-include arch/um/scripts/Makefile.rules
diff --git a/arch/um/os-Linux/sys-x86_64/prctl.c b/arch/um/os-Linux/sys-x86_64/prctl.c
deleted file mode 100644 (file)
index 9d34edd..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Copyright (C) 2007 Jeff Dike (jdike@{addtoit.com,linux.intel.com})
- * Licensed under the GPL
- */
-
-#include <sys/ptrace.h>
-#include <linux/ptrace.h>
-
-int os_arch_prctl(int pid, int code, unsigned long *addr)
-{
-        return ptrace(PTRACE_ARCH_PRCTL, pid, (unsigned long) addr, code);
-}
diff --git a/arch/um/os-Linux/sys-x86_64/registers.c b/arch/um/os-Linux/sys-x86_64/registers.c
deleted file mode 100644 (file)
index 0594d55..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2006 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
- * Licensed under the GPL
- */
-
-#include <errno.h>
-#include <sys/ptrace.h>
-#define __FRAME_OFFSETS
-#include <asm/ptrace.h>
-#include "longjmp.h"
-
-int save_fp_registers(int pid, unsigned long *fp_regs)
-{
-       if (ptrace(PTRACE_GETFPREGS, pid, 0, fp_regs) < 0)
-               return -errno;
-       return 0;
-}
-
-int restore_fp_registers(int pid, unsigned long *fp_regs)
-{
-       if (ptrace(PTRACE_SETFPREGS, pid, 0, fp_regs) < 0)
-               return -errno;
-       return 0;
-}
-
-unsigned long get_thread_reg(int reg, jmp_buf *buf)
-{
-       switch (reg) {
-       case RIP:
-               return buf[0]->__rip;
-       case RSP:
-               return buf[0]->__rsp;
-       case RBP:
-               return buf[0]->__rbp;
-       default:
-               printk(UM_KERN_ERR "get_thread_regs - unknown register %d\n",
-                      reg);
-               return 0;
-       }
-}
-
-int get_fp_registers(int pid, unsigned long *regs)
-{
-       return save_fp_registers(pid, regs);
-}
-
-int put_fp_registers(int pid, unsigned long *regs)
-{
-       return restore_fp_registers(pid, regs);
-}
diff --git a/arch/um/os-Linux/sys-x86_64/task_size.c b/arch/um/os-Linux/sys-x86_64/task_size.c
deleted file mode 100644 (file)
index 26a0dd1..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-unsigned long os_get_top_address(unsigned long shift)
-{
-       /* The old value of CONFIG_TOP_ADDR */
-       return 0x7fc0000000;
-}