diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/um/Kconfig.char | 4 | ||||
-rw-r--r-- | arch/um/Kconfig.common | 5 | ||||
-rw-r--r-- | arch/um/Makefile | 11 | ||||
-rw-r--r-- | arch/um/configs/i386_defconfig | 76 | ||||
-rw-r--r-- | arch/um/configs/x86_64_defconfig | 75 | ||||
-rw-r--r-- | arch/um/defconfig | 899 | ||||
-rw-r--r-- | arch/um/drivers/mconsole_kern.c | 6 | ||||
-rw-r--r-- | arch/um/include/asm/processor-generic.h | 2 | ||||
-rw-r--r-- | arch/um/include/shared/as-layout.h | 3 | ||||
-rw-r--r-- | arch/um/include/shared/os.h | 1 | ||||
-rw-r--r-- | arch/um/kernel/process.c | 15 | ||||
-rw-r--r-- | arch/um/kernel/sysrq.c | 102 | ||||
-rw-r--r-- | arch/um/kernel/trap.c | 14 | ||||
-rw-r--r-- | arch/um/kernel/um_arch.c | 2 | ||||
-rw-r--r-- | arch/um/os-Linux/signal.c | 8 | ||||
-rw-r--r-- | arch/x86/um/Kconfig | 5 | ||||
-rw-r--r-- | arch/x86/um/asm/processor_32.h | 5 | ||||
-rw-r--r-- | arch/x86/um/asm/processor_64.h | 5 | ||||
-rw-r--r-- | arch/x86/um/sysrq_32.c | 66 | ||||
-rw-r--r-- | arch/x86/um/sysrq_64.c | 8 | ||||
-rw-r--r-- | arch/x86/um/vdso/.gitignore | 2 |
21 files changed, 273 insertions, 1041 deletions
diff --git a/arch/um/Kconfig.char b/arch/um/Kconfig.char index b9d7c4276682..f10738d68b2d 100644 --- a/arch/um/Kconfig.char +++ b/arch/um/Kconfig.char | |||
@@ -6,10 +6,6 @@ config STDERR_CONSOLE | |||
6 | help | 6 | help |
7 | console driver which dumps all printk messages to stderr. | 7 | console driver which dumps all printk messages to stderr. |
8 | 8 | ||
9 | config STDIO_CONSOLE | ||
10 | bool | ||
11 | default y | ||
12 | |||
13 | config SSL | 9 | config SSL |
14 | bool "Virtual serial line" | 10 | bool "Virtual serial line" |
15 | help | 11 | help |
diff --git a/arch/um/Kconfig.common b/arch/um/Kconfig.common index 8ddea1f8006a..21ca44c4f6d5 100644 --- a/arch/um/Kconfig.common +++ b/arch/um/Kconfig.common | |||
@@ -1,8 +1,3 @@ | |||
1 | config DEFCONFIG_LIST | ||
2 | string | ||
3 | option defconfig_list | ||
4 | default "arch/$ARCH/defconfig" | ||
5 | |||
6 | config UML | 1 | config UML |
7 | bool | 2 | bool |
8 | default y | 3 | default y |
diff --git a/arch/um/Makefile b/arch/um/Makefile index 133f7de2a13d..48d92bbe62e9 100644 --- a/arch/um/Makefile +++ b/arch/um/Makefile | |||
@@ -6,6 +6,17 @@ | |||
6 | # Licensed under the GPL | 6 | # Licensed under the GPL |
7 | # | 7 | # |
8 | 8 | ||
9 | # select defconfig based on actual architecture | ||
10 | ifeq ($(SUBARCH),x86) | ||
11 | ifeq ($(shell uname -m),x86_64) | ||
12 | KBUILD_DEFCONFIG := x86_64_defconfig | ||
13 | else | ||
14 | KBUILD_DEFCONFIG := i386_defconfig | ||
15 | endif | ||
16 | else | ||
17 | KBUILD_DEFCONFIG := $(SUBARCH)_defconfig | ||
18 | endif | ||
19 | |||
9 | ARCH_DIR := arch/um | 20 | ARCH_DIR := arch/um |
10 | OS := $(shell uname -s) | 21 | OS := $(shell uname -s) |
11 | # We require bash because the vmlinux link and loader script cpp use bash | 22 | # We require bash because the vmlinux link and loader script cpp use bash |
diff --git a/arch/um/configs/i386_defconfig b/arch/um/configs/i386_defconfig new file mode 100644 index 000000000000..a12bf68c9f3a --- /dev/null +++ b/arch/um/configs/i386_defconfig | |||
@@ -0,0 +1,76 @@ | |||
1 | CONFIG_3_LEVEL_PGTABLES=y | ||
2 | # CONFIG_COMPACTION is not set | ||
3 | CONFIG_BINFMT_MISC=m | ||
4 | CONFIG_HOSTFS=y | ||
5 | CONFIG_MAGIC_SYSRQ=y | ||
6 | CONFIG_KERNEL_STACK_ORDER=1 | ||
7 | CONFIG_SYSVIPC=y | ||
8 | CONFIG_POSIX_MQUEUE=y | ||
9 | CONFIG_NO_HZ=y | ||
10 | CONFIG_HIGH_RES_TIMERS=y | ||
11 | CONFIG_BSD_PROCESS_ACCT=y | ||
12 | CONFIG_IKCONFIG=y | ||
13 | CONFIG_IKCONFIG_PROC=y | ||
14 | CONFIG_LOG_BUF_SHIFT=14 | ||
15 | CONFIG_CGROUPS=y | ||
16 | CONFIG_CGROUP_FREEZER=y | ||
17 | CONFIG_CGROUP_DEVICE=y | ||
18 | CONFIG_CPUSETS=y | ||
19 | CONFIG_CGROUP_CPUACCT=y | ||
20 | CONFIG_RESOURCE_COUNTERS=y | ||
21 | CONFIG_CGROUP_SCHED=y | ||
22 | CONFIG_BLK_CGROUP=y | ||
23 | # CONFIG_PID_NS is not set | ||
24 | CONFIG_SYSFS_DEPRECATED=y | ||
25 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
26 | CONFIG_SLAB=y | ||
27 | CONFIG_MODULES=y | ||
28 | CONFIG_MODULE_UNLOAD=y | ||
29 | # CONFIG_BLK_DEV_BSG is not set | ||
30 | CONFIG_IOSCHED_CFQ=m | ||
31 | CONFIG_SSL=y | ||
32 | CONFIG_NULL_CHAN=y | ||
33 | CONFIG_PORT_CHAN=y | ||
34 | CONFIG_PTY_CHAN=y | ||
35 | CONFIG_TTY_CHAN=y | ||
36 | CONFIG_XTERM_CHAN=y | ||
37 | CONFIG_CON_CHAN="pts" | ||
38 | CONFIG_SSL_CHAN="pts" | ||
39 | CONFIG_UML_SOUND=m | ||
40 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
41 | CONFIG_DEVTMPFS=y | ||
42 | CONFIG_DEVTMPFS_MOUNT=y | ||
43 | CONFIG_BLK_DEV_UBD=y | ||
44 | CONFIG_BLK_DEV_LOOP=m | ||
45 | CONFIG_BLK_DEV_NBD=m | ||
46 | CONFIG_DUMMY=m | ||
47 | CONFIG_TUN=m | ||
48 | CONFIG_PPP=m | ||
49 | CONFIG_SLIP=m | ||
50 | CONFIG_LEGACY_PTY_COUNT=32 | ||
51 | # CONFIG_HW_RANDOM is not set | ||
52 | CONFIG_UML_RANDOM=y | ||
53 | CONFIG_NET=y | ||
54 | CONFIG_PACKET=y | ||
55 | CONFIG_UNIX=y | ||
56 | CONFIG_INET=y | ||
57 | # CONFIG_INET_LRO is not set | ||
58 | # CONFIG_IPV6 is not set | ||
59 | CONFIG_UML_NET=y | ||
60 | CONFIG_UML_NET_ETHERTAP=y | ||
61 | CONFIG_UML_NET_TUNTAP=y | ||
62 | CONFIG_UML_NET_SLIP=y | ||
63 | CONFIG_UML_NET_DAEMON=y | ||
64 | CONFIG_UML_NET_MCAST=y | ||
65 | CONFIG_UML_NET_SLIRP=y | ||
66 | CONFIG_EXT4_FS=y | ||
67 | CONFIG_REISERFS_FS=y | ||
68 | CONFIG_QUOTA=y | ||
69 | CONFIG_AUTOFS4_FS=m | ||
70 | CONFIG_ISO9660_FS=m | ||
71 | CONFIG_JOLIET=y | ||
72 | CONFIG_PROC_KCORE=y | ||
73 | CONFIG_TMPFS=y | ||
74 | CONFIG_NLS=y | ||
75 | CONFIG_DEBUG_INFO=y | ||
76 | CONFIG_DEBUG_KERNEL=y | ||
diff --git a/arch/um/configs/x86_64_defconfig b/arch/um/configs/x86_64_defconfig new file mode 100644 index 000000000000..3aab117bd553 --- /dev/null +++ b/arch/um/configs/x86_64_defconfig | |||
@@ -0,0 +1,75 @@ | |||
1 | # CONFIG_COMPACTION is not set | ||
2 | CONFIG_BINFMT_MISC=m | ||
3 | CONFIG_HOSTFS=y | ||
4 | CONFIG_MAGIC_SYSRQ=y | ||
5 | CONFIG_SYSVIPC=y | ||
6 | CONFIG_POSIX_MQUEUE=y | ||
7 | CONFIG_NO_HZ=y | ||
8 | CONFIG_HIGH_RES_TIMERS=y | ||
9 | CONFIG_BSD_PROCESS_ACCT=y | ||
10 | CONFIG_IKCONFIG=y | ||
11 | CONFIG_IKCONFIG_PROC=y | ||
12 | CONFIG_LOG_BUF_SHIFT=14 | ||
13 | CONFIG_CGROUPS=y | ||
14 | CONFIG_CGROUP_FREEZER=y | ||
15 | CONFIG_CGROUP_DEVICE=y | ||
16 | CONFIG_CPUSETS=y | ||
17 | CONFIG_CGROUP_CPUACCT=y | ||
18 | CONFIG_RESOURCE_COUNTERS=y | ||
19 | CONFIG_CGROUP_SCHED=y | ||
20 | CONFIG_BLK_CGROUP=y | ||
21 | # CONFIG_PID_NS is not set | ||
22 | CONFIG_SYSFS_DEPRECATED=y | ||
23 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
24 | CONFIG_SLAB=y | ||
25 | CONFIG_MODULES=y | ||
26 | CONFIG_MODULE_UNLOAD=y | ||
27 | # CONFIG_BLK_DEV_BSG is not set | ||
28 | CONFIG_IOSCHED_CFQ=m | ||
29 | CONFIG_SSL=y | ||
30 | CONFIG_NULL_CHAN=y | ||
31 | CONFIG_PORT_CHAN=y | ||
32 | CONFIG_PTY_CHAN=y | ||
33 | CONFIG_TTY_CHAN=y | ||
34 | CONFIG_XTERM_CHAN=y | ||
35 | CONFIG_CON_CHAN="pts" | ||
36 | CONFIG_SSL_CHAN="pts" | ||
37 | CONFIG_UML_SOUND=m | ||
38 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
39 | CONFIG_DEVTMPFS=y | ||
40 | CONFIG_DEVTMPFS_MOUNT=y | ||
41 | CONFIG_BLK_DEV_UBD=y | ||
42 | CONFIG_BLK_DEV_LOOP=m | ||
43 | CONFIG_BLK_DEV_NBD=m | ||
44 | CONFIG_DUMMY=m | ||
45 | CONFIG_TUN=m | ||
46 | CONFIG_PPP=m | ||
47 | CONFIG_SLIP=m | ||
48 | CONFIG_LEGACY_PTY_COUNT=32 | ||
49 | # CONFIG_HW_RANDOM is not set | ||
50 | CONFIG_UML_RANDOM=y | ||
51 | CONFIG_NET=y | ||
52 | CONFIG_PACKET=y | ||
53 | CONFIG_UNIX=y | ||
54 | CONFIG_INET=y | ||
55 | # CONFIG_INET_LRO is not set | ||
56 | # CONFIG_IPV6 is not set | ||
57 | CONFIG_UML_NET=y | ||
58 | CONFIG_UML_NET_ETHERTAP=y | ||
59 | CONFIG_UML_NET_TUNTAP=y | ||
60 | CONFIG_UML_NET_SLIP=y | ||
61 | CONFIG_UML_NET_DAEMON=y | ||
62 | CONFIG_UML_NET_MCAST=y | ||
63 | CONFIG_UML_NET_SLIRP=y | ||
64 | CONFIG_EXT4_FS=y | ||
65 | CONFIG_REISERFS_FS=y | ||
66 | CONFIG_QUOTA=y | ||
67 | CONFIG_AUTOFS4_FS=m | ||
68 | CONFIG_ISO9660_FS=m | ||
69 | CONFIG_JOLIET=y | ||
70 | CONFIG_PROC_KCORE=y | ||
71 | CONFIG_TMPFS=y | ||
72 | CONFIG_NLS=y | ||
73 | CONFIG_DEBUG_INFO=y | ||
74 | CONFIG_FRAME_WARN=1024 | ||
75 | CONFIG_DEBUG_KERNEL=y | ||
diff --git a/arch/um/defconfig b/arch/um/defconfig deleted file mode 100644 index 2665e6b683f5..000000000000 --- a/arch/um/defconfig +++ /dev/null | |||
@@ -1,899 +0,0 @@ | |||
1 | # | ||
2 | # Automatically generated file; DO NOT EDIT. | ||
3 | # User Mode Linux/i386 3.3.0 Kernel Configuration | ||
4 | # | ||
5 | CONFIG_DEFCONFIG_LIST="arch/$ARCH/defconfig" | ||
6 | CONFIG_UML=y | ||
7 | CONFIG_MMU=y | ||
8 | CONFIG_NO_IOMEM=y | ||
9 | # CONFIG_TRACE_IRQFLAGS_SUPPORT is not set | ||
10 | CONFIG_LOCKDEP_SUPPORT=y | ||
11 | # CONFIG_STACKTRACE_SUPPORT is not set | ||
12 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
13 | CONFIG_GENERIC_BUG=y | ||
14 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
15 | CONFIG_HZ=100 | ||
16 | |||
17 | # | ||
18 | # UML-specific options | ||
19 | # | ||
20 | |||
21 | # | ||
22 | # Host processor type and features | ||
23 | # | ||
24 | # CONFIG_M486 is not set | ||
25 | # CONFIG_M586 is not set | ||
26 | # CONFIG_M586TSC is not set | ||
27 | # CONFIG_M586MMX is not set | ||
28 | CONFIG_M686=y | ||
29 | # CONFIG_MPENTIUMII is not set | ||
30 | # CONFIG_MPENTIUMIII is not set | ||
31 | # CONFIG_MPENTIUMM is not set | ||
32 | # CONFIG_MPENTIUM4 is not set | ||
33 | # CONFIG_MK6 is not set | ||
34 | # CONFIG_MK7 is not set | ||
35 | # CONFIG_MK8 is not set | ||
36 | # CONFIG_MCRUSOE is not set | ||
37 | # CONFIG_MEFFICEON is not set | ||
38 | # CONFIG_MWINCHIPC6 is not set | ||
39 | # CONFIG_MWINCHIP3D is not set | ||
40 | # CONFIG_MELAN is not set | ||
41 | # CONFIG_MGEODEGX1 is not set | ||
42 | # CONFIG_MGEODE_LX is not set | ||
43 | # CONFIG_MCYRIXIII is not set | ||
44 | # CONFIG_MVIAC3_2 is not set | ||
45 | # CONFIG_MVIAC7 is not set | ||
46 | # CONFIG_MCORE2 is not set | ||
47 | # CONFIG_MATOM is not set | ||
48 | # CONFIG_X86_GENERIC is not set | ||
49 | CONFIG_X86_INTERNODE_CACHE_SHIFT=5 | ||
50 | CONFIG_X86_CMPXCHG=y | ||
51 | CONFIG_X86_L1_CACHE_SHIFT=5 | ||
52 | CONFIG_X86_XADD=y | ||
53 | CONFIG_X86_PPRO_FENCE=y | ||
54 | CONFIG_X86_WP_WORKS_OK=y | ||
55 | CONFIG_X86_INVLPG=y | ||
56 | CONFIG_X86_BSWAP=y | ||
57 | CONFIG_X86_POPAD_OK=y | ||
58 | CONFIG_X86_USE_PPRO_CHECKSUM=y | ||
59 | CONFIG_X86_TSC=y | ||
60 | CONFIG_X86_CMPXCHG64=y | ||
61 | CONFIG_X86_CMOV=y | ||
62 | CONFIG_X86_MINIMUM_CPU_FAMILY=5 | ||
63 | CONFIG_CPU_SUP_INTEL=y | ||
64 | CONFIG_CPU_SUP_CYRIX_32=y | ||
65 | CONFIG_CPU_SUP_AMD=y | ||
66 | CONFIG_CPU_SUP_CENTAUR=y | ||
67 | CONFIG_CPU_SUP_TRANSMETA_32=y | ||
68 | CONFIG_CPU_SUP_UMC_32=y | ||
69 | CONFIG_UML_X86=y | ||
70 | # CONFIG_64BIT is not set | ||
71 | CONFIG_X86_32=y | ||
72 | # CONFIG_X86_64 is not set | ||
73 | # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set | ||
74 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
75 | # CONFIG_3_LEVEL_PGTABLES is not set | ||
76 | CONFIG_ARCH_HAS_SC_SIGNALS=y | ||
77 | CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA=y | ||
78 | CONFIG_GENERIC_HWEIGHT=y | ||
79 | # CONFIG_STATIC_LINK is not set | ||
80 | CONFIG_SELECT_MEMORY_MODEL=y | ||
81 | CONFIG_FLATMEM_MANUAL=y | ||
82 | CONFIG_FLATMEM=y | ||
83 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
84 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
85 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
86 | # CONFIG_COMPACTION is not set | ||
87 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
88 | CONFIG_ZONE_DMA_FLAG=0 | ||
89 | CONFIG_VIRT_TO_BUS=y | ||
90 | # CONFIG_KSM is not set | ||
91 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
92 | CONFIG_NEED_PER_CPU_KM=y | ||
93 | # CONFIG_CLEANCACHE is not set | ||
94 | CONFIG_TICK_ONESHOT=y | ||
95 | CONFIG_NO_HZ=y | ||
96 | CONFIG_HIGH_RES_TIMERS=y | ||
97 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
98 | CONFIG_LD_SCRIPT_DYN=y | ||
99 | CONFIG_BINFMT_ELF=y | ||
100 | CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y | ||
101 | CONFIG_HAVE_AOUT=y | ||
102 | # CONFIG_BINFMT_AOUT is not set | ||
103 | CONFIG_BINFMT_MISC=m | ||
104 | CONFIG_HOSTFS=y | ||
105 | # CONFIG_HPPFS is not set | ||
106 | CONFIG_MCONSOLE=y | ||
107 | CONFIG_MAGIC_SYSRQ=y | ||
108 | CONFIG_KERNEL_STACK_ORDER=0 | ||
109 | # CONFIG_MMAPPER is not set | ||
110 | CONFIG_NO_DMA=y | ||
111 | |||
112 | # | ||
113 | # General setup | ||
114 | # | ||
115 | CONFIG_EXPERIMENTAL=y | ||
116 | CONFIG_BROKEN_ON_SMP=y | ||
117 | CONFIG_INIT_ENV_ARG_LIMIT=128 | ||
118 | CONFIG_CROSS_COMPILE="" | ||
119 | CONFIG_LOCALVERSION="" | ||
120 | CONFIG_LOCALVERSION_AUTO=y | ||
121 | CONFIG_DEFAULT_HOSTNAME="(none)" | ||
122 | CONFIG_SWAP=y | ||
123 | CONFIG_SYSVIPC=y | ||
124 | CONFIG_SYSVIPC_SYSCTL=y | ||
125 | CONFIG_POSIX_MQUEUE=y | ||
126 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
127 | CONFIG_BSD_PROCESS_ACCT=y | ||
128 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set | ||
129 | # CONFIG_FHANDLE is not set | ||
130 | # CONFIG_TASKSTATS is not set | ||
131 | # CONFIG_AUDIT is not set | ||
132 | |||
133 | # | ||
134 | # IRQ subsystem | ||
135 | # | ||
136 | CONFIG_GENERIC_IRQ_SHOW=y | ||
137 | |||
138 | # | ||
139 | # RCU Subsystem | ||
140 | # | ||
141 | CONFIG_TINY_RCU=y | ||
142 | # CONFIG_PREEMPT_RCU is not set | ||
143 | # CONFIG_RCU_TRACE is not set | ||
144 | # CONFIG_TREE_RCU_TRACE is not set | ||
145 | CONFIG_IKCONFIG=y | ||
146 | CONFIG_IKCONFIG_PROC=y | ||
147 | CONFIG_LOG_BUF_SHIFT=14 | ||
148 | CONFIG_CGROUPS=y | ||
149 | # CONFIG_CGROUP_DEBUG is not set | ||
150 | CONFIG_CGROUP_FREEZER=y | ||
151 | CONFIG_CGROUP_DEVICE=y | ||
152 | CONFIG_CPUSETS=y | ||
153 | CONFIG_PROC_PID_CPUSET=y | ||
154 | CONFIG_CGROUP_CPUACCT=y | ||
155 | CONFIG_RESOURCE_COUNTERS=y | ||
156 | CONFIG_CGROUP_MEMCG=y | ||
157 | CONFIG_CGROUP_MEMCG_SWAP=y | ||
158 | # CONFIG_CGROUP_MEMCG_SWAP_ENABLED is not set | ||
159 | # CONFIG_CGROUP_MEMCG_KMEM is not set | ||
160 | CONFIG_CGROUP_SCHED=y | ||
161 | CONFIG_FAIR_GROUP_SCHED=y | ||
162 | # CONFIG_CFS_BANDWIDTH is not set | ||
163 | # CONFIG_RT_GROUP_SCHED is not set | ||
164 | CONFIG_BLK_CGROUP=y | ||
165 | # CONFIG_DEBUG_BLK_CGROUP is not set | ||
166 | # CONFIG_CHECKPOINT_RESTORE is not set | ||
167 | CONFIG_NAMESPACES=y | ||
168 | CONFIG_UTS_NS=y | ||
169 | CONFIG_IPC_NS=y | ||
170 | # CONFIG_USER_NS is not set | ||
171 | # CONFIG_PID_NS is not set | ||
172 | CONFIG_NET_NS=y | ||
173 | # CONFIG_SCHED_AUTOGROUP is not set | ||
174 | CONFIG_MM_OWNER=y | ||
175 | CONFIG_SYSFS_DEPRECATED=y | ||
176 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | ||
177 | # CONFIG_RELAY is not set | ||
178 | # CONFIG_BLK_DEV_INITRD is not set | ||
179 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
180 | CONFIG_SYSCTL=y | ||
181 | CONFIG_ANON_INODES=y | ||
182 | # CONFIG_EXPERT is not set | ||
183 | CONFIG_UID16=y | ||
184 | # CONFIG_SYSCTL_SYSCALL is not set | ||
185 | CONFIG_KALLSYMS=y | ||
186 | # CONFIG_KALLSYMS_ALL is not set | ||
187 | CONFIG_HOTPLUG=y | ||
188 | CONFIG_PRINTK=y | ||
189 | CONFIG_BUG=y | ||
190 | CONFIG_ELF_CORE=y | ||
191 | CONFIG_BASE_FULL=y | ||
192 | CONFIG_FUTEX=y | ||
193 | CONFIG_EPOLL=y | ||
194 | CONFIG_SIGNALFD=y | ||
195 | CONFIG_TIMERFD=y | ||
196 | CONFIG_EVENTFD=y | ||
197 | CONFIG_SHMEM=y | ||
198 | CONFIG_AIO=y | ||
199 | # CONFIG_EMBEDDED is not set | ||
200 | |||
201 | # | ||
202 | # Kernel Performance Events And Counters | ||
203 | # | ||
204 | CONFIG_VM_EVENT_COUNTERS=y | ||
205 | CONFIG_COMPAT_BRK=y | ||
206 | CONFIG_SLAB=y | ||
207 | # CONFIG_SLUB is not set | ||
208 | # CONFIG_PROFILING is not set | ||
209 | |||
210 | # | ||
211 | # GCOV-based kernel profiling | ||
212 | # | ||
213 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | ||
214 | CONFIG_SLABINFO=y | ||
215 | CONFIG_RT_MUTEXES=y | ||
216 | CONFIG_BASE_SMALL=0 | ||
217 | CONFIG_MODULES=y | ||
218 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
219 | CONFIG_MODULE_UNLOAD=y | ||
220 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
221 | # CONFIG_MODVERSIONS is not set | ||
222 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
223 | CONFIG_BLOCK=y | ||
224 | CONFIG_LBDAF=y | ||
225 | # CONFIG_BLK_DEV_BSG is not set | ||
226 | # CONFIG_BLK_DEV_BSGLIB is not set | ||
227 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
228 | |||
229 | # | ||
230 | # Partition Types | ||
231 | # | ||
232 | # CONFIG_PARTITION_ADVANCED is not set | ||
233 | CONFIG_MSDOS_PARTITION=y | ||
234 | |||
235 | # | ||
236 | # IO Schedulers | ||
237 | # | ||
238 | CONFIG_IOSCHED_NOOP=y | ||
239 | CONFIG_IOSCHED_DEADLINE=y | ||
240 | CONFIG_IOSCHED_CFQ=m | ||
241 | # CONFIG_CFQ_GROUP_IOSCHED is not set | ||
242 | CONFIG_DEFAULT_DEADLINE=y | ||
243 | # CONFIG_DEFAULT_CFQ is not set | ||
244 | # CONFIG_DEFAULT_NOOP is not set | ||
245 | CONFIG_DEFAULT_IOSCHED="deadline" | ||
246 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
247 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
248 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
249 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
250 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
251 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
252 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
253 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
254 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
255 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
256 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
257 | # CONFIG_INLINE_READ_LOCK is not set | ||
258 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
259 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
260 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
261 | CONFIG_INLINE_READ_UNLOCK=y | ||
262 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
263 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
264 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
265 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
266 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
267 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
268 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
269 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
270 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
271 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
272 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
273 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
274 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
275 | CONFIG_FREEZER=y | ||
276 | |||
277 | # | ||
278 | # UML Character Devices | ||
279 | # | ||
280 | CONFIG_STDERR_CONSOLE=y | ||
281 | CONFIG_STDIO_CONSOLE=y | ||
282 | CONFIG_SSL=y | ||
283 | CONFIG_NULL_CHAN=y | ||
284 | CONFIG_PORT_CHAN=y | ||
285 | CONFIG_PTY_CHAN=y | ||
286 | CONFIG_TTY_CHAN=y | ||
287 | CONFIG_XTERM_CHAN=y | ||
288 | # CONFIG_NOCONFIG_CHAN is not set | ||
289 | CONFIG_CON_ZERO_CHAN="fd:0,fd:1" | ||
290 | CONFIG_CON_CHAN="xterm" | ||
291 | CONFIG_SSL_CHAN="pts" | ||
292 | CONFIG_UML_SOUND=m | ||
293 | CONFIG_SOUND=m | ||
294 | CONFIG_SOUND_OSS_CORE=y | ||
295 | CONFIG_HOSTAUDIO=m | ||
296 | |||
297 | # | ||
298 | # Device Drivers | ||
299 | # | ||
300 | |||
301 | # | ||
302 | # Generic Driver Options | ||
303 | # | ||
304 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
305 | CONFIG_DEVTMPFS=y | ||
306 | CONFIG_DEVTMPFS_MOUNT=y | ||
307 | CONFIG_STANDALONE=y | ||
308 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
309 | CONFIG_FW_LOADER=y | ||
310 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
311 | CONFIG_EXTRA_FIRMWARE="" | ||
312 | # CONFIG_DEBUG_DRIVER is not set | ||
313 | # CONFIG_DEBUG_DEVRES is not set | ||
314 | # CONFIG_SYS_HYPERVISOR is not set | ||
315 | CONFIG_GENERIC_CPU_DEVICES=y | ||
316 | # CONFIG_DMA_SHARED_BUFFER is not set | ||
317 | # CONFIG_CONNECTOR is not set | ||
318 | # CONFIG_MTD is not set | ||
319 | CONFIG_BLK_DEV=y | ||
320 | CONFIG_BLK_DEV_UBD=y | ||
321 | # CONFIG_BLK_DEV_UBD_SYNC is not set | ||
322 | CONFIG_BLK_DEV_COW_COMMON=y | ||
323 | CONFIG_BLK_DEV_LOOP=m | ||
324 | CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 | ||
325 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
326 | |||
327 | # | ||
328 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
329 | # | ||
330 | CONFIG_BLK_DEV_NBD=m | ||
331 | # CONFIG_BLK_DEV_RAM is not set | ||
332 | # CONFIG_ATA_OVER_ETH is not set | ||
333 | # CONFIG_BLK_DEV_RBD is not set | ||
334 | |||
335 | # | ||
336 | # Misc devices | ||
337 | # | ||
338 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
339 | # CONFIG_C2PORT is not set | ||
340 | |||
341 | # | ||
342 | # EEPROM support | ||
343 | # | ||
344 | # CONFIG_EEPROM_93CX6 is not set | ||
345 | |||
346 | # | ||
347 | # Texas Instruments shared transport line discipline | ||
348 | # | ||
349 | |||
350 | # | ||
351 | # Altera FPGA firmware download module | ||
352 | # | ||
353 | |||
354 | # | ||
355 | # SCSI device support | ||
356 | # | ||
357 | CONFIG_SCSI_MOD=y | ||
358 | # CONFIG_RAID_ATTRS is not set | ||
359 | # CONFIG_SCSI is not set | ||
360 | # CONFIG_SCSI_DMA is not set | ||
361 | # CONFIG_SCSI_NETLINK is not set | ||
362 | # CONFIG_MD is not set | ||
363 | CONFIG_NETDEVICES=y | ||
364 | CONFIG_NET_CORE=y | ||
365 | # CONFIG_BONDING is not set | ||
366 | CONFIG_DUMMY=m | ||
367 | # CONFIG_EQUALIZER is not set | ||
368 | # CONFIG_MII is not set | ||
369 | # CONFIG_NET_TEAM is not set | ||
370 | # CONFIG_MACVLAN is not set | ||
371 | # CONFIG_NETCONSOLE is not set | ||
372 | # CONFIG_NETPOLL is not set | ||
373 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
374 | CONFIG_TUN=m | ||
375 | # CONFIG_VETH is not set | ||
376 | |||
377 | # | ||
378 | # CAIF transport drivers | ||
379 | # | ||
380 | CONFIG_ETHERNET=y | ||
381 | CONFIG_NET_VENDOR_CHELSIO=y | ||
382 | CONFIG_NET_VENDOR_INTEL=y | ||
383 | CONFIG_NET_VENDOR_I825XX=y | ||
384 | CONFIG_NET_VENDOR_MARVELL=y | ||
385 | CONFIG_NET_VENDOR_NATSEMI=y | ||
386 | CONFIG_NET_VENDOR_8390=y | ||
387 | # CONFIG_PHYLIB is not set | ||
388 | CONFIG_PPP=m | ||
389 | # CONFIG_PPP_BSDCOMP is not set | ||
390 | # CONFIG_PPP_DEFLATE is not set | ||
391 | # CONFIG_PPP_FILTER is not set | ||
392 | # CONFIG_PPP_MPPE is not set | ||
393 | # CONFIG_PPP_MULTILINK is not set | ||
394 | # CONFIG_PPPOE is not set | ||
395 | # CONFIG_PPP_ASYNC is not set | ||
396 | # CONFIG_PPP_SYNC_TTY is not set | ||
397 | CONFIG_SLIP=m | ||
398 | CONFIG_SLHC=m | ||
399 | # CONFIG_SLIP_COMPRESSED is not set | ||
400 | # CONFIG_SLIP_SMART is not set | ||
401 | # CONFIG_SLIP_MODE_SLIP6 is not set | ||
402 | CONFIG_WLAN=y | ||
403 | # CONFIG_HOSTAP is not set | ||
404 | |||
405 | # | ||
406 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
407 | # | ||
408 | # CONFIG_WAN is not set | ||
409 | |||
410 | # | ||
411 | # Character devices | ||
412 | # | ||
413 | CONFIG_UNIX98_PTYS=y | ||
414 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
415 | CONFIG_LEGACY_PTYS=y | ||
416 | CONFIG_LEGACY_PTY_COUNT=32 | ||
417 | # CONFIG_N_GSM is not set | ||
418 | # CONFIG_TRACE_SINK is not set | ||
419 | CONFIG_DEVKMEM=y | ||
420 | # CONFIG_HW_RANDOM is not set | ||
421 | CONFIG_UML_RANDOM=y | ||
422 | # CONFIG_R3964 is not set | ||
423 | # CONFIG_NSC_GPIO is not set | ||
424 | # CONFIG_RAW_DRIVER is not set | ||
425 | |||
426 | # | ||
427 | # PPS support | ||
428 | # | ||
429 | # CONFIG_PPS is not set | ||
430 | |||
431 | # | ||
432 | # PPS generators support | ||
433 | # | ||
434 | |||
435 | # | ||
436 | # PTP clock support | ||
437 | # | ||
438 | |||
439 | # | ||
440 | # Enable Device Drivers -> PPS to see the PTP clock options. | ||
441 | # | ||
442 | # CONFIG_POWER_SUPPLY is not set | ||
443 | # CONFIG_THERMAL is not set | ||
444 | # CONFIG_WATCHDOG is not set | ||
445 | # CONFIG_REGULATOR is not set | ||
446 | CONFIG_SOUND_OSS_CORE_PRECLAIM=y | ||
447 | # CONFIG_MEMSTICK is not set | ||
448 | # CONFIG_NEW_LEDS is not set | ||
449 | # CONFIG_ACCESSIBILITY is not set | ||
450 | # CONFIG_AUXDISPLAY is not set | ||
451 | # CONFIG_UIO is not set | ||
452 | |||
453 | # | ||
454 | # Virtio drivers | ||
455 | # | ||
456 | # CONFIG_VIRTIO_BALLOON is not set | ||
457 | |||
458 | # | ||
459 | # Microsoft Hyper-V guest support | ||
460 | # | ||
461 | # CONFIG_STAGING is not set | ||
462 | |||
463 | # | ||
464 | # Hardware Spinlock drivers | ||
465 | # | ||
466 | CONFIG_IOMMU_SUPPORT=y | ||
467 | # CONFIG_VIRT_DRIVERS is not set | ||
468 | # CONFIG_PM_DEVFREQ is not set | ||
469 | CONFIG_NET=y | ||
470 | |||
471 | # | ||
472 | # Networking options | ||
473 | # | ||
474 | CONFIG_PACKET=y | ||
475 | CONFIG_UNIX=y | ||
476 | # CONFIG_UNIX_DIAG is not set | ||
477 | CONFIG_XFRM=y | ||
478 | # CONFIG_XFRM_USER is not set | ||
479 | # CONFIG_XFRM_SUB_POLICY is not set | ||
480 | # CONFIG_XFRM_MIGRATE is not set | ||
481 | # CONFIG_XFRM_STATISTICS is not set | ||
482 | # CONFIG_NET_KEY is not set | ||
483 | CONFIG_INET=y | ||
484 | # CONFIG_IP_MULTICAST is not set | ||
485 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
486 | # CONFIG_IP_PNP is not set | ||
487 | # CONFIG_NET_IPIP is not set | ||
488 | # CONFIG_NET_IPGRE_DEMUX is not set | ||
489 | # CONFIG_ARPD is not set | ||
490 | # CONFIG_SYN_COOKIES is not set | ||
491 | # CONFIG_INET_AH is not set | ||
492 | # CONFIG_INET_ESP is not set | ||
493 | # CONFIG_INET_IPCOMP is not set | ||
494 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
495 | # CONFIG_INET_TUNNEL is not set | ||
496 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
497 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
498 | CONFIG_INET_XFRM_MODE_BEET=y | ||
499 | # CONFIG_INET_LRO is not set | ||
500 | CONFIG_INET_DIAG=y | ||
501 | CONFIG_INET_TCP_DIAG=y | ||
502 | # CONFIG_INET_UDP_DIAG is not set | ||
503 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
504 | CONFIG_TCP_CONG_CUBIC=y | ||
505 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
506 | # CONFIG_TCP_MD5SIG is not set | ||
507 | # CONFIG_IPV6 is not set | ||
508 | # CONFIG_NETWORK_SECMARK is not set | ||
509 | # CONFIG_NETWORK_PHY_TIMESTAMPING is not set | ||
510 | # CONFIG_NETFILTER is not set | ||
511 | # CONFIG_IP_DCCP is not set | ||
512 | # CONFIG_IP_SCTP is not set | ||
513 | # CONFIG_RDS is not set | ||
514 | # CONFIG_TIPC is not set | ||
515 | # CONFIG_ATM is not set | ||
516 | # CONFIG_L2TP is not set | ||
517 | # CONFIG_BRIDGE is not set | ||
518 | # CONFIG_NET_DSA is not set | ||
519 | # CONFIG_VLAN_8021Q is not set | ||
520 | # CONFIG_DECNET is not set | ||
521 | # CONFIG_LLC2 is not set | ||
522 | # CONFIG_IPX is not set | ||
523 | # CONFIG_ATALK is not set | ||
524 | # CONFIG_X25 is not set | ||
525 | # CONFIG_LAPB is not set | ||
526 | # CONFIG_ECONET is not set | ||
527 | # CONFIG_WAN_ROUTER is not set | ||
528 | # CONFIG_PHONET is not set | ||
529 | # CONFIG_IEEE802154 is not set | ||
530 | # CONFIG_NET_SCHED is not set | ||
531 | # CONFIG_DCB is not set | ||
532 | # CONFIG_BATMAN_ADV is not set | ||
533 | # CONFIG_OPENVSWITCH is not set | ||
534 | # CONFIG_NETPRIO_CGROUP is not set | ||
535 | CONFIG_BQL=y | ||
536 | |||
537 | # | ||
538 | # Network testing | ||
539 | # | ||
540 | # CONFIG_NET_PKTGEN is not set | ||
541 | # CONFIG_HAMRADIO is not set | ||
542 | # CONFIG_CAN is not set | ||
543 | # CONFIG_IRDA is not set | ||
544 | # CONFIG_BT is not set | ||
545 | # CONFIG_AF_RXRPC is not set | ||
546 | CONFIG_WIRELESS=y | ||
547 | # CONFIG_CFG80211 is not set | ||
548 | # CONFIG_LIB80211 is not set | ||
549 | |||
550 | # | ||
551 | # CFG80211 needs to be enabled for MAC80211 | ||
552 | # | ||
553 | # CONFIG_WIMAX is not set | ||
554 | # CONFIG_RFKILL is not set | ||
555 | # CONFIG_NET_9P is not set | ||
556 | # CONFIG_CAIF is not set | ||
557 | # CONFIG_CEPH_LIB is not set | ||
558 | # CONFIG_NFC is not set | ||
559 | |||
560 | # | ||
561 | # UML Network Devices | ||
562 | # | ||
563 | CONFIG_UML_NET=y | ||
564 | CONFIG_UML_NET_ETHERTAP=y | ||
565 | CONFIG_UML_NET_TUNTAP=y | ||
566 | CONFIG_UML_NET_SLIP=y | ||
567 | CONFIG_UML_NET_DAEMON=y | ||
568 | # CONFIG_UML_NET_VDE is not set | ||
569 | CONFIG_UML_NET_MCAST=y | ||
570 | # CONFIG_UML_NET_PCAP is not set | ||
571 | CONFIG_UML_NET_SLIRP=y | ||
572 | |||
573 | # | ||
574 | # File systems | ||
575 | # | ||
576 | # CONFIG_EXT2_FS is not set | ||
577 | # CONFIG_EXT3_FS is not set | ||
578 | CONFIG_EXT4_FS=y | ||
579 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
580 | CONFIG_EXT4_FS_XATTR=y | ||
581 | # CONFIG_EXT4_FS_POSIX_ACL is not set | ||
582 | # CONFIG_EXT4_FS_SECURITY is not set | ||
583 | # CONFIG_EXT4_DEBUG is not set | ||
584 | CONFIG_JBD2=y | ||
585 | CONFIG_FS_MBCACHE=y | ||
586 | CONFIG_REISERFS_FS=y | ||
587 | # CONFIG_REISERFS_CHECK is not set | ||
588 | # CONFIG_REISERFS_PROC_INFO is not set | ||
589 | # CONFIG_REISERFS_FS_XATTR is not set | ||
590 | # CONFIG_JFS_FS is not set | ||
591 | # CONFIG_XFS_FS is not set | ||
592 | # CONFIG_GFS2_FS is not set | ||
593 | # CONFIG_BTRFS_FS is not set | ||
594 | # CONFIG_NILFS2_FS is not set | ||
595 | # CONFIG_FS_POSIX_ACL is not set | ||
596 | CONFIG_FILE_LOCKING=y | ||
597 | CONFIG_FSNOTIFY=y | ||
598 | CONFIG_DNOTIFY=y | ||
599 | CONFIG_INOTIFY_USER=y | ||
600 | # CONFIG_FANOTIFY is not set | ||
601 | CONFIG_QUOTA=y | ||
602 | # CONFIG_QUOTA_NETLINK_INTERFACE is not set | ||
603 | CONFIG_PRINT_QUOTA_WARNING=y | ||
604 | # CONFIG_QUOTA_DEBUG is not set | ||
605 | # CONFIG_QFMT_V1 is not set | ||
606 | # CONFIG_QFMT_V2 is not set | ||
607 | CONFIG_QUOTACTL=y | ||
608 | CONFIG_AUTOFS4_FS=m | ||
609 | # CONFIG_FUSE_FS is not set | ||
610 | |||
611 | # | ||
612 | # Caches | ||
613 | # | ||
614 | # CONFIG_FSCACHE is not set | ||
615 | |||
616 | # | ||
617 | # CD-ROM/DVD Filesystems | ||
618 | # | ||
619 | CONFIG_ISO9660_FS=m | ||
620 | CONFIG_JOLIET=y | ||
621 | # CONFIG_ZISOFS is not set | ||
622 | # CONFIG_UDF_FS is not set | ||
623 | |||
624 | # | ||
625 | # DOS/FAT/NT Filesystems | ||
626 | # | ||
627 | # CONFIG_MSDOS_FS is not set | ||
628 | # CONFIG_VFAT_FS is not set | ||
629 | # CONFIG_NTFS_FS is not set | ||
630 | |||
631 | # | ||
632 | # Pseudo filesystems | ||
633 | # | ||
634 | CONFIG_PROC_FS=y | ||
635 | CONFIG_PROC_KCORE=y | ||
636 | CONFIG_PROC_SYSCTL=y | ||
637 | CONFIG_PROC_PAGE_MONITOR=y | ||
638 | CONFIG_SYSFS=y | ||
639 | CONFIG_TMPFS=y | ||
640 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
641 | # CONFIG_TMPFS_XATTR is not set | ||
642 | # CONFIG_HUGETLB_PAGE is not set | ||
643 | # CONFIG_CONFIGFS_FS is not set | ||
644 | CONFIG_MISC_FILESYSTEMS=y | ||
645 | # CONFIG_ADFS_FS is not set | ||
646 | # CONFIG_AFFS_FS is not set | ||
647 | # CONFIG_HFS_FS is not set | ||
648 | # CONFIG_HFSPLUS_FS is not set | ||
649 | # CONFIG_BEFS_FS is not set | ||
650 | # CONFIG_BFS_FS is not set | ||
651 | # CONFIG_EFS_FS is not set | ||
652 | # CONFIG_LOGFS is not set | ||
653 | # CONFIG_CRAMFS is not set | ||
654 | # CONFIG_SQUASHFS is not set | ||
655 | # CONFIG_VXFS_FS is not set | ||
656 | # CONFIG_MINIX_FS is not set | ||
657 | # CONFIG_OMFS_FS is not set | ||
658 | # CONFIG_HPFS_FS is not set | ||
659 | # CONFIG_QNX4FS_FS is not set | ||
660 | # CONFIG_ROMFS_FS is not set | ||
661 | # CONFIG_PSTORE is not set | ||
662 | # CONFIG_SYSV_FS is not set | ||
663 | # CONFIG_UFS_FS is not set | ||
664 | CONFIG_NETWORK_FILESYSTEMS=y | ||
665 | # CONFIG_NFS_FS is not set | ||
666 | # CONFIG_NFSD is not set | ||
667 | # CONFIG_CEPH_FS is not set | ||
668 | # CONFIG_CIFS is not set | ||
669 | # CONFIG_NCP_FS is not set | ||
670 | # CONFIG_CODA_FS is not set | ||
671 | # CONFIG_AFS_FS is not set | ||
672 | CONFIG_NLS=y | ||
673 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
674 | # CONFIG_NLS_CODEPAGE_437 is not set | ||
675 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
676 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
677 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
678 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
679 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
680 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
681 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
682 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
683 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
684 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
685 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
686 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
687 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
688 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
689 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
690 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
691 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
692 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
693 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
694 | # CONFIG_NLS_ISO8859_8 is not set | ||
695 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
696 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
697 | # CONFIG_NLS_ASCII is not set | ||
698 | # CONFIG_NLS_ISO8859_1 is not set | ||
699 | # CONFIG_NLS_ISO8859_2 is not set | ||
700 | # CONFIG_NLS_ISO8859_3 is not set | ||
701 | # CONFIG_NLS_ISO8859_4 is not set | ||
702 | # CONFIG_NLS_ISO8859_5 is not set | ||
703 | # CONFIG_NLS_ISO8859_6 is not set | ||
704 | # CONFIG_NLS_ISO8859_7 is not set | ||
705 | # CONFIG_NLS_ISO8859_9 is not set | ||
706 | # CONFIG_NLS_ISO8859_13 is not set | ||
707 | # CONFIG_NLS_ISO8859_14 is not set | ||
708 | # CONFIG_NLS_ISO8859_15 is not set | ||
709 | # CONFIG_NLS_KOI8_R is not set | ||
710 | # CONFIG_NLS_KOI8_U is not set | ||
711 | # CONFIG_NLS_UTF8 is not set | ||
712 | |||
713 | # | ||
714 | # Security options | ||
715 | # | ||
716 | # CONFIG_KEYS is not set | ||
717 | # CONFIG_SECURITY_DMESG_RESTRICT is not set | ||
718 | # CONFIG_SECURITY is not set | ||
719 | # CONFIG_SECURITYFS is not set | ||
720 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
721 | CONFIG_DEFAULT_SECURITY="" | ||
722 | CONFIG_CRYPTO=y | ||
723 | |||
724 | # | ||
725 | # Crypto core or helper | ||
726 | # | ||
727 | # CONFIG_CRYPTO_FIPS is not set | ||
728 | CONFIG_CRYPTO_ALGAPI=m | ||
729 | CONFIG_CRYPTO_ALGAPI2=m | ||
730 | CONFIG_CRYPTO_RNG=m | ||
731 | CONFIG_CRYPTO_RNG2=m | ||
732 | # CONFIG_CRYPTO_MANAGER is not set | ||
733 | # CONFIG_CRYPTO_MANAGER2 is not set | ||
734 | # CONFIG_CRYPTO_USER is not set | ||
735 | # CONFIG_CRYPTO_GF128MUL is not set | ||
736 | # CONFIG_CRYPTO_NULL is not set | ||
737 | # CONFIG_CRYPTO_CRYPTD is not set | ||
738 | # CONFIG_CRYPTO_AUTHENC is not set | ||
739 | # CONFIG_CRYPTO_TEST is not set | ||
740 | |||
741 | # | ||
742 | # Authenticated Encryption with Associated Data | ||
743 | # | ||
744 | # CONFIG_CRYPTO_CCM is not set | ||
745 | # CONFIG_CRYPTO_GCM is not set | ||
746 | # CONFIG_CRYPTO_SEQIV is not set | ||
747 | |||
748 | # | ||
749 | # Block modes | ||
750 | # | ||
751 | # CONFIG_CRYPTO_CBC is not set | ||
752 | # CONFIG_CRYPTO_CTR is not set | ||
753 | # CONFIG_CRYPTO_CTS is not set | ||
754 | # CONFIG_CRYPTO_ECB is not set | ||
755 | # CONFIG_CRYPTO_LRW is not set | ||
756 | # CONFIG_CRYPTO_PCBC is not set | ||
757 | # CONFIG_CRYPTO_XTS is not set | ||
758 | |||
759 | # | ||
760 | # Hash modes | ||
761 | # | ||
762 | # CONFIG_CRYPTO_HMAC is not set | ||
763 | # CONFIG_CRYPTO_XCBC is not set | ||
764 | # CONFIG_CRYPTO_VMAC is not set | ||
765 | |||
766 | # | ||
767 | # Digest | ||
768 | # | ||
769 | # CONFIG_CRYPTO_CRC32C is not set | ||
770 | # CONFIG_CRYPTO_GHASH is not set | ||
771 | # CONFIG_CRYPTO_MD4 is not set | ||
772 | # CONFIG_CRYPTO_MD5 is not set | ||
773 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
774 | # CONFIG_CRYPTO_RMD128 is not set | ||
775 | # CONFIG_CRYPTO_RMD160 is not set | ||
776 | # CONFIG_CRYPTO_RMD256 is not set | ||
777 | # CONFIG_CRYPTO_RMD320 is not set | ||
778 | # CONFIG_CRYPTO_SHA1 is not set | ||
779 | # CONFIG_CRYPTO_SHA256 is not set | ||
780 | # CONFIG_CRYPTO_SHA512 is not set | ||
781 | # CONFIG_CRYPTO_TGR192 is not set | ||
782 | # CONFIG_CRYPTO_WP512 is not set | ||
783 | |||
784 | # | ||
785 | # Ciphers | ||
786 | # | ||
787 | CONFIG_CRYPTO_AES=m | ||
788 | # CONFIG_CRYPTO_AES_586 is not set | ||
789 | # CONFIG_CRYPTO_ANUBIS is not set | ||
790 | # CONFIG_CRYPTO_ARC4 is not set | ||
791 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
792 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
793 | # CONFIG_CRYPTO_CAST5 is not set | ||
794 | # CONFIG_CRYPTO_CAST6 is not set | ||
795 | # CONFIG_CRYPTO_DES is not set | ||
796 | # CONFIG_CRYPTO_FCRYPT is not set | ||
797 | # CONFIG_CRYPTO_KHAZAD is not set | ||
798 | # CONFIG_CRYPTO_SALSA20 is not set | ||
799 | # CONFIG_CRYPTO_SALSA20_586 is not set | ||
800 | # CONFIG_CRYPTO_SEED is not set | ||
801 | # CONFIG_CRYPTO_SERPENT is not set | ||
802 | # CONFIG_CRYPTO_TEA is not set | ||
803 | # CONFIG_CRYPTO_TWOFISH is not set | ||
804 | # CONFIG_CRYPTO_TWOFISH_586 is not set | ||
805 | |||
806 | # | ||
807 | # Compression | ||
808 | # | ||
809 | # CONFIG_CRYPTO_DEFLATE is not set | ||
810 | # CONFIG_CRYPTO_ZLIB is not set | ||
811 | # CONFIG_CRYPTO_LZO is not set | ||
812 | |||
813 | # | ||
814 | # Random Number Generation | ||
815 | # | ||
816 | CONFIG_CRYPTO_ANSI_CPRNG=m | ||
817 | # CONFIG_CRYPTO_USER_API_HASH is not set | ||
818 | # CONFIG_CRYPTO_USER_API_SKCIPHER is not set | ||
819 | CONFIG_CRYPTO_HW=y | ||
820 | # CONFIG_BINARY_PRINTF is not set | ||
821 | |||
822 | # | ||
823 | # Library routines | ||
824 | # | ||
825 | CONFIG_BITREVERSE=y | ||
826 | CONFIG_GENERIC_FIND_FIRST_BIT=y | ||
827 | CONFIG_GENERIC_IO=y | ||
828 | # CONFIG_CRC_CCITT is not set | ||
829 | CONFIG_CRC16=y | ||
830 | # CONFIG_CRC_T10DIF is not set | ||
831 | # CONFIG_CRC_ITU_T is not set | ||
832 | CONFIG_CRC32=y | ||
833 | # CONFIG_CRC7 is not set | ||
834 | # CONFIG_LIBCRC32C is not set | ||
835 | # CONFIG_CRC8 is not set | ||
836 | # CONFIG_XZ_DEC is not set | ||
837 | # CONFIG_XZ_DEC_BCJ is not set | ||
838 | CONFIG_DQL=y | ||
839 | CONFIG_NLATTR=y | ||
840 | # CONFIG_AVERAGE is not set | ||
841 | # CONFIG_CORDIC is not set | ||
842 | |||
843 | # | ||
844 | # Kernel hacking | ||
845 | # | ||
846 | # CONFIG_PRINTK_TIME is not set | ||
847 | CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 | ||
848 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
849 | CONFIG_ENABLE_MUST_CHECK=y | ||
850 | CONFIG_FRAME_WARN=1024 | ||
851 | # CONFIG_STRIP_ASM_SYMS is not set | ||
852 | # CONFIG_UNUSED_SYMBOLS is not set | ||
853 | # CONFIG_DEBUG_FS is not set | ||
854 | # CONFIG_DEBUG_SECTION_MISMATCH is not set | ||
855 | CONFIG_DEBUG_KERNEL=y | ||
856 | # CONFIG_DEBUG_SHIRQ is not set | ||
857 | # CONFIG_LOCKUP_DETECTOR is not set | ||
858 | # CONFIG_HARDLOCKUP_DETECTOR is not set | ||
859 | # CONFIG_DETECT_HUNG_TASK is not set | ||
860 | CONFIG_SCHED_DEBUG=y | ||
861 | # CONFIG_SCHEDSTATS is not set | ||
862 | # CONFIG_TIMER_STATS is not set | ||
863 | # CONFIG_DEBUG_OBJECTS is not set | ||
864 | # CONFIG_DEBUG_SLAB is not set | ||
865 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
866 | # CONFIG_RT_MUTEX_TESTER is not set | ||
867 | # CONFIG_DEBUG_SPINLOCK is not set | ||
868 | # CONFIG_DEBUG_MUTEXES is not set | ||
869 | # CONFIG_SPARSE_RCU_POINTER is not set | ||
870 | # CONFIG_DEBUG_ATOMIC_SLEEP is not set | ||
871 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
872 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
873 | # CONFIG_DEBUG_KOBJECT is not set | ||
874 | CONFIG_DEBUG_BUGVERBOSE=y | ||
875 | CONFIG_DEBUG_INFO=y | ||
876 | # CONFIG_DEBUG_INFO_REDUCED is not set | ||
877 | # CONFIG_DEBUG_VM is not set | ||
878 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
879 | CONFIG_DEBUG_MEMORY_INIT=y | ||
880 | # CONFIG_DEBUG_LIST is not set | ||
881 | # CONFIG_TEST_LIST_SORT is not set | ||
882 | # CONFIG_DEBUG_SG is not set | ||
883 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
884 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
885 | CONFIG_FRAME_POINTER=y | ||
886 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
887 | # CONFIG_RCU_TORTURE_TEST is not set | ||
888 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
889 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
890 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
891 | # CONFIG_FAULT_INJECTION is not set | ||
892 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
893 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
894 | # CONFIG_ATOMIC64_SELFTEST is not set | ||
895 | # CONFIG_SAMPLES is not set | ||
896 | # CONFIG_TEST_KSTRTOX is not set | ||
897 | # CONFIG_GPROF is not set | ||
898 | # CONFIG_GCOV is not set | ||
899 | CONFIG_EARLY_PRINTK=y | ||
diff --git a/arch/um/drivers/mconsole_kern.c b/arch/um/drivers/mconsole_kern.c index 3df3bd544492..29880c9b324e 100644 --- a/arch/um/drivers/mconsole_kern.c +++ b/arch/um/drivers/mconsole_kern.c | |||
@@ -645,11 +645,9 @@ void mconsole_sysrq(struct mc_request *req) | |||
645 | 645 | ||
646 | static void stack_proc(void *arg) | 646 | static void stack_proc(void *arg) |
647 | { | 647 | { |
648 | struct task_struct *from = current, *to = arg; | 648 | struct task_struct *task = arg; |
649 | 649 | ||
650 | to->thread.saved_task = from; | 650 | show_stack(task, NULL); |
651 | rcu_user_hooks_switch(from, to); | ||
652 | switch_to(from, to, from); | ||
653 | } | 651 | } |
654 | 652 | ||
655 | /* | 653 | /* |
diff --git a/arch/um/include/asm/processor-generic.h b/arch/um/include/asm/processor-generic.h index c03cd5a02364..d89b02bb6262 100644 --- a/arch/um/include/asm/processor-generic.h +++ b/arch/um/include/asm/processor-generic.h | |||
@@ -19,8 +19,8 @@ struct task_struct; | |||
19 | struct mm_struct; | 19 | struct mm_struct; |
20 | 20 | ||
21 | struct thread_struct { | 21 | struct thread_struct { |
22 | struct task_struct *saved_task; | ||
23 | struct pt_regs regs; | 22 | struct pt_regs regs; |
23 | struct pt_regs *segv_regs; | ||
24 | int singlestep_syscall; | 24 | int singlestep_syscall; |
25 | void *fault_addr; | 25 | void *fault_addr; |
26 | jmp_buf *fault_catcher; | 26 | jmp_buf *fault_catcher; |
diff --git a/arch/um/include/shared/as-layout.h b/arch/um/include/shared/as-layout.h index 694c792bab4e..41c8c774ec10 100644 --- a/arch/um/include/shared/as-layout.h +++ b/arch/um/include/shared/as-layout.h | |||
@@ -44,7 +44,6 @@ struct cpu_task { | |||
44 | 44 | ||
45 | extern struct cpu_task cpu_tasks[]; | 45 | extern struct cpu_task cpu_tasks[]; |
46 | 46 | ||
47 | extern unsigned long low_physmem; | ||
48 | extern unsigned long high_physmem; | 47 | extern unsigned long high_physmem; |
49 | extern unsigned long uml_physmem; | 48 | extern unsigned long uml_physmem; |
50 | extern unsigned long uml_reserved; | 49 | extern unsigned long uml_reserved; |
@@ -52,8 +51,6 @@ extern unsigned long end_vm; | |||
52 | extern unsigned long start_vm; | 51 | extern unsigned long start_vm; |
53 | extern unsigned long long highmem; | 52 | extern unsigned long long highmem; |
54 | 53 | ||
55 | extern unsigned long _stext, _etext, _sdata, _edata, __bss_start, _end; | ||
56 | extern unsigned long _unprotected_end; | ||
57 | extern unsigned long brk_start; | 54 | extern unsigned long brk_start; |
58 | 55 | ||
59 | extern unsigned long host_task_size; | 56 | extern unsigned long host_task_size; |
diff --git a/arch/um/include/shared/os.h b/arch/um/include/shared/os.h index 021104d98cb3..75298d3358e7 100644 --- a/arch/um/include/shared/os.h +++ b/arch/um/include/shared/os.h | |||
@@ -227,6 +227,7 @@ extern void block_signals(void); | |||
227 | extern void unblock_signals(void); | 227 | extern void unblock_signals(void); |
228 | extern int get_signals(void); | 228 | extern int get_signals(void); |
229 | extern int set_signals(int enable); | 229 | extern int set_signals(int enable); |
230 | extern int os_is_signal_stack(void); | ||
230 | 231 | ||
231 | /* util.c */ | 232 | /* util.c */ |
232 | extern void stack_protections(unsigned long address); | 233 | extern void stack_protections(unsigned long address); |
diff --git a/arch/um/kernel/process.c b/arch/um/kernel/process.c index bbcef522bcb1..eecc4142764c 100644 --- a/arch/um/kernel/process.c +++ b/arch/um/kernel/process.c | |||
@@ -82,19 +82,8 @@ void *__switch_to(struct task_struct *from, struct task_struct *to) | |||
82 | to->thread.prev_sched = from; | 82 | to->thread.prev_sched = from; |
83 | set_current(to); | 83 | set_current(to); |
84 | 84 | ||
85 | do { | 85 | switch_threads(&from->thread.switch_buf, &to->thread.switch_buf); |
86 | current->thread.saved_task = NULL; | 86 | arch_switch_to(current); |
87 | |||
88 | switch_threads(&from->thread.switch_buf, | ||
89 | &to->thread.switch_buf); | ||
90 | |||
91 | arch_switch_to(current); | ||
92 | |||
93 | if (current->thread.saved_task) | ||
94 | show_regs(&(current->thread.regs)); | ||
95 | to = current->thread.saved_task; | ||
96 | from = current; | ||
97 | } while (current->thread.saved_task); | ||
98 | 87 | ||
99 | return current->thread.prev_sched; | 88 | return current->thread.prev_sched; |
100 | } | 89 | } |
diff --git a/arch/um/kernel/sysrq.c b/arch/um/kernel/sysrq.c index 0dc4d1c6f98a..4d6fdf68edf3 100644 --- a/arch/um/kernel/sysrq.c +++ b/arch/um/kernel/sysrq.c | |||
@@ -1,6 +1,10 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2001 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) | 2 | * Copyright (C) 2001 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) |
3 | * Licensed under the GPL | 3 | * Copyright (C) 2013 Richard Weinberger <richrd@nod.at> |
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
4 | */ | 8 | */ |
5 | 9 | ||
6 | #include <linux/kallsyms.h> | 10 | #include <linux/kallsyms.h> |
@@ -8,59 +12,87 @@ | |||
8 | #include <linux/module.h> | 12 | #include <linux/module.h> |
9 | #include <linux/sched.h> | 13 | #include <linux/sched.h> |
10 | #include <asm/sysrq.h> | 14 | #include <asm/sysrq.h> |
15 | #include <os.h> | ||
11 | 16 | ||
12 | /* Catch non-i386 SUBARCH's. */ | 17 | struct stack_frame { |
13 | #if !defined(CONFIG_UML_X86) || defined(CONFIG_64BIT) | 18 | struct stack_frame *next_frame; |
14 | void show_trace(struct task_struct *task, unsigned long * stack) | 19 | unsigned long return_address; |
20 | }; | ||
21 | |||
22 | static void print_stack_trace(unsigned long *sp, unsigned long bp) | ||
15 | { | 23 | { |
24 | int reliable; | ||
16 | unsigned long addr; | 25 | unsigned long addr; |
26 | struct stack_frame *frame = (struct stack_frame *)bp; | ||
17 | 27 | ||
18 | if (!stack) { | 28 | printk(KERN_INFO "Call Trace:\n"); |
19 | stack = (unsigned long*) &stack; | 29 | while (((long) sp & (THREAD_SIZE-1)) != 0) { |
20 | WARN_ON(1); | 30 | addr = *sp; |
21 | } | ||
22 | |||
23 | printk(KERN_INFO "Call Trace: \n"); | ||
24 | while (((long) stack & (THREAD_SIZE-1)) != 0) { | ||
25 | addr = *stack; | ||
26 | if (__kernel_text_address(addr)) { | 31 | if (__kernel_text_address(addr)) { |
27 | printk(KERN_INFO "%08lx: [<%08lx>]", | 32 | reliable = 0; |
28 | (unsigned long) stack, addr); | 33 | if ((unsigned long) sp == bp + sizeof(long)) { |
29 | print_symbol(KERN_CONT " %s", addr); | 34 | frame = frame ? frame->next_frame : NULL; |
35 | bp = (unsigned long)frame; | ||
36 | reliable = 1; | ||
37 | } | ||
38 | |||
39 | printk(KERN_INFO " [<%08lx>]", addr); | ||
40 | printk(KERN_CONT " %s", reliable ? "" : "? "); | ||
41 | print_symbol(KERN_CONT "%s", addr); | ||
30 | printk(KERN_CONT "\n"); | 42 | printk(KERN_CONT "\n"); |
31 | } | 43 | } |
32 | stack++; | 44 | sp++; |
33 | } | 45 | } |
34 | printk(KERN_INFO "\n"); | 46 | printk(KERN_INFO "\n"); |
35 | } | 47 | } |
36 | #endif | ||
37 | 48 | ||
38 | /*Stolen from arch/i386/kernel/traps.c */ | 49 | static unsigned long get_frame_pointer(struct task_struct *task, |
39 | static const int kstack_depth_to_print = 24; | 50 | struct pt_regs *segv_regs) |
51 | { | ||
52 | if (!task || task == current) | ||
53 | return segv_regs ? PT_REGS_BP(segv_regs) : current_bp(); | ||
54 | else | ||
55 | return KSTK_EBP(task); | ||
56 | } | ||
40 | 57 | ||
41 | /* This recently started being used in arch-independent code too, as in | 58 | static unsigned long *get_stack_pointer(struct task_struct *task, |
42 | * kernel/sched/core.c.*/ | 59 | struct pt_regs *segv_regs) |
43 | void show_stack(struct task_struct *task, unsigned long *esp) | ||
44 | { | 60 | { |
45 | unsigned long *stack; | 61 | if (!task || task == current) |
62 | return segv_regs ? (unsigned long *)PT_REGS_SP(segv_regs) : current_sp(); | ||
63 | else | ||
64 | return (unsigned long *)KSTK_ESP(task); | ||
65 | } | ||
66 | |||
67 | void show_stack(struct task_struct *task, unsigned long *stack) | ||
68 | { | ||
69 | unsigned long *sp = stack, bp = 0; | ||
70 | struct pt_regs *segv_regs = current->thread.segv_regs; | ||
46 | int i; | 71 | int i; |
47 | 72 | ||
48 | if (esp == NULL) { | 73 | if (!segv_regs && os_is_signal_stack()) { |
49 | if (task != current && task != NULL) { | 74 | printk(KERN_ERR "Received SIGSEGV in SIGSEGV handler," |
50 | esp = (unsigned long *) KSTK_ESP(task); | 75 | " aborting stack trace!\n"); |
51 | } else { | 76 | return; |
52 | esp = (unsigned long *) &esp; | ||
53 | } | ||
54 | } | 77 | } |
55 | 78 | ||
56 | stack = esp; | 79 | #ifdef CONFIG_FRAME_POINTER |
57 | for (i = 0; i < kstack_depth_to_print; i++) { | 80 | bp = get_frame_pointer(task, segv_regs); |
81 | #endif | ||
82 | |||
83 | if (!stack) | ||
84 | sp = get_stack_pointer(task, segv_regs); | ||
85 | |||
86 | printk(KERN_INFO "Stack:\n"); | ||
87 | stack = sp; | ||
88 | for (i = 0; i < 3 * STACKSLOTS_PER_LINE; i++) { | ||
58 | if (kstack_end(stack)) | 89 | if (kstack_end(stack)) |
59 | break; | 90 | break; |
60 | if (i && ((i % 8) == 0)) | 91 | if (i && ((i % STACKSLOTS_PER_LINE) == 0)) |
61 | printk(KERN_INFO " "); | 92 | printk(KERN_CONT "\n"); |
62 | printk(KERN_CONT "%08lx ", *stack++); | 93 | printk(KERN_CONT " %08lx", *stack++); |
63 | } | 94 | } |
95 | printk(KERN_CONT "\n"); | ||
64 | 96 | ||
65 | show_trace(task, esp); | 97 | print_stack_trace(sp, bp); |
66 | } | 98 | } |
diff --git a/arch/um/kernel/trap.c b/arch/um/kernel/trap.c index 5c3aef74237f..974b87474a99 100644 --- a/arch/um/kernel/trap.c +++ b/arch/um/kernel/trap.c | |||
@@ -206,9 +206,12 @@ unsigned long segv(struct faultinfo fi, unsigned long ip, int is_user, | |||
206 | int is_write = FAULT_WRITE(fi); | 206 | int is_write = FAULT_WRITE(fi); |
207 | unsigned long address = FAULT_ADDRESS(fi); | 207 | unsigned long address = FAULT_ADDRESS(fi); |
208 | 208 | ||
209 | if (regs) | ||
210 | current->thread.segv_regs = container_of(regs, struct pt_regs, regs); | ||
211 | |||
209 | if (!is_user && (address >= start_vm) && (address < end_vm)) { | 212 | if (!is_user && (address >= start_vm) && (address < end_vm)) { |
210 | flush_tlb_kernel_vm(); | 213 | flush_tlb_kernel_vm(); |
211 | return 0; | 214 | goto out; |
212 | } | 215 | } |
213 | else if (current->mm == NULL) { | 216 | else if (current->mm == NULL) { |
214 | show_regs(container_of(regs, struct pt_regs, regs)); | 217 | show_regs(container_of(regs, struct pt_regs, regs)); |
@@ -230,7 +233,7 @@ unsigned long segv(struct faultinfo fi, unsigned long ip, int is_user, | |||
230 | 233 | ||
231 | catcher = current->thread.fault_catcher; | 234 | catcher = current->thread.fault_catcher; |
232 | if (!err) | 235 | if (!err) |
233 | return 0; | 236 | goto out; |
234 | else if (catcher != NULL) { | 237 | else if (catcher != NULL) { |
235 | current->thread.fault_addr = (void *) address; | 238 | current->thread.fault_addr = (void *) address; |
236 | UML_LONGJMP(catcher, 1); | 239 | UML_LONGJMP(catcher, 1); |
@@ -238,7 +241,7 @@ unsigned long segv(struct faultinfo fi, unsigned long ip, int is_user, | |||
238 | else if (current->thread.fault_addr != NULL) | 241 | else if (current->thread.fault_addr != NULL) |
239 | panic("fault_addr set but no fault catcher"); | 242 | panic("fault_addr set but no fault catcher"); |
240 | else if (!is_user && arch_fixup(ip, regs)) | 243 | else if (!is_user && arch_fixup(ip, regs)) |
241 | return 0; | 244 | goto out; |
242 | 245 | ||
243 | if (!is_user) { | 246 | if (!is_user) { |
244 | show_regs(container_of(regs, struct pt_regs, regs)); | 247 | show_regs(container_of(regs, struct pt_regs, regs)); |
@@ -262,6 +265,11 @@ unsigned long segv(struct faultinfo fi, unsigned long ip, int is_user, | |||
262 | current->thread.arch.faultinfo = fi; | 265 | current->thread.arch.faultinfo = fi; |
263 | force_sig_info(SIGSEGV, &si, current); | 266 | force_sig_info(SIGSEGV, &si, current); |
264 | } | 267 | } |
268 | |||
269 | out: | ||
270 | if (regs) | ||
271 | current->thread.segv_regs = NULL; | ||
272 | |||
265 | return 0; | 273 | return 0; |
266 | } | 274 | } |
267 | 275 | ||
diff --git a/arch/um/kernel/um_arch.c b/arch/um/kernel/um_arch.c index 87df5e3acc26..016adf0985d5 100644 --- a/arch/um/kernel/um_arch.c +++ b/arch/um/kernel/um_arch.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/sched.h> | 13 | #include <linux/sched.h> |
14 | #include <asm/pgtable.h> | 14 | #include <asm/pgtable.h> |
15 | #include <asm/processor.h> | 15 | #include <asm/processor.h> |
16 | #include <asm/sections.h> | ||
16 | #include <asm/setup.h> | 17 | #include <asm/setup.h> |
17 | #include <as-layout.h> | 18 | #include <as-layout.h> |
18 | #include <arch.h> | 19 | #include <arch.h> |
@@ -234,7 +235,6 @@ static int panic_exit(struct notifier_block *self, unsigned long unused1, | |||
234 | void *unused2) | 235 | void *unused2) |
235 | { | 236 | { |
236 | bust_spinlocks(1); | 237 | bust_spinlocks(1); |
237 | show_regs(&(current->thread.regs)); | ||
238 | bust_spinlocks(0); | 238 | bust_spinlocks(0); |
239 | uml_exitcode = 1; | 239 | uml_exitcode = 1; |
240 | os_dump_core(); | 240 | os_dump_core(); |
diff --git a/arch/um/os-Linux/signal.c b/arch/um/os-Linux/signal.c index 905924b773d3..7b605e4dfffa 100644 --- a/arch/um/os-Linux/signal.c +++ b/arch/um/os-Linux/signal.c | |||
@@ -304,3 +304,11 @@ int set_signals(int enable) | |||
304 | 304 | ||
305 | return ret; | 305 | return ret; |
306 | } | 306 | } |
307 | |||
308 | int os_is_signal_stack(void) | ||
309 | { | ||
310 | stack_t ss; | ||
311 | sigaltstack(NULL, &ss); | ||
312 | |||
313 | return ss.ss_flags & SS_ONSTACK; | ||
314 | } | ||
diff --git a/arch/x86/um/Kconfig b/arch/x86/um/Kconfig index 14ef8d1dbc33..ed56a1c4ae73 100644 --- a/arch/x86/um/Kconfig +++ b/arch/x86/um/Kconfig | |||
@@ -31,6 +31,11 @@ config X86_64 | |||
31 | def_bool 64BIT | 31 | def_bool 64BIT |
32 | select MODULES_USE_ELF_RELA | 32 | select MODULES_USE_ELF_RELA |
33 | 33 | ||
34 | config ARCH_DEFCONFIG | ||
35 | string | ||
36 | default "arch/um/configs/i386_defconfig" if X86_32 | ||
37 | default "arch/um/configs/x86_64_defconfig" if X86_64 | ||
38 | |||
34 | config RWSEM_XCHGADD_ALGORITHM | 39 | config RWSEM_XCHGADD_ALGORITHM |
35 | def_bool 64BIT | 40 | def_bool 64BIT |
36 | 41 | ||
diff --git a/arch/x86/um/asm/processor_32.h b/arch/x86/um/asm/processor_32.h index 6c6689e574ce..c112de81c9e1 100644 --- a/arch/x86/um/asm/processor_32.h +++ b/arch/x86/um/asm/processor_32.h | |||
@@ -33,6 +33,8 @@ struct arch_thread { | |||
33 | .faultinfo = { 0, 0, 0 } \ | 33 | .faultinfo = { 0, 0, 0 } \ |
34 | } | 34 | } |
35 | 35 | ||
36 | #define STACKSLOTS_PER_LINE 8 | ||
37 | |||
36 | static inline void arch_flush_thread(struct arch_thread *thread) | 38 | static inline void arch_flush_thread(struct arch_thread *thread) |
37 | { | 39 | { |
38 | /* Clear any TLS still hanging */ | 40 | /* Clear any TLS still hanging */ |
@@ -53,4 +55,7 @@ static inline void arch_copy_thread(struct arch_thread *from, | |||
53 | #define current_text_addr() \ | 55 | #define current_text_addr() \ |
54 | ({ void *pc; __asm__("movl $1f,%0\n1:":"=g" (pc)); pc; }) | 56 | ({ void *pc; __asm__("movl $1f,%0\n1:":"=g" (pc)); pc; }) |
55 | 57 | ||
58 | #define current_sp() ({ void *sp; __asm__("movl %%esp, %0" : "=r" (sp) : ); sp; }) | ||
59 | #define current_bp() ({ unsigned long bp; __asm__("movl %%ebp, %0" : "=r" (bp) : ); bp; }) | ||
60 | |||
56 | #endif | 61 | #endif |
diff --git a/arch/x86/um/asm/processor_64.h b/arch/x86/um/asm/processor_64.h index 4b02a8455bd1..c3be85205a65 100644 --- a/arch/x86/um/asm/processor_64.h +++ b/arch/x86/um/asm/processor_64.h | |||
@@ -19,6 +19,8 @@ struct arch_thread { | |||
19 | .fs = 0, \ | 19 | .fs = 0, \ |
20 | .faultinfo = { 0, 0, 0 } } | 20 | .faultinfo = { 0, 0, 0 } } |
21 | 21 | ||
22 | #define STACKSLOTS_PER_LINE 4 | ||
23 | |||
22 | static inline void arch_flush_thread(struct arch_thread *thread) | 24 | static inline void arch_flush_thread(struct arch_thread *thread) |
23 | { | 25 | { |
24 | } | 26 | } |
@@ -32,4 +34,7 @@ static inline void arch_copy_thread(struct arch_thread *from, | |||
32 | #define current_text_addr() \ | 34 | #define current_text_addr() \ |
33 | ({ void *pc; __asm__("movq $1f,%0\n1:":"=g" (pc)); pc; }) | 35 | ({ void *pc; __asm__("movq $1f,%0\n1:":"=g" (pc)); pc; }) |
34 | 36 | ||
37 | #define current_sp() ({ void *sp; __asm__("movq %%rsp, %0" : "=r" (sp) : ); sp; }) | ||
38 | #define current_bp() ({ unsigned long bp; __asm__("movq %%rbp, %0" : "=r" (bp) : ); bp; }) | ||
39 | |||
35 | #endif | 40 | #endif |
diff --git a/arch/x86/um/sysrq_32.c b/arch/x86/um/sysrq_32.c index c9bee5b8c0d3..16ee0e450e3e 100644 --- a/arch/x86/um/sysrq_32.c +++ b/arch/x86/um/sysrq_32.c | |||
@@ -30,70 +30,4 @@ void show_regs(struct pt_regs *regs) | |||
30 | printk(" DS: %04lx ES: %04lx\n", | 30 | printk(" DS: %04lx ES: %04lx\n", |
31 | 0xffff & PT_REGS_DS(regs), | 31 | 0xffff & PT_REGS_DS(regs), |
32 | 0xffff & PT_REGS_ES(regs)); | 32 | 0xffff & PT_REGS_ES(regs)); |
33 | |||
34 | show_trace(NULL, (unsigned long *) ®s); | ||
35 | } | 33 | } |
36 | |||
37 | /* Copied from i386. */ | ||
38 | static inline int valid_stack_ptr(struct thread_info *tinfo, void *p) | ||
39 | { | ||
40 | return p > (void *)tinfo && | ||
41 | p < (void *)tinfo + THREAD_SIZE - 3; | ||
42 | } | ||
43 | |||
44 | /* Adapted from i386 (we also print the address we read from). */ | ||
45 | static inline unsigned long print_context_stack(struct thread_info *tinfo, | ||
46 | unsigned long *stack, unsigned long ebp) | ||
47 | { | ||
48 | unsigned long addr; | ||
49 | |||
50 | #ifdef CONFIG_FRAME_POINTER | ||
51 | while (valid_stack_ptr(tinfo, (void *)ebp)) { | ||
52 | addr = *(unsigned long *)(ebp + 4); | ||
53 | printk("%08lx: [<%08lx>]", ebp + 4, addr); | ||
54 | print_symbol(" %s", addr); | ||
55 | printk("\n"); | ||
56 | ebp = *(unsigned long *)ebp; | ||
57 | } | ||
58 | #else | ||
59 | while (valid_stack_ptr(tinfo, stack)) { | ||
60 | addr = *stack; | ||
61 | if (__kernel_text_address(addr)) { | ||
62 | printk("%08lx: [<%08lx>]", (unsigned long) stack, addr); | ||
63 | print_symbol(" %s", addr); | ||
64 | printk("\n"); | ||
65 | } | ||
66 | stack++; | ||
67 | } | ||
68 | #endif | ||
69 | return ebp; | ||
70 | } | ||
71 | |||
72 | void show_trace(struct task_struct* task, unsigned long * stack) | ||
73 | { | ||
74 | unsigned long ebp; | ||
75 | struct thread_info *context; | ||
76 | |||
77 | /* Turn this into BUG_ON if possible. */ | ||
78 | if (!stack) { | ||
79 | stack = (unsigned long*) &stack; | ||
80 | printk("show_trace: got NULL stack, implicit assumption task == current"); | ||
81 | WARN_ON(1); | ||
82 | } | ||
83 | |||
84 | if (!task) | ||
85 | task = current; | ||
86 | |||
87 | if (task != current) { | ||
88 | ebp = (unsigned long) KSTK_EBP(task); | ||
89 | } else { | ||
90 | asm ("movl %%ebp, %0" : "=r" (ebp) : ); | ||
91 | } | ||
92 | |||
93 | context = (struct thread_info *) | ||
94 | ((unsigned long)stack & (~(THREAD_SIZE - 1))); | ||
95 | print_context_stack(context, stack, ebp); | ||
96 | |||
97 | printk("\n"); | ||
98 | } | ||
99 | |||
diff --git a/arch/x86/um/sysrq_64.c b/arch/x86/um/sysrq_64.c index a0e7fb1134a0..38b4e4abd0f8 100644 --- a/arch/x86/um/sysrq_64.c +++ b/arch/x86/um/sysrq_64.c | |||
@@ -12,7 +12,7 @@ | |||
12 | #include <asm/ptrace.h> | 12 | #include <asm/ptrace.h> |
13 | #include <asm/sysrq.h> | 13 | #include <asm/sysrq.h> |
14 | 14 | ||
15 | void __show_regs(struct pt_regs *regs) | 15 | void show_regs(struct pt_regs *regs) |
16 | { | 16 | { |
17 | printk("\n"); | 17 | printk("\n"); |
18 | print_modules(); | 18 | print_modules(); |
@@ -33,9 +33,3 @@ void __show_regs(struct pt_regs *regs) | |||
33 | printk(KERN_INFO "R13: %016lx R14: %016lx R15: %016lx\n", | 33 | printk(KERN_INFO "R13: %016lx R14: %016lx R15: %016lx\n", |
34 | PT_REGS_R13(regs), PT_REGS_R14(regs), PT_REGS_R15(regs)); | 34 | PT_REGS_R13(regs), PT_REGS_R14(regs), PT_REGS_R15(regs)); |
35 | } | 35 | } |
36 | |||
37 | void show_regs(struct pt_regs *regs) | ||
38 | { | ||
39 | __show_regs(regs); | ||
40 | show_trace(current, (unsigned long *) ®s); | ||
41 | } | ||
diff --git a/arch/x86/um/vdso/.gitignore b/arch/x86/um/vdso/.gitignore new file mode 100644 index 000000000000..9cac6d072199 --- /dev/null +++ b/arch/x86/um/vdso/.gitignore | |||
@@ -0,0 +1,2 @@ | |||
1 | vdso-syms.lds | ||
2 | vdso.lds | ||