summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/i386/kernel/apm.c6
-rw-r--r--arch/i386/kernel/process.c6
-rw-r--r--include/asm-i386/elf.h6
-rw-r--r--include/asm-i386/system.h6
4 files changed, 7 insertions, 17 deletions
diff --git a/arch/i386/kernel/apm.c b/arch/i386/kernel/apm.c
index 8f1d6405a90c..a81108dfb113 100644
--- a/arch/i386/kernel/apm.c
+++ b/arch/i386/kernel/apm.c
@@ -331,12 +331,6 @@ extern int (*console_blank_hook)(int);
#define DEFAULT_BOUNCE_INTERVAL (3 * HZ)
/*
- * Save a segment register away
- */
-#define savesegment(seg, where) \
- __asm__ __volatile__("movl %%" #seg ",%0" : "=m" (where))
-
-/*
* Maximum number of events stored
*/
#define APM_MAX_EVENTS 20
diff --git a/arch/i386/kernel/process.c b/arch/i386/kernel/process.c
index 1c9c7d17dcc5..c6108fa910e1 100644
--- a/arch/i386/kernel/process.c
+++ b/arch/i386/kernel/process.c
@@ -274,12 +274,6 @@ void release_thread(struct task_struct *dead_task)
release_x86_irqs(dead_task);
}
-/*
- * Save a segment.
- */
-#define savesegment(seg,value) \
- asm volatile("movl %%" #seg ",%0":"=m" (*(int *)&(value)))
-
int copy_thread(int nr, unsigned long clone_flags, unsigned long esp,
unsigned long unused,
struct task_struct * p, struct pt_regs * regs)
diff --git a/include/asm-i386/elf.h b/include/asm-i386/elf.h
index f7ad699487b4..73f4067e3995 100644
--- a/include/asm-i386/elf.h
+++ b/include/asm-i386/elf.h
@@ -8,6 +8,7 @@
#include <asm/ptrace.h>
#include <asm/user.h>
#include <asm/processor.h>
+#include <asm/system.h> /* for savesegment */
#include <linux/utsname.h>
@@ -58,11 +59,6 @@ typedef struct user_fxsr_struct elf_fpxregset_t;
#define ELF_ET_DYN_BASE (TASK_SIZE / 3 * 2)
-/* Wow, the "main" arch needs arch dependent functions too.. :) */
-
-#define savesegment(seg,value) \
- asm volatile("movl %%" #seg ",%0":"=m" (*(int *)&(value)))
-
/* regs is struct pt_regs, pr_reg is elf_gregset_t (which is
now struct_user_regs, they are different) */
diff --git a/include/asm-i386/system.h b/include/asm-i386/system.h
index e085e51e9d25..bdc4da98612c 100644
--- a/include/asm-i386/system.h
+++ b/include/asm-i386/system.h
@@ -95,6 +95,12 @@ static inline unsigned long _get_base(char * addr)
: :"m" (*(unsigned int *)&(value)))
/*
+ * Save a segment register away
+ */
+#define savesegment(seg, value) \
+ asm volatile("movl %%" #seg ",%0":"=m" (*(int *)&(value)))
+
+/*
* Clear and set 'TS' bit respectively
*/
#define clts() __asm__ __volatile__ ("clts")