aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/um/Kconfig.char4
-rw-r--r--arch/um/Kconfig.common5
-rw-r--r--arch/um/Makefile11
-rw-r--r--arch/um/configs/i386_defconfig76
-rw-r--r--arch/um/configs/x86_64_defconfig75
-rw-r--r--arch/um/defconfig899
-rw-r--r--arch/um/drivers/mconsole_kern.c6
-rw-r--r--arch/um/include/asm/processor-generic.h2
-rw-r--r--arch/um/include/shared/as-layout.h3
-rw-r--r--arch/um/include/shared/os.h1
-rw-r--r--arch/um/kernel/process.c15
-rw-r--r--arch/um/kernel/sysrq.c102
-rw-r--r--arch/um/kernel/trap.c14
-rw-r--r--arch/um/kernel/um_arch.c2
-rw-r--r--arch/um/os-Linux/signal.c8
-rw-r--r--arch/x86/um/Kconfig5
-rw-r--r--arch/x86/um/asm/processor_32.h5
-rw-r--r--arch/x86/um/asm/processor_64.h5
-rw-r--r--arch/x86/um/sysrq_32.c66
-rw-r--r--arch/x86/um/sysrq_64.c8
-rw-r--r--arch/x86/um/vdso/.gitignore2
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
9config STDIO_CONSOLE
10 bool
11 default y
12
13config SSL 9config 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 @@
1config DEFCONFIG_LIST
2 string
3 option defconfig_list
4 default "arch/$ARCH/defconfig"
5
6config UML 1config 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
10ifeq ($(SUBARCH),x86)
11 ifeq ($(shell uname -m),x86_64)
12 KBUILD_DEFCONFIG := x86_64_defconfig
13 else
14 KBUILD_DEFCONFIG := i386_defconfig
15 endif
16else
17 KBUILD_DEFCONFIG := $(SUBARCH)_defconfig
18endif
19
9ARCH_DIR := arch/um 20ARCH_DIR := arch/um
10OS := $(shell uname -s) 21OS := $(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 @@
1CONFIG_3_LEVEL_PGTABLES=y
2# CONFIG_COMPACTION is not set
3CONFIG_BINFMT_MISC=m
4CONFIG_HOSTFS=y
5CONFIG_MAGIC_SYSRQ=y
6CONFIG_KERNEL_STACK_ORDER=1
7CONFIG_SYSVIPC=y
8CONFIG_POSIX_MQUEUE=y
9CONFIG_NO_HZ=y
10CONFIG_HIGH_RES_TIMERS=y
11CONFIG_BSD_PROCESS_ACCT=y
12CONFIG_IKCONFIG=y
13CONFIG_IKCONFIG_PROC=y
14CONFIG_LOG_BUF_SHIFT=14
15CONFIG_CGROUPS=y
16CONFIG_CGROUP_FREEZER=y
17CONFIG_CGROUP_DEVICE=y
18CONFIG_CPUSETS=y
19CONFIG_CGROUP_CPUACCT=y
20CONFIG_RESOURCE_COUNTERS=y
21CONFIG_CGROUP_SCHED=y
22CONFIG_BLK_CGROUP=y
23# CONFIG_PID_NS is not set
24CONFIG_SYSFS_DEPRECATED=y
25CONFIG_CC_OPTIMIZE_FOR_SIZE=y
26CONFIG_SLAB=y
27CONFIG_MODULES=y
28CONFIG_MODULE_UNLOAD=y
29# CONFIG_BLK_DEV_BSG is not set
30CONFIG_IOSCHED_CFQ=m
31CONFIG_SSL=y
32CONFIG_NULL_CHAN=y
33CONFIG_PORT_CHAN=y
34CONFIG_PTY_CHAN=y
35CONFIG_TTY_CHAN=y
36CONFIG_XTERM_CHAN=y
37CONFIG_CON_CHAN="pts"
38CONFIG_SSL_CHAN="pts"
39CONFIG_UML_SOUND=m
40CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
41CONFIG_DEVTMPFS=y
42CONFIG_DEVTMPFS_MOUNT=y
43CONFIG_BLK_DEV_UBD=y
44CONFIG_BLK_DEV_LOOP=m
45CONFIG_BLK_DEV_NBD=m
46CONFIG_DUMMY=m
47CONFIG_TUN=m
48CONFIG_PPP=m
49CONFIG_SLIP=m
50CONFIG_LEGACY_PTY_COUNT=32
51# CONFIG_HW_RANDOM is not set
52CONFIG_UML_RANDOM=y
53CONFIG_NET=y
54CONFIG_PACKET=y
55CONFIG_UNIX=y
56CONFIG_INET=y
57# CONFIG_INET_LRO is not set
58# CONFIG_IPV6 is not set
59CONFIG_UML_NET=y
60CONFIG_UML_NET_ETHERTAP=y
61CONFIG_UML_NET_TUNTAP=y
62CONFIG_UML_NET_SLIP=y
63CONFIG_UML_NET_DAEMON=y
64CONFIG_UML_NET_MCAST=y
65CONFIG_UML_NET_SLIRP=y
66CONFIG_EXT4_FS=y
67CONFIG_REISERFS_FS=y
68CONFIG_QUOTA=y
69CONFIG_AUTOFS4_FS=m
70CONFIG_ISO9660_FS=m
71CONFIG_JOLIET=y
72CONFIG_PROC_KCORE=y
73CONFIG_TMPFS=y
74CONFIG_NLS=y
75CONFIG_DEBUG_INFO=y
76CONFIG_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
2CONFIG_BINFMT_MISC=m
3CONFIG_HOSTFS=y
4CONFIG_MAGIC_SYSRQ=y
5CONFIG_SYSVIPC=y
6CONFIG_POSIX_MQUEUE=y
7CONFIG_NO_HZ=y
8CONFIG_HIGH_RES_TIMERS=y
9CONFIG_BSD_PROCESS_ACCT=y
10CONFIG_IKCONFIG=y
11CONFIG_IKCONFIG_PROC=y
12CONFIG_LOG_BUF_SHIFT=14
13CONFIG_CGROUPS=y
14CONFIG_CGROUP_FREEZER=y
15CONFIG_CGROUP_DEVICE=y
16CONFIG_CPUSETS=y
17CONFIG_CGROUP_CPUACCT=y
18CONFIG_RESOURCE_COUNTERS=y
19CONFIG_CGROUP_SCHED=y
20CONFIG_BLK_CGROUP=y
21# CONFIG_PID_NS is not set
22CONFIG_SYSFS_DEPRECATED=y
23CONFIG_CC_OPTIMIZE_FOR_SIZE=y
24CONFIG_SLAB=y
25CONFIG_MODULES=y
26CONFIG_MODULE_UNLOAD=y
27# CONFIG_BLK_DEV_BSG is not set
28CONFIG_IOSCHED_CFQ=m
29CONFIG_SSL=y
30CONFIG_NULL_CHAN=y
31CONFIG_PORT_CHAN=y
32CONFIG_PTY_CHAN=y
33CONFIG_TTY_CHAN=y
34CONFIG_XTERM_CHAN=y
35CONFIG_CON_CHAN="pts"
36CONFIG_SSL_CHAN="pts"
37CONFIG_UML_SOUND=m
38CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
39CONFIG_DEVTMPFS=y
40CONFIG_DEVTMPFS_MOUNT=y
41CONFIG_BLK_DEV_UBD=y
42CONFIG_BLK_DEV_LOOP=m
43CONFIG_BLK_DEV_NBD=m
44CONFIG_DUMMY=m
45CONFIG_TUN=m
46CONFIG_PPP=m
47CONFIG_SLIP=m
48CONFIG_LEGACY_PTY_COUNT=32
49# CONFIG_HW_RANDOM is not set
50CONFIG_UML_RANDOM=y
51CONFIG_NET=y
52CONFIG_PACKET=y
53CONFIG_UNIX=y
54CONFIG_INET=y
55# CONFIG_INET_LRO is not set
56# CONFIG_IPV6 is not set
57CONFIG_UML_NET=y
58CONFIG_UML_NET_ETHERTAP=y
59CONFIG_UML_NET_TUNTAP=y
60CONFIG_UML_NET_SLIP=y
61CONFIG_UML_NET_DAEMON=y
62CONFIG_UML_NET_MCAST=y
63CONFIG_UML_NET_SLIRP=y
64CONFIG_EXT4_FS=y
65CONFIG_REISERFS_FS=y
66CONFIG_QUOTA=y
67CONFIG_AUTOFS4_FS=m
68CONFIG_ISO9660_FS=m
69CONFIG_JOLIET=y
70CONFIG_PROC_KCORE=y
71CONFIG_TMPFS=y
72CONFIG_NLS=y
73CONFIG_DEBUG_INFO=y
74CONFIG_FRAME_WARN=1024
75CONFIG_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#
5CONFIG_DEFCONFIG_LIST="arch/$ARCH/defconfig"
6CONFIG_UML=y
7CONFIG_MMU=y
8CONFIG_NO_IOMEM=y
9# CONFIG_TRACE_IRQFLAGS_SUPPORT is not set
10CONFIG_LOCKDEP_SUPPORT=y
11# CONFIG_STACKTRACE_SUPPORT is not set
12CONFIG_GENERIC_CALIBRATE_DELAY=y
13CONFIG_GENERIC_BUG=y
14CONFIG_GENERIC_CLOCKEVENTS=y
15CONFIG_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
28CONFIG_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
49CONFIG_X86_INTERNODE_CACHE_SHIFT=5
50CONFIG_X86_CMPXCHG=y
51CONFIG_X86_L1_CACHE_SHIFT=5
52CONFIG_X86_XADD=y
53CONFIG_X86_PPRO_FENCE=y
54CONFIG_X86_WP_WORKS_OK=y
55CONFIG_X86_INVLPG=y
56CONFIG_X86_BSWAP=y
57CONFIG_X86_POPAD_OK=y
58CONFIG_X86_USE_PPRO_CHECKSUM=y
59CONFIG_X86_TSC=y
60CONFIG_X86_CMPXCHG64=y
61CONFIG_X86_CMOV=y
62CONFIG_X86_MINIMUM_CPU_FAMILY=5
63CONFIG_CPU_SUP_INTEL=y
64CONFIG_CPU_SUP_CYRIX_32=y
65CONFIG_CPU_SUP_AMD=y
66CONFIG_CPU_SUP_CENTAUR=y
67CONFIG_CPU_SUP_TRANSMETA_32=y
68CONFIG_CPU_SUP_UMC_32=y
69CONFIG_UML_X86=y
70# CONFIG_64BIT is not set
71CONFIG_X86_32=y
72# CONFIG_X86_64 is not set
73# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
74CONFIG_RWSEM_GENERIC_SPINLOCK=y
75# CONFIG_3_LEVEL_PGTABLES is not set
76CONFIG_ARCH_HAS_SC_SIGNALS=y
77CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA=y
78CONFIG_GENERIC_HWEIGHT=y
79# CONFIG_STATIC_LINK is not set
80CONFIG_SELECT_MEMORY_MODEL=y
81CONFIG_FLATMEM_MANUAL=y
82CONFIG_FLATMEM=y
83CONFIG_FLAT_NODE_MEM_MAP=y
84CONFIG_PAGEFLAGS_EXTENDED=y
85CONFIG_SPLIT_PTLOCK_CPUS=4
86# CONFIG_COMPACTION is not set
87# CONFIG_PHYS_ADDR_T_64BIT is not set
88CONFIG_ZONE_DMA_FLAG=0
89CONFIG_VIRT_TO_BUS=y
90# CONFIG_KSM is not set
91CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
92CONFIG_NEED_PER_CPU_KM=y
93# CONFIG_CLEANCACHE is not set
94CONFIG_TICK_ONESHOT=y
95CONFIG_NO_HZ=y
96CONFIG_HIGH_RES_TIMERS=y
97CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
98CONFIG_LD_SCRIPT_DYN=y
99CONFIG_BINFMT_ELF=y
100CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
101CONFIG_HAVE_AOUT=y
102# CONFIG_BINFMT_AOUT is not set
103CONFIG_BINFMT_MISC=m
104CONFIG_HOSTFS=y
105# CONFIG_HPPFS is not set
106CONFIG_MCONSOLE=y
107CONFIG_MAGIC_SYSRQ=y
108CONFIG_KERNEL_STACK_ORDER=0
109# CONFIG_MMAPPER is not set
110CONFIG_NO_DMA=y
111
112#
113# General setup
114#
115CONFIG_EXPERIMENTAL=y
116CONFIG_BROKEN_ON_SMP=y
117CONFIG_INIT_ENV_ARG_LIMIT=128
118CONFIG_CROSS_COMPILE=""
119CONFIG_LOCALVERSION=""
120CONFIG_LOCALVERSION_AUTO=y
121CONFIG_DEFAULT_HOSTNAME="(none)"
122CONFIG_SWAP=y
123CONFIG_SYSVIPC=y
124CONFIG_SYSVIPC_SYSCTL=y
125CONFIG_POSIX_MQUEUE=y
126CONFIG_POSIX_MQUEUE_SYSCTL=y
127CONFIG_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#
136CONFIG_GENERIC_IRQ_SHOW=y
137
138#
139# RCU Subsystem
140#
141CONFIG_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
145CONFIG_IKCONFIG=y
146CONFIG_IKCONFIG_PROC=y
147CONFIG_LOG_BUF_SHIFT=14
148CONFIG_CGROUPS=y
149# CONFIG_CGROUP_DEBUG is not set
150CONFIG_CGROUP_FREEZER=y
151CONFIG_CGROUP_DEVICE=y
152CONFIG_CPUSETS=y
153CONFIG_PROC_PID_CPUSET=y
154CONFIG_CGROUP_CPUACCT=y
155CONFIG_RESOURCE_COUNTERS=y
156CONFIG_CGROUP_MEMCG=y
157CONFIG_CGROUP_MEMCG_SWAP=y
158# CONFIG_CGROUP_MEMCG_SWAP_ENABLED is not set
159# CONFIG_CGROUP_MEMCG_KMEM is not set
160CONFIG_CGROUP_SCHED=y
161CONFIG_FAIR_GROUP_SCHED=y
162# CONFIG_CFS_BANDWIDTH is not set
163# CONFIG_RT_GROUP_SCHED is not set
164CONFIG_BLK_CGROUP=y
165# CONFIG_DEBUG_BLK_CGROUP is not set
166# CONFIG_CHECKPOINT_RESTORE is not set
167CONFIG_NAMESPACES=y
168CONFIG_UTS_NS=y
169CONFIG_IPC_NS=y
170# CONFIG_USER_NS is not set
171# CONFIG_PID_NS is not set
172CONFIG_NET_NS=y
173# CONFIG_SCHED_AUTOGROUP is not set
174CONFIG_MM_OWNER=y
175CONFIG_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
179CONFIG_CC_OPTIMIZE_FOR_SIZE=y
180CONFIG_SYSCTL=y
181CONFIG_ANON_INODES=y
182# CONFIG_EXPERT is not set
183CONFIG_UID16=y
184# CONFIG_SYSCTL_SYSCALL is not set
185CONFIG_KALLSYMS=y
186# CONFIG_KALLSYMS_ALL is not set
187CONFIG_HOTPLUG=y
188CONFIG_PRINTK=y
189CONFIG_BUG=y
190CONFIG_ELF_CORE=y
191CONFIG_BASE_FULL=y
192CONFIG_FUTEX=y
193CONFIG_EPOLL=y
194CONFIG_SIGNALFD=y
195CONFIG_TIMERFD=y
196CONFIG_EVENTFD=y
197CONFIG_SHMEM=y
198CONFIG_AIO=y
199# CONFIG_EMBEDDED is not set
200
201#
202# Kernel Performance Events And Counters
203#
204CONFIG_VM_EVENT_COUNTERS=y
205CONFIG_COMPAT_BRK=y
206CONFIG_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
214CONFIG_SLABINFO=y
215CONFIG_RT_MUTEXES=y
216CONFIG_BASE_SMALL=0
217CONFIG_MODULES=y
218# CONFIG_MODULE_FORCE_LOAD is not set
219CONFIG_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
223CONFIG_BLOCK=y
224CONFIG_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
233CONFIG_MSDOS_PARTITION=y
234
235#
236# IO Schedulers
237#
238CONFIG_IOSCHED_NOOP=y
239CONFIG_IOSCHED_DEADLINE=y
240CONFIG_IOSCHED_CFQ=m
241# CONFIG_CFQ_GROUP_IOSCHED is not set
242CONFIG_DEFAULT_DEADLINE=y
243# CONFIG_DEFAULT_CFQ is not set
244# CONFIG_DEFAULT_NOOP is not set
245CONFIG_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
252CONFIG_INLINE_SPIN_UNLOCK=y
253# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
254CONFIG_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
261CONFIG_INLINE_READ_UNLOCK=y
262# CONFIG_INLINE_READ_UNLOCK_BH is not set
263CONFIG_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
270CONFIG_INLINE_WRITE_UNLOCK=y
271# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
272CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
273# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
274# CONFIG_MUTEX_SPIN_ON_OWNER is not set
275CONFIG_FREEZER=y
276
277#
278# UML Character Devices
279#
280CONFIG_STDERR_CONSOLE=y
281CONFIG_STDIO_CONSOLE=y
282CONFIG_SSL=y
283CONFIG_NULL_CHAN=y
284CONFIG_PORT_CHAN=y
285CONFIG_PTY_CHAN=y
286CONFIG_TTY_CHAN=y
287CONFIG_XTERM_CHAN=y
288# CONFIG_NOCONFIG_CHAN is not set
289CONFIG_CON_ZERO_CHAN="fd:0,fd:1"
290CONFIG_CON_CHAN="xterm"
291CONFIG_SSL_CHAN="pts"
292CONFIG_UML_SOUND=m
293CONFIG_SOUND=m
294CONFIG_SOUND_OSS_CORE=y
295CONFIG_HOSTAUDIO=m
296
297#
298# Device Drivers
299#
300
301#
302# Generic Driver Options
303#
304CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
305CONFIG_DEVTMPFS=y
306CONFIG_DEVTMPFS_MOUNT=y
307CONFIG_STANDALONE=y
308CONFIG_PREVENT_FIRMWARE_BUILD=y
309CONFIG_FW_LOADER=y
310CONFIG_FIRMWARE_IN_KERNEL=y
311CONFIG_EXTRA_FIRMWARE=""
312# CONFIG_DEBUG_DRIVER is not set
313# CONFIG_DEBUG_DEVRES is not set
314# CONFIG_SYS_HYPERVISOR is not set
315CONFIG_GENERIC_CPU_DEVICES=y
316# CONFIG_DMA_SHARED_BUFFER is not set
317# CONFIG_CONNECTOR is not set
318# CONFIG_MTD is not set
319CONFIG_BLK_DEV=y
320CONFIG_BLK_DEV_UBD=y
321# CONFIG_BLK_DEV_UBD_SYNC is not set
322CONFIG_BLK_DEV_COW_COMMON=y
323CONFIG_BLK_DEV_LOOP=m
324CONFIG_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#
330CONFIG_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#
357CONFIG_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
363CONFIG_NETDEVICES=y
364CONFIG_NET_CORE=y
365# CONFIG_BONDING is not set
366CONFIG_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
374CONFIG_TUN=m
375# CONFIG_VETH is not set
376
377#
378# CAIF transport drivers
379#
380CONFIG_ETHERNET=y
381CONFIG_NET_VENDOR_CHELSIO=y
382CONFIG_NET_VENDOR_INTEL=y
383CONFIG_NET_VENDOR_I825XX=y
384CONFIG_NET_VENDOR_MARVELL=y
385CONFIG_NET_VENDOR_NATSEMI=y
386CONFIG_NET_VENDOR_8390=y
387# CONFIG_PHYLIB is not set
388CONFIG_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
397CONFIG_SLIP=m
398CONFIG_SLHC=m
399# CONFIG_SLIP_COMPRESSED is not set
400# CONFIG_SLIP_SMART is not set
401# CONFIG_SLIP_MODE_SLIP6 is not set
402CONFIG_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#
413CONFIG_UNIX98_PTYS=y
414# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
415CONFIG_LEGACY_PTYS=y
416CONFIG_LEGACY_PTY_COUNT=32
417# CONFIG_N_GSM is not set
418# CONFIG_TRACE_SINK is not set
419CONFIG_DEVKMEM=y
420# CONFIG_HW_RANDOM is not set
421CONFIG_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
446CONFIG_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#
466CONFIG_IOMMU_SUPPORT=y
467# CONFIG_VIRT_DRIVERS is not set
468# CONFIG_PM_DEVFREQ is not set
469CONFIG_NET=y
470
471#
472# Networking options
473#
474CONFIG_PACKET=y
475CONFIG_UNIX=y
476# CONFIG_UNIX_DIAG is not set
477CONFIG_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
483CONFIG_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
496CONFIG_INET_XFRM_MODE_TRANSPORT=y
497CONFIG_INET_XFRM_MODE_TUNNEL=y
498CONFIG_INET_XFRM_MODE_BEET=y
499# CONFIG_INET_LRO is not set
500CONFIG_INET_DIAG=y
501CONFIG_INET_TCP_DIAG=y
502# CONFIG_INET_UDP_DIAG is not set
503# CONFIG_TCP_CONG_ADVANCED is not set
504CONFIG_TCP_CONG_CUBIC=y
505CONFIG_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
535CONFIG_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
546CONFIG_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#
563CONFIG_UML_NET=y
564CONFIG_UML_NET_ETHERTAP=y
565CONFIG_UML_NET_TUNTAP=y
566CONFIG_UML_NET_SLIP=y
567CONFIG_UML_NET_DAEMON=y
568# CONFIG_UML_NET_VDE is not set
569CONFIG_UML_NET_MCAST=y
570# CONFIG_UML_NET_PCAP is not set
571CONFIG_UML_NET_SLIRP=y
572
573#
574# File systems
575#
576# CONFIG_EXT2_FS is not set
577# CONFIG_EXT3_FS is not set
578CONFIG_EXT4_FS=y
579CONFIG_EXT4_USE_FOR_EXT23=y
580CONFIG_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
584CONFIG_JBD2=y
585CONFIG_FS_MBCACHE=y
586CONFIG_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
596CONFIG_FILE_LOCKING=y
597CONFIG_FSNOTIFY=y
598CONFIG_DNOTIFY=y
599CONFIG_INOTIFY_USER=y
600# CONFIG_FANOTIFY is not set
601CONFIG_QUOTA=y
602# CONFIG_QUOTA_NETLINK_INTERFACE is not set
603CONFIG_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
607CONFIG_QUOTACTL=y
608CONFIG_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#
619CONFIG_ISO9660_FS=m
620CONFIG_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#
634CONFIG_PROC_FS=y
635CONFIG_PROC_KCORE=y
636CONFIG_PROC_SYSCTL=y
637CONFIG_PROC_PAGE_MONITOR=y
638CONFIG_SYSFS=y
639CONFIG_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
644CONFIG_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
664CONFIG_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
672CONFIG_NLS=y
673CONFIG_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
720CONFIG_DEFAULT_SECURITY_DAC=y
721CONFIG_DEFAULT_SECURITY=""
722CONFIG_CRYPTO=y
723
724#
725# Crypto core or helper
726#
727# CONFIG_CRYPTO_FIPS is not set
728CONFIG_CRYPTO_ALGAPI=m
729CONFIG_CRYPTO_ALGAPI2=m
730CONFIG_CRYPTO_RNG=m
731CONFIG_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#
787CONFIG_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#
816CONFIG_CRYPTO_ANSI_CPRNG=m
817# CONFIG_CRYPTO_USER_API_HASH is not set
818# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
819CONFIG_CRYPTO_HW=y
820# CONFIG_BINARY_PRINTF is not set
821
822#
823# Library routines
824#
825CONFIG_BITREVERSE=y
826CONFIG_GENERIC_FIND_FIRST_BIT=y
827CONFIG_GENERIC_IO=y
828# CONFIG_CRC_CCITT is not set
829CONFIG_CRC16=y
830# CONFIG_CRC_T10DIF is not set
831# CONFIG_CRC_ITU_T is not set
832CONFIG_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
838CONFIG_DQL=y
839CONFIG_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
847CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
848CONFIG_ENABLE_WARN_DEPRECATED=y
849CONFIG_ENABLE_MUST_CHECK=y
850CONFIG_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
855CONFIG_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
860CONFIG_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
874CONFIG_DEBUG_BUGVERBOSE=y
875CONFIG_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
879CONFIG_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
885CONFIG_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
899CONFIG_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
646static void stack_proc(void *arg) 646static 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;
19struct mm_struct; 19struct mm_struct;
20 20
21struct thread_struct { 21struct 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
45extern struct cpu_task cpu_tasks[]; 45extern struct cpu_task cpu_tasks[];
46 46
47extern unsigned long low_physmem;
48extern unsigned long high_physmem; 47extern unsigned long high_physmem;
49extern unsigned long uml_physmem; 48extern unsigned long uml_physmem;
50extern unsigned long uml_reserved; 49extern unsigned long uml_reserved;
@@ -52,8 +51,6 @@ extern unsigned long end_vm;
52extern unsigned long start_vm; 51extern unsigned long start_vm;
53extern unsigned long long highmem; 52extern unsigned long long highmem;
54 53
55extern unsigned long _stext, _etext, _sdata, _edata, __bss_start, _end;
56extern unsigned long _unprotected_end;
57extern unsigned long brk_start; 54extern unsigned long brk_start;
58 55
59extern unsigned long host_task_size; 56extern 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);
227extern void unblock_signals(void); 227extern void unblock_signals(void);
228extern int get_signals(void); 228extern int get_signals(void);
229extern int set_signals(int enable); 229extern int set_signals(int enable);
230extern int os_is_signal_stack(void);
230 231
231/* util.c */ 232/* util.c */
232extern void stack_protections(unsigned long address); 233extern 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. */ 17struct stack_frame {
13#if !defined(CONFIG_UML_X86) || defined(CONFIG_64BIT) 18 struct stack_frame *next_frame;
14void show_trace(struct task_struct *task, unsigned long * stack) 19 unsigned long return_address;
20};
21
22static 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 */ 49static unsigned long get_frame_pointer(struct task_struct *task,
39static 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 58static unsigned long *get_stack_pointer(struct task_struct *task,
42 * kernel/sched/core.c.*/ 59 struct pt_regs *segv_regs)
43void 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
67void 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
269out:
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
308int 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
34config 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
34config RWSEM_XCHGADD_ALGORITHM 39config 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
36static inline void arch_flush_thread(struct arch_thread *thread) 38static 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
22static inline void arch_flush_thread(struct arch_thread *thread) 24static 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 *) &regs);
35} 33}
36
37/* Copied from i386. */
38static 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). */
45static 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
72void 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
15void __show_regs(struct pt_regs *regs) 15void 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
37void show_regs(struct pt_regs *regs)
38{
39 __show_regs(regs);
40 show_trace(current, (unsigned long *) &regs);
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 @@
1vdso-syms.lds
2vdso.lds