aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-04-15 16:53:55 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-04-15 16:53:55 -0400
commitfa2e5c073a355465a2a8c9a2fbecf404f9857c3a (patch)
tree771be75e5436031ad53649634dffa67f6667b083 /arch/sparc
parente44740c1a94b5d39b093045920f543a7bc135584 (diff)
parent97b2f0dc331474fb80ba4f4e4aee1d8e9ffbf7ce (diff)
Merge branch 'exec_domain_rip_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc
Pull exec domain removal from Richard Weinberger: "This series removes execution domain support from Linux. The idea behind exec domains was to support different ABIs. The feature was never complete nor stable. Let's rip it out and make the kernel signal handling code less complicated" * 'exec_domain_rip_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc: (27 commits) arm64: Removed unused variable sparc: Fix execution domain removal Remove rest of exec domains. arch: Remove exec_domain from remaining archs arc: Remove signal translation and exec_domain xtensa: Remove signal translation and exec_domain xtensa: Autogenerate offsets in struct thread_info x86: Remove signal translation and exec_domain unicore32: Remove signal translation and exec_domain um: Remove signal translation and exec_domain tile: Remove signal translation and exec_domain sparc: Remove signal translation and exec_domain sh: Remove signal translation and exec_domain s390: Remove signal translation and exec_domain mn10300: Remove signal translation and exec_domain microblaze: Remove signal translation and exec_domain m68k: Remove signal translation and exec_domain m32r: Remove signal translation and exec_domain m32r: Autogenerate offsets in struct thread_info frv: Remove signal translation and exec_domain ...
Diffstat (limited to 'arch/sparc')
-rw-r--r--arch/sparc/include/asm/thread_info_32.h15
-rw-r--r--arch/sparc/include/asm/thread_info_64.h26
-rw-r--r--arch/sparc/kernel/traps_32.c1
-rw-r--r--arch/sparc/kernel/traps_64.c2
4 files changed, 18 insertions, 26 deletions
diff --git a/arch/sparc/include/asm/thread_info_32.h b/arch/sparc/include/asm/thread_info_32.h
index fd7bd0a440ca..229475f0d7ce 100644
--- a/arch/sparc/include/asm/thread_info_32.h
+++ b/arch/sparc/include/asm/thread_info_32.h
@@ -27,7 +27,6 @@
27struct thread_info { 27struct thread_info {
28 unsigned long uwinmask; 28 unsigned long uwinmask;
29 struct task_struct *task; /* main task structure */ 29 struct task_struct *task; /* main task structure */
30 struct exec_domain *exec_domain; /* execution domain */
31 unsigned long flags; /* low level flags */ 30 unsigned long flags; /* low level flags */
32 int cpu; /* cpu we're on */ 31 int cpu; /* cpu we're on */
33 int preempt_count; /* 0 => preemptable, 32 int preempt_count; /* 0 => preemptable,
@@ -35,6 +34,8 @@ struct thread_info {
35 int softirq_count; 34 int softirq_count;
36 int hardirq_count; 35 int hardirq_count;
37 36
37 u32 __unused;
38
38 /* Context switch saved kernel state. */ 39 /* Context switch saved kernel state. */
39 unsigned long ksp; /* ... ksp __attribute__ ((aligned (8))); */ 40 unsigned long ksp; /* ... ksp __attribute__ ((aligned (8))); */
40 unsigned long kpc; 41 unsigned long kpc;
@@ -56,7 +57,6 @@ struct thread_info {
56{ \ 57{ \
57 .uwinmask = 0, \ 58 .uwinmask = 0, \
58 .task = &tsk, \ 59 .task = &tsk, \
59 .exec_domain = &default_exec_domain, \
60 .flags = 0, \ 60 .flags = 0, \
61 .cpu = 0, \ 61 .cpu = 0, \
62 .preempt_count = INIT_PREEMPT_COUNT, \ 62 .preempt_count = INIT_PREEMPT_COUNT, \
@@ -85,12 +85,11 @@ register struct thread_info *current_thread_info_reg asm("g6");
85 */ 85 */
86#define TI_UWINMASK 0x00 /* uwinmask */ 86#define TI_UWINMASK 0x00 /* uwinmask */
87#define TI_TASK 0x04 87#define TI_TASK 0x04
88#define TI_EXECDOMAIN 0x08 /* exec_domain */ 88#define TI_FLAGS 0x08
89#define TI_FLAGS 0x0c 89#define TI_CPU 0x0c
90#define TI_CPU 0x10 90#define TI_PREEMPT 0x10 /* preempt_count */
91#define TI_PREEMPT 0x14 /* preempt_count */ 91#define TI_SOFTIRQ 0x14 /* softirq_count */
92#define TI_SOFTIRQ 0x18 /* softirq_count */ 92#define TI_HARDIRQ 0x18 /* hardirq_count */
93#define TI_HARDIRQ 0x1c /* hardirq_count */
94#define TI_KSP 0x20 /* ksp */ 93#define TI_KSP 0x20 /* ksp */
95#define TI_KPC 0x24 /* kpc (ldd'ed with kpc) */ 94#define TI_KPC 0x24 /* kpc (ldd'ed with kpc) */
96#define TI_KPSR 0x28 /* kpsr */ 95#define TI_KPSR 0x28 /* kpsr */
diff --git a/arch/sparc/include/asm/thread_info_64.h b/arch/sparc/include/asm/thread_info_64.h
index ff455164732a..bde59825d06c 100644
--- a/arch/sparc/include/asm/thread_info_64.h
+++ b/arch/sparc/include/asm/thread_info_64.h
@@ -31,7 +31,6 @@
31#include <asm/types.h> 31#include <asm/types.h>
32 32
33struct task_struct; 33struct task_struct;
34struct exec_domain;
35 34
36struct thread_info { 35struct thread_info {
37 /* D$ line 1 */ 36 /* D$ line 1 */
@@ -44,7 +43,6 @@ struct thread_info {
44 /* D$ line 2 */ 43 /* D$ line 2 */
45 unsigned long fault_address; 44 unsigned long fault_address;
46 struct pt_regs *kregs; 45 struct pt_regs *kregs;
47 struct exec_domain *exec_domain;
48 int preempt_count; /* 0 => preemptable, <0 => BUG */ 46 int preempt_count; /* 0 => preemptable, <0 => BUG */
49 __u8 new_child; 47 __u8 new_child;
50 __u8 current_ds; 48 __u8 current_ds;
@@ -80,18 +78,17 @@ struct thread_info {
80#define TI_KSP 0x00000018 78#define TI_KSP 0x00000018
81#define TI_FAULT_ADDR 0x00000020 79#define TI_FAULT_ADDR 0x00000020
82#define TI_KREGS 0x00000028 80#define TI_KREGS 0x00000028
83#define TI_EXEC_DOMAIN 0x00000030 81#define TI_PRE_COUNT 0x00000030
84#define TI_PRE_COUNT 0x00000038 82#define TI_NEW_CHILD 0x00000034
85#define TI_NEW_CHILD 0x0000003c 83#define TI_CURRENT_DS 0x00000035
86#define TI_CURRENT_DS 0x0000003d 84#define TI_CPU 0x00000036
87#define TI_CPU 0x0000003e 85#define TI_UTRAPS 0x00000038
88#define TI_UTRAPS 0x00000040 86#define TI_REG_WINDOW 0x00000040
89#define TI_REG_WINDOW 0x00000048 87#define TI_RWIN_SPTRS 0x000003c0
90#define TI_RWIN_SPTRS 0x000003c8 88#define TI_GSR 0x000003f8
91#define TI_GSR 0x00000400 89#define TI_XFSR 0x00000430
92#define TI_XFSR 0x00000438 90#define TI_KUNA_REGS 0x00000468
93#define TI_KUNA_REGS 0x00000470 91#define TI_KUNA_INSN 0x00000470
94#define TI_KUNA_INSN 0x00000478
95#define TI_FPREGS 0x00000480 92#define TI_FPREGS 0x00000480
96 93
97/* We embed this in the uppermost byte of thread_info->flags */ 94/* We embed this in the uppermost byte of thread_info->flags */
@@ -119,7 +116,6 @@ struct thread_info {
119{ \ 116{ \
120 .task = &tsk, \ 117 .task = &tsk, \
121 .current_ds = ASI_P, \ 118 .current_ds = ASI_P, \
122 .exec_domain = &default_exec_domain, \
123 .preempt_count = INIT_PREEMPT_COUNT, \ 119 .preempt_count = INIT_PREEMPT_COUNT, \
124} 120}
125 121
diff --git a/arch/sparc/kernel/traps_32.c b/arch/sparc/kernel/traps_32.c
index 6fd386c5232a..4f21df7d4f13 100644
--- a/arch/sparc/kernel/traps_32.c
+++ b/arch/sparc/kernel/traps_32.c
@@ -433,7 +433,6 @@ void trap_init(void)
433 /* Force linker to barf if mismatched */ 433 /* Force linker to barf if mismatched */
434 if (TI_UWINMASK != offsetof(struct thread_info, uwinmask) || 434 if (TI_UWINMASK != offsetof(struct thread_info, uwinmask) ||
435 TI_TASK != offsetof(struct thread_info, task) || 435 TI_TASK != offsetof(struct thread_info, task) ||
436 TI_EXECDOMAIN != offsetof(struct thread_info, exec_domain) ||
437 TI_FLAGS != offsetof(struct thread_info, flags) || 436 TI_FLAGS != offsetof(struct thread_info, flags) ||
438 TI_CPU != offsetof(struct thread_info, cpu) || 437 TI_CPU != offsetof(struct thread_info, cpu) ||
439 TI_PREEMPT != offsetof(struct thread_info, preempt_count) || 438 TI_PREEMPT != offsetof(struct thread_info, preempt_count) ||
diff --git a/arch/sparc/kernel/traps_64.c b/arch/sparc/kernel/traps_64.c
index 0e699745d643..d21cd625c0de 100644
--- a/arch/sparc/kernel/traps_64.c
+++ b/arch/sparc/kernel/traps_64.c
@@ -2691,8 +2691,6 @@ void __init trap_init(void)
2691 fault_address) || 2691 fault_address) ||
2692 TI_KREGS != offsetof(struct thread_info, kregs) || 2692 TI_KREGS != offsetof(struct thread_info, kregs) ||
2693 TI_UTRAPS != offsetof(struct thread_info, utraps) || 2693 TI_UTRAPS != offsetof(struct thread_info, utraps) ||
2694 TI_EXEC_DOMAIN != offsetof(struct thread_info,
2695 exec_domain) ||
2696 TI_REG_WINDOW != offsetof(struct thread_info, 2694 TI_REG_WINDOW != offsetof(struct thread_info,
2697 reg_window) || 2695 reg_window) ||
2698 TI_RWIN_SPTRS != offsetof(struct thread_info, 2696 TI_RWIN_SPTRS != offsetof(struct thread_info,