diff options
author | Jeff Dike <jdike@addtoit.com> | 2007-10-16 04:26:50 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-16 12:43:05 -0400 |
commit | 42fda66387daa53538ae13a2c858396aaf037158 (patch) | |
tree | 77955a91a958fde7be47cb0ff23ac9e1248217db /arch/um/include/sysdep-x86_64 | |
parent | a1ff5878d2628bbe1e42821c024c96f48318f683 (diff) |
uml: throw out CONFIG_MODE_TT
This patchset throws out tt mode, which has been non-functional for a while.
This is done in phases, interspersed with code cleanups on the affected files.
The removal is done as follows:
remove all code, config options, and files which depend on
CONFIG_MODE_TT
get rid of the CHOOSE_MODE macro, which decided whether to
call tt-mode or skas-mode code, and replace invocations with their
skas portions
replace all now-trivial procedures with their skas equivalents
There are now a bunch of now-redundant pieces of data structures, including
mode-specific pieces of the thread structure, pt_regs, and mm_context. These
are all replaced with their skas-specific contents.
As part of the ongoing style compliance project, I made a style pass over all
files that were changed. There are three such patches, one for each phase,
covering the files affected by that phase but no later ones.
I noticed that we weren't freeing the LDT state associated with a process when
it exited, so that's fixed in one of the later patches.
The last patch is a tidying patch which I've had for a while, but which caused
inexplicable crashes under tt mode. Since that is no longer a problem, this
can now go in.
This patch:
Start getting rid of tt mode support.
This patch throws out CONFIG_MODE_TT and all config options, code, and files
which depend on it.
CONFIG_MODE_SKAS is gone and everything that depends on it is included
unconditionally.
The few changed lines are in re-written Kconfig help, lines which needed
something skas-related removed from them, and a few more which weren't
strictly deletions.
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/um/include/sysdep-x86_64')
-rw-r--r-- | arch/um/include/sysdep-x86_64/ptrace.h | 21 | ||||
-rw-r--r-- | arch/um/include/sysdep-x86_64/thread.h | 4 |
2 files changed, 1 insertions, 24 deletions
diff --git a/arch/um/include/sysdep-x86_64/ptrace.h b/arch/um/include/sysdep-x86_64/ptrace.h index 62403bd99661..ff525bda4c11 100644 --- a/arch/um/include/sysdep-x86_64/ptrace.h +++ b/arch/um/include/sysdep-x86_64/ptrace.h | |||
@@ -1,5 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright 2003 PathScale, Inc. | 2 | * Copyright 2003 PathScale, Inc. |
3 | * Copyright (C) 2003 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) | ||
3 | * | 4 | * |
4 | * Licensed under the GPL | 5 | * Licensed under the GPL |
5 | */ | 6 | */ |
@@ -14,11 +15,6 @@ | |||
14 | #define MAX_REG_OFFSET (UM_FRAME_SIZE) | 15 | #define MAX_REG_OFFSET (UM_FRAME_SIZE) |
15 | #define MAX_REG_NR ((MAX_REG_OFFSET) / sizeof(unsigned long)) | 16 | #define MAX_REG_NR ((MAX_REG_OFFSET) / sizeof(unsigned long)) |
16 | 17 | ||
17 | #ifdef UML_CONFIG_MODE_TT | ||
18 | #include "sysdep/sc.h" | ||
19 | #endif | ||
20 | |||
21 | #ifdef UML_CONFIG_MODE_SKAS | ||
22 | #include "skas_ptregs.h" | 18 | #include "skas_ptregs.h" |
23 | 19 | ||
24 | #define REGS_IP(r) ((r)[HOST_IP]) | 20 | #define REGS_IP(r) ((r)[HOST_IP]) |
@@ -88,21 +84,10 @@ | |||
88 | 84 | ||
89 | #define REGS_ERR(r) ((r)->fault_type) | 85 | #define REGS_ERR(r) ((r)->fault_type) |
90 | 86 | ||
91 | #endif | ||
92 | |||
93 | #include "choose-mode.h" | 87 | #include "choose-mode.h" |
94 | 88 | ||
95 | /* XXX */ | 89 | /* XXX */ |
96 | union uml_pt_regs { | 90 | union uml_pt_regs { |
97 | #ifdef UML_CONFIG_MODE_TT | ||
98 | struct tt_regs { | ||
99 | long syscall; | ||
100 | unsigned long orig_rax; | ||
101 | void *sc; | ||
102 | struct faultinfo faultinfo; | ||
103 | } tt; | ||
104 | #endif | ||
105 | #ifdef UML_CONFIG_MODE_SKAS | ||
106 | struct skas_regs { | 91 | struct skas_regs { |
107 | unsigned long regs[MAX_REG_NR]; | 92 | unsigned long regs[MAX_REG_NR]; |
108 | unsigned long fp[HOST_FP_SIZE]; | 93 | unsigned long fp[HOST_FP_SIZE]; |
@@ -110,14 +95,10 @@ union uml_pt_regs { | |||
110 | long syscall; | 95 | long syscall; |
111 | int is_user; | 96 | int is_user; |
112 | } skas; | 97 | } skas; |
113 | #endif | ||
114 | }; | 98 | }; |
115 | 99 | ||
116 | #define EMPTY_UML_PT_REGS { } | 100 | #define EMPTY_UML_PT_REGS { } |
117 | 101 | ||
118 | /* XXX */ | ||
119 | extern int mode_tt; | ||
120 | |||
121 | #define UPT_RBX(r) __CHOOSE_MODE(SC_RBX(UPT_SC(r)), REGS_RBX((r)->skas.regs)) | 102 | #define UPT_RBX(r) __CHOOSE_MODE(SC_RBX(UPT_SC(r)), REGS_RBX((r)->skas.regs)) |
122 | #define UPT_RCX(r) __CHOOSE_MODE(SC_RCX(UPT_SC(r)), REGS_RCX((r)->skas.regs)) | 103 | #define UPT_RCX(r) __CHOOSE_MODE(SC_RCX(UPT_SC(r)), REGS_RCX((r)->skas.regs)) |
123 | #define UPT_RDX(r) __CHOOSE_MODE(SC_RDX(UPT_SC(r)), REGS_RDX((r)->skas.regs)) | 104 | #define UPT_RDX(r) __CHOOSE_MODE(SC_RDX(UPT_SC(r)), REGS_RDX((r)->skas.regs)) |
diff --git a/arch/um/include/sysdep-x86_64/thread.h b/arch/um/include/sysdep-x86_64/thread.h index cbef3e1697f4..d73d0b0afdb7 100644 --- a/arch/um/include/sysdep-x86_64/thread.h +++ b/arch/um/include/sysdep-x86_64/thread.h | |||
@@ -3,8 +3,4 @@ | |||
3 | 3 | ||
4 | #include <kern_constants.h> | 4 | #include <kern_constants.h> |
5 | 5 | ||
6 | #ifdef UML_CONFIG_MODE_TT | ||
7 | #define TASK_EXTERN_PID(task) *((int *) &(((char *) (task))[HOST_TASK_EXTERN_PID])) | ||
8 | #endif | ||
9 | |||
10 | #endif | 6 | #endif |