aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arc
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2013-02-11 09:25:33 -0500
committerVineet Gupta <vgupta@synopsys.com>2013-02-15 12:46:11 -0500
commit8c2f4a8dd0e0fc9dcaf14c768544039eddfa7375 (patch)
tree2cee072559f4686dd070fdeb930b05e2aafa8449 /arch/arc
parentcbe056f76a386708f3807b274322f78269aee0f6 (diff)
ARC: UAPI Disintegrate arch/arc/include/asm
1. ./genfilelist.pl arch/arc/include/asm/ 2. Create arch/arc/include/uapi/asm/Kbuild as follows +# UAPI Header export list +include include/uapi/asm-generic/Kbuild.asm 3. ./disintegrate-one.pl arch/arc/include/{,uapi/}asm/<above-list> 4. Edit arch/arc/include/asm/Kbuild to remove ref to asm-generic/Kbuild.asm - To work around empty uapi/asm/setup.h added a placholder comment. - Also a manual #ifdef __ASSEMBLY__ for a late ptrace change Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Cc: David Howells <dhowells@redhat.com>
Diffstat (limited to 'arch/arc')
-rw-r--r--arch/arc/include/asm/Kbuild8
-rw-r--r--arch/arc/include/asm/page.h30
-rw-r--r--arch/arc/include/asm/ptrace.h38
-rw-r--r--arch/arc/include/asm/setup.h3
-rw-r--r--arch/arc/include/uapi/asm/Kbuild11
-rw-r--r--arch/arc/include/uapi/asm/byteorder.h (renamed from arch/arc/include/asm/byteorder.h)0
-rw-r--r--arch/arc/include/uapi/asm/cachectl.h (renamed from arch/arc/include/asm/cachectl.h)0
-rw-r--r--arch/arc/include/uapi/asm/page.h39
-rw-r--r--arch/arc/include/uapi/asm/ptrace.h48
-rw-r--r--arch/arc/include/uapi/asm/setup.h6
-rw-r--r--arch/arc/include/uapi/asm/sigcontext.h (renamed from arch/arc/include/asm/sigcontext.h)0
-rw-r--r--arch/arc/include/uapi/asm/signal.h (renamed from arch/arc/include/asm/signal.h)0
-rw-r--r--arch/arc/include/uapi/asm/swab.h (renamed from arch/arc/include/asm/swab.h)0
-rw-r--r--arch/arc/include/uapi/asm/unistd.h (renamed from arch/arc/include/asm/unistd.h)0
14 files changed, 108 insertions, 75 deletions
diff --git a/arch/arc/include/asm/Kbuild b/arch/arc/include/asm/Kbuild
index b24089c974a9..48af742f8b5a 100644
--- a/arch/arc/include/asm/Kbuild
+++ b/arch/arc/include/asm/Kbuild
@@ -1,11 +1,3 @@
1include include/asm-generic/Kbuild.asm
2
3# 7-Oct-12: Jeremy Bennett <jeremy.bennett@embecosm.com>. Some of these
4# headers, beyond those specified in the generic set are needed by user code.
5
6header-y += page.h
7header-y += cachectl.h
8
9generic-y += auxvec.h 1generic-y += auxvec.h
10generic-y += bugs.h 2generic-y += bugs.h
11generic-y += bitsperlong.h 3generic-y += bitsperlong.h
diff --git a/arch/arc/include/asm/page.h b/arch/arc/include/asm/page.h
index d111d0cea9cc..dfe1f8a95f1d 100644
--- a/arch/arc/include/asm/page.h
+++ b/arch/arc/include/asm/page.h
@@ -5,37 +5,11 @@
5 * it under the terms of the GNU General Public License version 2 as 5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation. 6 * published by the Free Software Foundation.
7 */ 7 */
8
9#ifndef __ASM_ARC_PAGE_H 8#ifndef __ASM_ARC_PAGE_H
10#define __ASM_ARC_PAGE_H 9#define __ASM_ARC_PAGE_H
11 10
12/* PAGE_SHIFT determines the page size */ 11#include <uapi/asm/page.h>
13#if defined(CONFIG_ARC_PAGE_SIZE_16K)
14#define PAGE_SHIFT 14
15#elif defined(CONFIG_ARC_PAGE_SIZE_4K)
16#define PAGE_SHIFT 12
17#else
18/*
19 * Default 8k
20 * done this way (instead of under CONFIG_ARC_PAGE_SIZE_8K) because adhoc
21 * user code (busybox appletlib.h) expects PAGE_SHIFT to be defined w/o
22 * using the correct uClibc header and in their build our autoconf.h is
23 * not available
24 */
25#define PAGE_SHIFT 13
26#endif
27
28#ifdef __ASSEMBLY__
29#define PAGE_SIZE (1 << PAGE_SHIFT)
30#define PAGE_OFFSET (0x80000000)
31#else
32#define PAGE_SIZE (1UL << PAGE_SHIFT) /* Default 8K */
33#define PAGE_OFFSET (0x80000000UL) /* Kernel starts at 2G onwards */
34#endif
35 12
36#define PAGE_MASK (~(PAGE_SIZE-1))
37
38#ifdef __KERNEL__
39 13
40#ifndef __ASSEMBLY__ 14#ifndef __ASSEMBLY__
41 15
@@ -129,6 +103,4 @@ typedef unsigned long pgtable_t;
129 103
130#endif /* !__ASSEMBLY__ */ 104#endif /* !__ASSEMBLY__ */
131 105
132#endif /* __KERNEL__ */
133
134#endif 106#endif
diff --git a/arch/arc/include/asm/ptrace.h b/arch/arc/include/asm/ptrace.h
index df5b95213776..8ae783d20a81 100644
--- a/arch/arc/include/asm/ptrace.h
+++ b/arch/arc/include/asm/ptrace.h
@@ -7,11 +7,10 @@
7 * 7 *
8 * Amit Bhor, Sameer Dhavale: Codito Technologies 2004 8 * Amit Bhor, Sameer Dhavale: Codito Technologies 2004
9 */ 9 */
10
11#ifndef __ASM_ARC_PTRACE_H 10#ifndef __ASM_ARC_PTRACE_H
12#define __ASM_ARC_PTRACE_H 11#define __ASM_ARC_PTRACE_H
13 12
14#ifdef __KERNEL__ 13#include <uapi/asm/ptrace.h>
15 14
16#ifndef __ASSEMBLY__ 15#ifndef __ASSEMBLY__
17 16
@@ -128,39 +127,4 @@ static inline long regs_return_value(struct pt_regs *regs)
128#define orig_r8_IS_IRQ1 0x0010 127#define orig_r8_IS_IRQ1 0x0010
129#define orig_r8_IS_IRQ2 0x0020 128#define orig_r8_IS_IRQ2 0x0020
130 129
131#endif /* __KERNEL__ */
132
133#ifndef __ASSEMBLY__
134/*
135 * Userspace ABI: Register state needed by
136 * -ptrace (gdbserver)
137 * -sigcontext (SA_SIGNINFO signal frame)
138 *
139 * This is to decouple pt_regs from user-space ABI, to be able to change it
140 * w/o affecting the ABI.
141 * Although the layout (initial padding) is similar to pt_regs to have some
142 * optimizations when copying pt_regs to/from user_regs_struct.
143 *
144 * Also, sigcontext only care about the scratch regs as that is what we really
145 * save/restore for signal handling.
146*/
147struct user_regs_struct {
148
149 struct scratch {
150 long pad;
151 long bta, lp_start, lp_end, lp_count;
152 long status32, ret, blink, fp, gp;
153 long r12, r11, r10, r9, r8, r7, r6, r5, r4, r3, r2, r1, r0;
154 long sp;
155 } scratch;
156 struct callee {
157 long pad;
158 long r25, r24, r23, r22, r21, r20;
159 long r19, r18, r17, r16, r15, r14, r13;
160 } callee;
161 long efa; /* break pt addr, for break points in delay slots */
162 long stop_pc; /* give dbg stop_pc directly after checking orig_r8 */
163};
164#endif /* !__ASSEMBLY__ */
165
166#endif /* __ASM_PTRACE_H */ 130#endif /* __ASM_PTRACE_H */
diff --git a/arch/arc/include/asm/setup.h b/arch/arc/include/asm/setup.h
index fc97411269fe..229e50681497 100644
--- a/arch/arc/include/asm/setup.h
+++ b/arch/arc/include/asm/setup.h
@@ -5,11 +5,12 @@
5 * it under the terms of the GNU General Public License version 2 as 5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation. 6 * published by the Free Software Foundation.
7 */ 7 */
8
9#ifndef __ASMARC_SETUP_H 8#ifndef __ASMARC_SETUP_H
10#define __ASMARC_SETUP_H 9#define __ASMARC_SETUP_H
11 10
11
12#include <linux/types.h> 12#include <linux/types.h>
13#include <uapi/asm/setup.h>
13 14
14#define COMMAND_LINE_SIZE 256 15#define COMMAND_LINE_SIZE 256
15 16
diff --git a/arch/arc/include/uapi/asm/Kbuild b/arch/arc/include/uapi/asm/Kbuild
new file mode 100644
index 000000000000..27362446c710
--- /dev/null
+++ b/arch/arc/include/uapi/asm/Kbuild
@@ -0,0 +1,11 @@
1# UAPI Header export list
2include include/uapi/asm-generic/Kbuild.asm
3header-y += page.h
4header-y += setup.h
5header-y += byteorder.h
6header-y += cachectl.h
7header-y += ptrace.h
8header-y += sigcontext.h
9header-y += signal.h
10header-y += swab.h
11header-y += unistd.h
diff --git a/arch/arc/include/asm/byteorder.h b/arch/arc/include/uapi/asm/byteorder.h
index 9da71d415c38..9da71d415c38 100644
--- a/arch/arc/include/asm/byteorder.h
+++ b/arch/arc/include/uapi/asm/byteorder.h
diff --git a/arch/arc/include/asm/cachectl.h b/arch/arc/include/uapi/asm/cachectl.h
index 51c73f0255b3..51c73f0255b3 100644
--- a/arch/arc/include/asm/cachectl.h
+++ b/arch/arc/include/uapi/asm/cachectl.h
diff --git a/arch/arc/include/uapi/asm/page.h b/arch/arc/include/uapi/asm/page.h
new file mode 100644
index 000000000000..e5d41e08240c
--- /dev/null
+++ b/arch/arc/include/uapi/asm/page.h
@@ -0,0 +1,39 @@
1/*
2 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9#ifndef _UAPI__ASM_ARC_PAGE_H
10#define _UAPI__ASM_ARC_PAGE_H
11
12/* PAGE_SHIFT determines the page size */
13#if defined(CONFIG_ARC_PAGE_SIZE_16K)
14#define PAGE_SHIFT 14
15#elif defined(CONFIG_ARC_PAGE_SIZE_4K)
16#define PAGE_SHIFT 12
17#else
18/*
19 * Default 8k
20 * done this way (instead of under CONFIG_ARC_PAGE_SIZE_8K) because adhoc
21 * user code (busybox appletlib.h) expects PAGE_SHIFT to be defined w/o
22 * using the correct uClibc header and in their build our autoconf.h is
23 * not available
24 */
25#define PAGE_SHIFT 13
26#endif
27
28#ifdef __ASSEMBLY__
29#define PAGE_SIZE (1 << PAGE_SHIFT)
30#define PAGE_OFFSET (0x80000000)
31#else
32#define PAGE_SIZE (1UL << PAGE_SHIFT) /* Default 8K */
33#define PAGE_OFFSET (0x80000000UL) /* Kernel starts at 2G onwards */
34#endif
35
36#define PAGE_MASK (~(PAGE_SIZE-1))
37
38
39#endif /* _UAPI__ASM_ARC_PAGE_H */
diff --git a/arch/arc/include/uapi/asm/ptrace.h b/arch/arc/include/uapi/asm/ptrace.h
new file mode 100644
index 000000000000..6afa4f702075
--- /dev/null
+++ b/arch/arc/include/uapi/asm/ptrace.h
@@ -0,0 +1,48 @@
1/*
2 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * Amit Bhor, Sameer Dhavale: Codito Technologies 2004
9 */
10
11#ifndef _UAPI__ASM_ARC_PTRACE_H
12#define _UAPI__ASM_ARC_PTRACE_H
13
14
15#ifndef __ASSEMBLY__
16/*
17 * Userspace ABI: Register state needed by
18 * -ptrace (gdbserver)
19 * -sigcontext (SA_SIGNINFO signal frame)
20 *
21 * This is to decouple pt_regs from user-space ABI, to be able to change it
22 * w/o affecting the ABI.
23 * Although the layout (initial padding) is similar to pt_regs to have some
24 * optimizations when copying pt_regs to/from user_regs_struct.
25 *
26 * Also, sigcontext only care about the scratch regs as that is what we really
27 * save/restore for signal handling.
28*/
29struct user_regs_struct {
30
31 struct scratch {
32 long pad;
33 long bta, lp_start, lp_end, lp_count;
34 long status32, ret, blink, fp, gp;
35 long r12, r11, r10, r9, r8, r7, r6, r5, r4, r3, r2, r1, r0;
36 long sp;
37 } scratch;
38 struct callee {
39 long pad;
40 long r25, r24, r23, r22, r21, r20;
41 long r19, r18, r17, r16, r15, r14, r13;
42 } callee;
43 long efa; /* break pt addr, for break points in delay slots */
44 long stop_pc; /* give dbg stop_pc directly after checking orig_r8 */
45};
46#endif /* !__ASSEMBLY__ */
47
48#endif /* _UAPI__ASM_ARC_PTRACE_H */
diff --git a/arch/arc/include/uapi/asm/setup.h b/arch/arc/include/uapi/asm/setup.h
new file mode 100644
index 000000000000..a6d4e44938be
--- /dev/null
+++ b/arch/arc/include/uapi/asm/setup.h
@@ -0,0 +1,6 @@
1/*
2 * setup.h is part of userspace header ABI so UAPI scripts have to generate it
3 * even if there's nothing to export - causing empty <uapi/asm/setup.h>
4 * However to prevent "patch" from discarding it we add this placeholder
5 * comment
6 */
diff --git a/arch/arc/include/asm/sigcontext.h b/arch/arc/include/uapi/asm/sigcontext.h
index 9678a11fc158..9678a11fc158 100644
--- a/arch/arc/include/asm/sigcontext.h
+++ b/arch/arc/include/uapi/asm/sigcontext.h
diff --git a/arch/arc/include/asm/signal.h b/arch/arc/include/uapi/asm/signal.h
index fad62f7f42d6..fad62f7f42d6 100644
--- a/arch/arc/include/asm/signal.h
+++ b/arch/arc/include/uapi/asm/signal.h
diff --git a/arch/arc/include/asm/swab.h b/arch/arc/include/uapi/asm/swab.h
index 095599a73195..095599a73195 100644
--- a/arch/arc/include/asm/swab.h
+++ b/arch/arc/include/uapi/asm/swab.h
diff --git a/arch/arc/include/asm/unistd.h b/arch/arc/include/uapi/asm/unistd.h
index 6f30484f34b7..6f30484f34b7 100644
--- a/arch/arc/include/asm/unistd.h
+++ b/arch/arc/include/uapi/asm/unistd.h