aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64
diff options
context:
space:
mode:
authorMichal Marek <mmarek@suse.cz>2010-10-27 18:15:57 -0400
committerMichal Marek <mmarek@suse.cz>2010-10-27 18:15:57 -0400
commitb74b953b998bcc2db91b694446f3a2619ec32de6 (patch)
tree6ce24caabd730f6ae9287ed0676ec32e6ff31e9d /arch/ia64
parentabb438526201c6a79949ad45375c051b6681c253 (diff)
parentf6f94e2ab1b33f0082ac22d71f66385a60d8157f (diff)
Merge commit 'v2.6.36' into kbuild/misc
Update to be able to fix a recent change to scripts/basic/docproc.c (commit eda603f).
Diffstat (limited to 'arch/ia64')
-rw-r--r--arch/ia64/Kconfig37
-rw-r--r--arch/ia64/Makefile7
-rw-r--r--arch/ia64/configs/bigsur_defconfig1257
-rw-r--r--arch/ia64/configs/generic_defconfig1443
-rw-r--r--arch/ia64/configs/gensparse_defconfig1198
-rw-r--r--arch/ia64/configs/sim_defconfig679
-rw-r--r--arch/ia64/configs/tiger_defconfig1100
-rw-r--r--arch/ia64/configs/xen_domu_defconfig1403
-rw-r--r--arch/ia64/configs/zx1_defconfig1460
-rw-r--r--arch/ia64/hp/common/aml_nfw.c6
-rw-r--r--arch/ia64/hp/common/sba_iommu.c8
-rw-r--r--arch/ia64/hp/sim/simserial.c2
-rw-r--r--arch/ia64/ia32/Makefile11
-rw-r--r--arch/ia64/ia32/audit.c42
-rw-r--r--arch/ia64/ia32/binfmt_elf32.c245
-rw-r--r--arch/ia64/ia32/elfcore32.h148
-rw-r--r--arch/ia64/ia32/ia32_entry.S468
-rw-r--r--arch/ia64/ia32/ia32_ldt.c146
-rw-r--r--arch/ia64/ia32/ia32_signal.c1010
-rw-r--r--arch/ia64/ia32/ia32_support.c253
-rw-r--r--arch/ia64/ia32/ia32_traps.c156
-rw-r--r--arch/ia64/ia32/ia32priv.h532
-rw-r--r--arch/ia64/ia32/sys_ia32.c2765
-rw-r--r--arch/ia64/include/asm/Kbuild9
-rw-r--r--arch/ia64/include/asm/acpi.h26
-rw-r--r--arch/ia64/include/asm/atomic.h12
-rw-r--r--arch/ia64/include/asm/bitops.h11
-rw-r--r--arch/ia64/include/asm/compat.h5
-rw-r--r--arch/ia64/include/asm/dma-mapping.h4
-rw-r--r--arch/ia64/include/asm/dmi.h1
-rw-r--r--arch/ia64/include/asm/elf.h52
-rw-r--r--arch/ia64/include/asm/ia32.h40
-rw-r--r--arch/ia64/include/asm/ioctls.h4
-rw-r--r--arch/ia64/include/asm/kvm_host.h1
-rw-r--r--arch/ia64/include/asm/local64.h1
-rw-r--r--arch/ia64/include/asm/mmzone.h4
-rw-r--r--arch/ia64/include/asm/page.h2
-rw-r--r--arch/ia64/include/asm/pci.h14
-rw-r--r--arch/ia64/include/asm/percpu.h7
-rw-r--r--arch/ia64/include/asm/pgtable.h2
-rw-r--r--arch/ia64/include/asm/processor.h46
-rw-r--r--arch/ia64/include/asm/ptrace.h4
-rw-r--r--arch/ia64/include/asm/rwsem.h6
-rw-r--r--arch/ia64/include/asm/scatterlist.h35
-rw-r--r--arch/ia64/include/asm/syscall.h81
-rw-r--r--arch/ia64/include/asm/system.h11
-rw-r--r--arch/ia64/include/asm/termbits.h1
-rw-r--r--arch/ia64/include/asm/thread_info.h2
-rw-r--r--arch/ia64/include/asm/topology.h5
-rw-r--r--arch/ia64/include/asm/unistd.h21
-rw-r--r--arch/ia64/include/asm/xen/events.h4
-rw-r--r--arch/ia64/kernel/Makefile8
-rw-r--r--arch/ia64/kernel/acpi-ext.c1
-rw-r--r--arch/ia64/kernel/acpi.c49
-rw-r--r--arch/ia64/kernel/audit.c21
-rw-r--r--arch/ia64/kernel/cpufreq/acpi-cpufreq.c11
-rw-r--r--arch/ia64/kernel/efi.c1
-rw-r--r--arch/ia64/kernel/elfcore.c80
-rw-r--r--arch/ia64/kernel/entry.S42
-rw-r--r--arch/ia64/kernel/fsys.S30
-rw-r--r--arch/ia64/kernel/ia64_ksyms.c4
-rw-r--r--arch/ia64/kernel/iosapic.c1
-rw-r--r--arch/ia64/kernel/irq_ia64.c10
-rw-r--r--arch/ia64/kernel/ivt.S114
-rw-r--r--arch/ia64/kernel/kprobes.c2
-rw-r--r--arch/ia64/kernel/mca.c1
-rw-r--r--arch/ia64/kernel/mca_drv.c1
-rw-r--r--arch/ia64/kernel/msi_ia64.c2
-rw-r--r--arch/ia64/kernel/pci-swiotlb.c3
-rw-r--r--arch/ia64/kernel/perfmon.c43
-rw-r--r--arch/ia64/kernel/process.c65
-rw-r--r--arch/ia64/kernel/ptrace.c19
-rw-r--r--arch/ia64/kernel/salinfo.c5
-rw-r--r--arch/ia64/kernel/setup.c11
-rw-r--r--arch/ia64/kernel/signal.c54
-rw-r--r--arch/ia64/kernel/smpboot.c27
-rw-r--r--arch/ia64/kernel/time.c21
-rw-r--r--arch/ia64/kernel/topology.c7
-rw-r--r--arch/ia64/kernel/traps.c9
-rw-r--r--arch/ia64/kernel/unaligned.c24
-rw-r--r--arch/ia64/kernel/uncached.c2
-rw-r--r--arch/ia64/kernel/vmlinux.lds.S362
-rw-r--r--arch/ia64/kvm/Kconfig2
-rw-r--r--arch/ia64/kvm/kvm-ia64.c120
-rw-r--r--arch/ia64/kvm/kvm_fw.c28
-rw-r--r--arch/ia64/kvm/mmio.c4
-rw-r--r--arch/ia64/kvm/vcpu.c4
-rw-r--r--arch/ia64/kvm/vmm.c2
-rw-r--r--arch/ia64/mm/discontig.c3
-rw-r--r--arch/ia64/mm/fault.c13
-rw-r--r--arch/ia64/mm/hugetlbpage.c1
-rw-r--r--arch/ia64/mm/init.c7
-rw-r--r--arch/ia64/mm/tlb.c3
-rw-r--r--arch/ia64/pci/pci.c27
-rw-r--r--arch/ia64/sn/kernel/bte.c1
-rw-r--r--arch/ia64/sn/kernel/io_acpi_init.c1
-rw-r--r--arch/ia64/sn/kernel/io_common.c1
-rw-r--r--arch/ia64/sn/kernel/io_init.c1
-rw-r--r--arch/ia64/sn/kernel/irq.c1
-rw-r--r--arch/ia64/sn/kernel/msi_sn.c3
-rw-r--r--arch/ia64/sn/kernel/setup.c6
-rw-r--r--arch/ia64/sn/kernel/sn2/sn_hwperf.c13
-rw-r--r--arch/ia64/sn/pci/pci_dma.c1
-rw-r--r--arch/ia64/sn/pci/pcibr/pcibr_provider.c1
-rw-r--r--arch/ia64/sn/pci/tioca_provider.c1
-rw-r--r--arch/ia64/sn/pci/tioce_provider.c1
-rw-r--r--arch/ia64/uv/kernel/setup.c2
-rw-r--r--arch/ia64/xen/grant-table.c1
-rw-r--r--arch/ia64/xen/hypercall.S5
-rw-r--r--arch/ia64/xen/xen_pv_ops.c16
110 files changed, 658 insertions, 15428 deletions
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index 2d7f56a98e0f..ba22849ee3ec 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -53,10 +53,13 @@ config MMU
53 bool 53 bool
54 default y 54 default y
55 55
56config SWIOTLB 56config NEED_DMA_MAP_STATE
57 bool 57 def_bool y
58 58
59config IOMMU_HELPER 59config NEED_SG_DMA_LENGTH
60 def_bool y
61
62config SWIOTLB
60 bool 63 bool
61 64
62config GENERIC_LOCKBREAK 65config GENERIC_LOCKBREAK
@@ -79,10 +82,6 @@ config GENERIC_CALIBRATE_DELAY
79 bool 82 bool
80 default y 83 default y
81 84
82config GENERIC_TIME
83 bool
84 default y
85
86config GENERIC_TIME_VSYSCALL 85config GENERIC_TIME_VSYSCALL
87 bool 86 bool
88 default y 87 default y
@@ -495,26 +494,16 @@ config HAVE_ARCH_NODEDATA_EXTENSION
495 def_bool y 494 def_bool y
496 depends on NUMA 495 depends on NUMA
497 496
498config ARCH_PROC_KCORE_TEXT 497config USE_PERCPU_NUMA_NODE_ID
499 def_bool y 498 def_bool y
500 depends on PROC_KCORE 499 depends on NUMA
501
502config IA32_SUPPORT
503 bool "Support for Linux/x86 binaries"
504 help
505 IA-64 processors can execute IA-32 (X86) instructions. By
506 saying Y here, the kernel will include IA-32 system call
507 emulation support which makes it possible to transparently
508 run IA-32 Linux binaries on an IA-64 Linux system.
509 If in doubt, say Y.
510 500
511config COMPAT 501config HAVE_MEMORYLESS_NODES
512 bool 502 def_bool NUMA
513 depends on IA32_SUPPORT
514 default y
515 503
516config COMPAT_FOR_U64_ALIGNMENT 504config ARCH_PROC_KCORE_TEXT
517 def_bool COMPAT 505 def_bool y
506 depends on PROC_KCORE
518 507
519config IA64_MCA_RECOVERY 508config IA64_MCA_RECOVERY
520 tristate "MCA recovery from errors other than TLB." 509 tristate "MCA recovery from errors other than TLB."
diff --git a/arch/ia64/Makefile b/arch/ia64/Makefile
index 475e2725fbde..be7bfa12b705 100644
--- a/arch/ia64/Makefile
+++ b/arch/ia64/Makefile
@@ -22,13 +22,13 @@ CHECKFLAGS += -m64 -D__ia64=1 -D__ia64__=1 -D_LP64 -D__LP64__
22 22
23OBJCOPYFLAGS := --strip-all 23OBJCOPYFLAGS := --strip-all
24LDFLAGS_vmlinux := -static 24LDFLAGS_vmlinux := -static
25LDFLAGS_MODULE += -T $(srctree)/arch/ia64/module.lds 25KBUILD_LDFLAGS_MODULE += -T $(srctree)/arch/ia64/module.lds
26AFLAGS_KERNEL := -mconstant-gp 26KBUILD_AFLAGS_KERNEL := -mconstant-gp
27EXTRA := 27EXTRA :=
28 28
29cflags-y := -pipe $(EXTRA) -ffixed-r13 -mfixed-range=f12-f15,f32-f127 \ 29cflags-y := -pipe $(EXTRA) -ffixed-r13 -mfixed-range=f12-f15,f32-f127 \
30 -falign-functions=32 -frename-registers -fno-optimize-sibling-calls 30 -falign-functions=32 -frename-registers -fno-optimize-sibling-calls
31CFLAGS_KERNEL := -mconstant-gp 31KBUILD_CFLAGS_KERNEL := -mconstant-gp
32 32
33GAS_STATUS = $(shell $(srctree)/arch/ia64/scripts/check-gas "$(CC)" "$(OBJDUMP)") 33GAS_STATUS = $(shell $(srctree)/arch/ia64/scripts/check-gas "$(CC)" "$(OBJDUMP)")
34KBUILD_CPPFLAGS += $(shell $(srctree)/arch/ia64/scripts/toolchain-flags "$(CC)" "$(OBJDUMP)" "$(READELF)") 34KBUILD_CPPFLAGS += $(shell $(srctree)/arch/ia64/scripts/toolchain-flags "$(CC)" "$(OBJDUMP)" "$(READELF)")
@@ -46,7 +46,6 @@ head-y := arch/ia64/kernel/head.o arch/ia64/kernel/init_task.o
46 46
47libs-y += arch/ia64/lib/ 47libs-y += arch/ia64/lib/
48core-y += arch/ia64/kernel/ arch/ia64/mm/ 48core-y += arch/ia64/kernel/ arch/ia64/mm/
49core-$(CONFIG_IA32_SUPPORT) += arch/ia64/ia32/
50core-$(CONFIG_IA64_DIG) += arch/ia64/dig/ 49core-$(CONFIG_IA64_DIG) += arch/ia64/dig/
51core-$(CONFIG_IA64_DIG_VTD) += arch/ia64/dig/ 50core-$(CONFIG_IA64_DIG_VTD) += arch/ia64/dig/
52core-$(CONFIG_IA64_GENERIC) += arch/ia64/dig/ 51core-$(CONFIG_IA64_GENERIC) += arch/ia64/dig/
diff --git a/arch/ia64/configs/bigsur_defconfig b/arch/ia64/configs/bigsur_defconfig
index ace41096b47b..cf5993f05d4f 100644
--- a/arch/ia64/configs/bigsur_defconfig
+++ b/arch/ia64/configs/bigsur_defconfig
@@ -1,1360 +1,117 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc5
4# Mon Feb 27 16:10:42 2006
5#
6
7#
8# Code maturity level options
9#
10CONFIG_EXPERIMENTAL=y 1CONFIG_EXPERIMENTAL=y
11CONFIG_LOCK_KERNEL=y
12CONFIG_INIT_ENV_ARG_LIMIT=32
13
14#
15# General setup
16#
17CONFIG_LOCALVERSION=""
18CONFIG_LOCALVERSION_AUTO=y
19CONFIG_SWAP=y
20CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
21CONFIG_POSIX_MQUEUE=y 3CONFIG_POSIX_MQUEUE=y
22# CONFIG_BSD_PROCESS_ACCT is not set 4CONFIG_LOG_BUF_SHIFT=16
23CONFIG_SYSCTL=y 5CONFIG_PROFILING=y
24# CONFIG_AUDIT is not set 6CONFIG_OPROFILE=y
25# CONFIG_IKCONFIG is not set
26# CONFIG_CPUSETS is not set
27CONFIG_INITRAMFS_SOURCE=""
28CONFIG_CC_OPTIMIZE_FOR_SIZE=y
29# CONFIG_EMBEDDED is not set
30CONFIG_KALLSYMS=y
31# CONFIG_KALLSYMS_ALL is not set
32# CONFIG_KALLSYMS_EXTRA_PASS is not set
33CONFIG_HOTPLUG=y
34CONFIG_PRINTK=y
35CONFIG_BUG=y
36CONFIG_ELF_CORE=y
37CONFIG_BASE_FULL=y
38CONFIG_FUTEX=y
39CONFIG_EPOLL=y
40CONFIG_SHMEM=y
41CONFIG_CC_ALIGN_FUNCTIONS=0
42CONFIG_CC_ALIGN_LABELS=0
43CONFIG_CC_ALIGN_LOOPS=0
44CONFIG_CC_ALIGN_JUMPS=0
45CONFIG_SLUB=y
46# CONFIG_TINY_SHMEM is not set
47CONFIG_BASE_SMALL=0
48# CONFIG_SLOB is not set
49
50#
51# Loadable module support
52#
53CONFIG_MODULES=y 7CONFIG_MODULES=y
54CONFIG_MODULE_UNLOAD=y 8CONFIG_MODULE_UNLOAD=y
55# CONFIG_MODULE_FORCE_UNLOAD is not set
56CONFIG_OBSOLETE_MODPARM=y
57# CONFIG_MODVERSIONS is not set
58# CONFIG_MODULE_SRCVERSION_ALL is not set
59CONFIG_KMOD=y
60CONFIG_STOP_MACHINE=y
61
62#
63# Block layer
64#
65
66#
67# IO Schedulers
68#
69CONFIG_IOSCHED_NOOP=y
70CONFIG_IOSCHED_AS=y
71CONFIG_IOSCHED_DEADLINE=y
72CONFIG_IOSCHED_CFQ=y
73CONFIG_DEFAULT_AS=y
74# CONFIG_DEFAULT_DEADLINE is not set
75# CONFIG_DEFAULT_CFQ is not set
76# CONFIG_DEFAULT_NOOP is not set
77CONFIG_DEFAULT_IOSCHED="anticipatory"
78
79#
80# Processor type and features
81#
82CONFIG_IA64=y
83CONFIG_64BIT=y
84CONFIG_MMU=y
85CONFIG_SWIOTLB=y
86CONFIG_RWSEM_XCHGADD_ALGORITHM=y
87CONFIG_GENERIC_CALIBRATE_DELAY=y
88CONFIG_GENERIC_TIME=y
89CONFIG_EFI=y
90CONFIG_GENERIC_IOMAP=y
91CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
92CONFIG_DMA_IS_DMA32=y
93# CONFIG_IA64_GENERIC is not set
94CONFIG_IA64_DIG=y 9CONFIG_IA64_DIG=y
95# CONFIG_IA64_HP_ZX1 is not set
96# CONFIG_IA64_HP_ZX1_SWIOTLB is not set
97# CONFIG_IA64_SGI_SN2 is not set
98# CONFIG_IA64_HP_SIM is not set
99CONFIG_ITANIUM=y
100# CONFIG_MCKINLEY is not set
101# CONFIG_IA64_PAGE_SIZE_4KB is not set
102# CONFIG_IA64_PAGE_SIZE_8KB is not set
103CONFIG_IA64_PAGE_SIZE_16KB=y
104# CONFIG_IA64_PAGE_SIZE_64KB is not set
105CONFIG_PGTABLE_3=y
106# CONFIG_PGTABLE_4 is not set
107# CONFIG_HZ_100 is not set
108CONFIG_HZ_250=y
109# CONFIG_HZ_1000 is not set
110CONFIG_HZ=250
111CONFIG_IA64_BRL_EMU=y
112CONFIG_IA64_L1_CACHE_SHIFT=6
113# CONFIG_IA64_CYCLONE is not set
114CONFIG_IOSAPIC=y
115CONFIG_FORCE_MAX_ZONEORDER=17
116CONFIG_SMP=y 10CONFIG_SMP=y
117CONFIG_NR_CPUS=2 11CONFIG_NR_CPUS=2
118# CONFIG_HOTPLUG_CPU is not set
119# CONFIG_SCHED_SMT is not set
120CONFIG_PREEMPT=y 12CONFIG_PREEMPT=y
121CONFIG_SELECT_MEMORY_MODEL=y
122CONFIG_FLATMEM_MANUAL=y
123# CONFIG_DISCONTIGMEM_MANUAL is not set
124# CONFIG_SPARSEMEM_MANUAL is not set
125CONFIG_FLATMEM=y
126CONFIG_FLAT_NODE_MEM_MAP=y
127# CONFIG_SPARSEMEM_STATIC is not set
128CONFIG_SPLIT_PTLOCK_CPUS=4
129CONFIG_ARCH_SELECT_MEMORY_MODEL=y
130CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
131CONFIG_ARCH_FLATMEM_ENABLE=y
132CONFIG_ARCH_SPARSEMEM_ENABLE=y
133# CONFIG_VIRTUAL_MEM_MAP is not set 13# CONFIG_VIRTUAL_MEM_MAP is not set
134CONFIG_IA32_SUPPORT=y
135CONFIG_COMPAT=y
136# CONFIG_IA64_MCA_RECOVERY is not set
137CONFIG_PERFMON=y 14CONFIG_PERFMON=y
138CONFIG_IA64_PALINFO=y 15CONFIG_IA64_PALINFO=y
139
140#
141# Firmware Drivers
142#
143CONFIG_EFI_VARS=y 16CONFIG_EFI_VARS=y
144CONFIG_EFI_PCDP=y
145CONFIG_BINFMT_ELF=y
146CONFIG_BINFMT_MISC=m 17CONFIG_BINFMT_MISC=m
147
148#
149# Power management and ACPI
150#
151CONFIG_PM=y
152CONFIG_PM_LEGACY=y
153# CONFIG_PM_DEBUG is not set
154
155#
156# ACPI (Advanced Configuration and Power Interface) Support
157#
158CONFIG_ACPI=y
159CONFIG_ACPI_BUTTON=m 18CONFIG_ACPI_BUTTON=m
160CONFIG_ACPI_FAN=m 19CONFIG_ACPI_FAN=m
161CONFIG_ACPI_PROCESSOR=m 20CONFIG_ACPI_PROCESSOR=m
162CONFIG_ACPI_THERMAL=m
163CONFIG_ACPI_BLACKLIST_YEAR=0
164# CONFIG_ACPI_DEBUG is not set
165CONFIG_ACPI_EC=y
166CONFIG_ACPI_POWER=y
167CONFIG_ACPI_SYSTEM=y
168# CONFIG_ACPI_CONTAINER is not set
169
170#
171# CPU Frequency scaling
172#
173# CONFIG_CPU_FREQ is not set
174
175#
176# Bus options (PCI, PCMCIA)
177#
178CONFIG_PCI=y
179CONFIG_PCI_DOMAINS=y
180# CONFIG_PCI_MSI is not set
181CONFIG_PCI_LEGACY_PROC=y
182# CONFIG_PCI_DEBUG is not set
183
184#
185# PCI Hotplug Support
186#
187# CONFIG_HOTPLUG_PCI is not set
188
189#
190# PCCARD (PCMCIA/CardBus) support
191#
192# CONFIG_PCCARD is not set
193
194#
195# Networking
196#
197CONFIG_NET=y 21CONFIG_NET=y
198
199#
200# Networking options
201#
202# CONFIG_NETDEBUG is not set
203CONFIG_PACKET=y 22CONFIG_PACKET=y
204CONFIG_PACKET_MMAP=y
205CONFIG_UNIX=y 23CONFIG_UNIX=y
206# CONFIG_NET_KEY is not set
207CONFIG_INET=y 24CONFIG_INET=y
208# CONFIG_IP_MULTICAST is not set
209# CONFIG_IP_ADVANCED_ROUTER is not set
210CONFIG_IP_FIB_HASH=y
211# CONFIG_IP_PNP is not set
212# CONFIG_NET_IPIP is not set
213# CONFIG_NET_IPGRE is not set
214# CONFIG_ARPD is not set
215# CONFIG_SYN_COOKIES is not set
216# CONFIG_INET_AH is not set
217# CONFIG_INET_ESP is not set
218# CONFIG_INET_IPCOMP is not set
219# CONFIG_INET_TUNNEL is not set
220CONFIG_INET_DIAG=y
221CONFIG_INET_TCP_DIAG=y
222# CONFIG_TCP_CONG_ADVANCED is not set
223CONFIG_TCP_CONG_BIC=y
224# CONFIG_IPV6 is not set 25# CONFIG_IPV6 is not set
225# CONFIG_NETFILTER is not set
226
227#
228# DCCP Configuration (EXPERIMENTAL)
229#
230# CONFIG_IP_DCCP is not set
231
232#
233# SCTP Configuration (EXPERIMENTAL)
234#
235# CONFIG_IP_SCTP is not set
236
237#
238# TIPC Configuration (EXPERIMENTAL)
239#
240# CONFIG_TIPC is not set
241# CONFIG_ATM is not set
242# CONFIG_BRIDGE is not set
243# CONFIG_VLAN_8021Q is not set
244# CONFIG_DECNET is not set
245# CONFIG_LLC2 is not set
246# CONFIG_IPX is not set
247# CONFIG_ATALK is not set
248# CONFIG_X25 is not set
249# CONFIG_LAPB is not set
250# CONFIG_NET_DIVERT is not set
251# CONFIG_ECONET is not set
252# CONFIG_WAN_ROUTER is not set
253
254#
255# QoS and/or fair queueing
256#
257# CONFIG_NET_SCHED is not set
258
259#
260# Network testing
261#
262# CONFIG_NET_PKTGEN is not set
263# CONFIG_HAMRADIO is not set
264# CONFIG_IRDA is not set
265# CONFIG_BT is not set
266# CONFIG_IEEE80211 is not set
267
268#
269# Device Drivers
270#
271
272#
273# Generic Driver Options
274#
275CONFIG_STANDALONE=y
276CONFIG_PREVENT_FIRMWARE_BUILD=y
277# CONFIG_FW_LOADER is not set
278# CONFIG_DEBUG_DRIVER is not set
279
280#
281# Connector - unified userspace <-> kernelspace linker
282#
283# CONFIG_CONNECTOR is not set
284
285#
286# Memory Technology Devices (MTD)
287#
288# CONFIG_MTD is not set
289
290#
291# Parallel port support
292#
293# CONFIG_PARPORT is not set
294
295#
296# Plug and Play support
297#
298CONFIG_PNP=y
299# CONFIG_PNP_DEBUG is not set
300
301#
302# Protocols
303#
304CONFIG_PNPACPI=y
305
306#
307# Block devices
308#
309# CONFIG_BLK_CPQ_DA is not set
310# CONFIG_BLK_CPQ_CISS_DA is not set
311# CONFIG_BLK_DEV_DAC960 is not set
312# CONFIG_BLK_DEV_UMEM is not set
313# CONFIG_BLK_DEV_COW_COMMON is not set
314CONFIG_BLK_DEV_LOOP=m 26CONFIG_BLK_DEV_LOOP=m
315CONFIG_BLK_DEV_CRYPTOLOOP=m 27CONFIG_BLK_DEV_CRYPTOLOOP=m
316CONFIG_BLK_DEV_NBD=m 28CONFIG_BLK_DEV_NBD=m
317# CONFIG_BLK_DEV_SX8 is not set
318# CONFIG_BLK_DEV_UB is not set
319CONFIG_BLK_DEV_RAM=m 29CONFIG_BLK_DEV_RAM=m
320CONFIG_BLK_DEV_RAM_COUNT=16
321CONFIG_BLK_DEV_RAM_SIZE=4096
322# CONFIG_CDROM_PKTCDVD is not set
323# CONFIG_ATA_OVER_ETH is not set
324
325#
326# ATA/ATAPI/MFM/RLL support
327#
328CONFIG_IDE=m 30CONFIG_IDE=m
329CONFIG_IDE_MAX_HWIFS=4
330CONFIG_BLK_DEV_IDE=m
331
332#
333# Please see Documentation/ide.txt for help/info on IDE drives
334#
335# CONFIG_BLK_DEV_IDE_SATA is not set
336CONFIG_BLK_DEV_IDEDISK=m
337# CONFIG_IDEDISK_MULTI_MODE is not set
338CONFIG_BLK_DEV_IDECD=m 31CONFIG_BLK_DEV_IDECD=m
339# CONFIG_BLK_DEV_IDETAPE is not set
340CONFIG_BLK_DEV_IDEFLOPPY=m
341# CONFIG_BLK_DEV_IDESCSI is not set
342# CONFIG_IDE_TASK_IOCTL is not set
343
344#
345# IDE chipset support/bugfixes
346#
347# CONFIG_IDE_GENERIC is not set
348# CONFIG_BLK_DEV_IDEPNP is not set
349CONFIG_BLK_DEV_IDEPCI=y
350CONFIG_IDEPCI_SHARE_IRQ=y
351# CONFIG_BLK_DEV_OFFBOARD is not set
352CONFIG_BLK_DEV_GENERIC=m 32CONFIG_BLK_DEV_GENERIC=m
353# CONFIG_BLK_DEV_OPTI621 is not set
354CONFIG_BLK_DEV_IDEDMA_PCI=y
355# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
356CONFIG_IDEDMA_PCI_AUTO=y
357# CONFIG_IDEDMA_ONLYDISK is not set
358# CONFIG_BLK_DEV_AEC62XX is not set
359# CONFIG_BLK_DEV_ALI15X3 is not set
360# CONFIG_BLK_DEV_AMD74XX is not set
361# CONFIG_BLK_DEV_CMD64X is not set
362# CONFIG_BLK_DEV_TRIFLEX is not set
363# CONFIG_BLK_DEV_CY82C693 is not set
364# CONFIG_BLK_DEV_CS5520 is not set
365# CONFIG_BLK_DEV_CS5530 is not set
366# CONFIG_BLK_DEV_HPT34X is not set
367# CONFIG_BLK_DEV_HPT366 is not set
368# CONFIG_BLK_DEV_SC1200 is not set
369CONFIG_BLK_DEV_PIIX=m 33CONFIG_BLK_DEV_PIIX=m
370# CONFIG_BLK_DEV_IT821X is not set
371# CONFIG_BLK_DEV_NS87415 is not set
372# CONFIG_BLK_DEV_PDC202XX_OLD is not set
373# CONFIG_BLK_DEV_PDC202XX_NEW is not set
374# CONFIG_BLK_DEV_SVWKS is not set
375# CONFIG_BLK_DEV_SIIMAGE is not set
376# CONFIG_BLK_DEV_SLC90E66 is not set
377# CONFIG_BLK_DEV_TRM290 is not set
378# CONFIG_BLK_DEV_VIA82CXXX is not set
379# CONFIG_IDE_ARM is not set
380CONFIG_BLK_DEV_IDEDMA=y
381# CONFIG_IDEDMA_IVB is not set
382CONFIG_IDEDMA_AUTO=y
383# CONFIG_BLK_DEV_HD is not set
384
385#
386# SCSI device support
387#
388# CONFIG_RAID_ATTRS is not set
389CONFIG_SCSI=y 34CONFIG_SCSI=y
390CONFIG_SCSI_PROC_FS=y
391
392#
393# SCSI support type (disk, tape, CD-ROM)
394#
395CONFIG_BLK_DEV_SD=y 35CONFIG_BLK_DEV_SD=y
396# CONFIG_CHR_DEV_ST is not set
397# CONFIG_CHR_DEV_OSST is not set
398# CONFIG_BLK_DEV_SR is not set
399# CONFIG_CHR_DEV_SG is not set
400# CONFIG_CHR_DEV_SCH is not set
401
402#
403# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
404#
405# CONFIG_SCSI_MULTI_LUN is not set
406CONFIG_SCSI_CONSTANTS=y 36CONFIG_SCSI_CONSTANTS=y
407CONFIG_SCSI_LOGGING=y 37CONFIG_SCSI_LOGGING=y
408
409#
410# SCSI Transport Attributes
411#
412CONFIG_SCSI_SPI_ATTRS=m 38CONFIG_SCSI_SPI_ATTRS=m
413# CONFIG_SCSI_FC_ATTRS is not set
414# CONFIG_SCSI_ISCSI_ATTRS is not set
415# CONFIG_SCSI_SAS_ATTRS is not set
416
417#
418# SCSI low-level drivers
419#
420# CONFIG_ISCSI_TCP is not set
421# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
422# CONFIG_SCSI_3W_9XXX is not set
423# CONFIG_SCSI_ACARD is not set
424# CONFIG_SCSI_AACRAID is not set
425# CONFIG_SCSI_AIC7XXX is not set
426# CONFIG_SCSI_AIC7XXX_OLD is not set
427# CONFIG_SCSI_AIC79XX is not set
428# CONFIG_MEGARAID_NEWGEN is not set
429# CONFIG_MEGARAID_LEGACY is not set
430# CONFIG_MEGARAID_SAS is not set
431# CONFIG_SCSI_SATA is not set
432# CONFIG_SCSI_DMX3191D is not set
433# CONFIG_SCSI_FUTURE_DOMAIN is not set
434# CONFIG_SCSI_IPS is not set
435# CONFIG_SCSI_INITIO is not set
436# CONFIG_SCSI_INIA100 is not set
437# CONFIG_SCSI_SYM53C8XX_2 is not set
438# CONFIG_SCSI_IPR is not set
439# CONFIG_SCSI_QLOGIC_FC is not set
440CONFIG_SCSI_QLOGIC_1280=y 39CONFIG_SCSI_QLOGIC_1280=y
441# CONFIG_SCSI_QLA_FC is not set
442# CONFIG_SCSI_LPFC is not set
443# CONFIG_SCSI_DC395x is not set
444# CONFIG_SCSI_DC390T is not set
445# CONFIG_SCSI_DEBUG is not set
446
447#
448# Multi-device support (RAID and LVM)
449#
450CONFIG_MD=y 40CONFIG_MD=y
451CONFIG_BLK_DEV_MD=m 41CONFIG_BLK_DEV_MD=m
452CONFIG_MD_LINEAR=m 42CONFIG_MD_LINEAR=m
453CONFIG_MD_RAID0=m 43CONFIG_MD_RAID0=m
454CONFIG_MD_RAID1=m 44CONFIG_MD_RAID1=m
455CONFIG_MD_RAID10=m 45CONFIG_MD_RAID10=m
456CONFIG_MD_RAID5=m
457CONFIG_MD_RAID6=m
458CONFIG_MD_MULTIPATH=m 46CONFIG_MD_MULTIPATH=m
459# CONFIG_MD_FAULTY is not set
460CONFIG_BLK_DEV_DM=m 47CONFIG_BLK_DEV_DM=m
461CONFIG_DM_CRYPT=m 48CONFIG_DM_CRYPT=m
462CONFIG_DM_SNAPSHOT=m 49CONFIG_DM_SNAPSHOT=m
463CONFIG_DM_MIRROR=m 50CONFIG_DM_MIRROR=m
464CONFIG_DM_ZERO=m 51CONFIG_DM_ZERO=m
465# CONFIG_DM_MULTIPATH is not set
466
467#
468# Fusion MPT device support
469#
470# CONFIG_FUSION is not set
471# CONFIG_FUSION_SPI is not set
472# CONFIG_FUSION_FC is not set
473# CONFIG_FUSION_SAS is not set
474
475#
476# IEEE 1394 (FireWire) support
477#
478# CONFIG_IEEE1394 is not set
479
480#
481# I2O device support
482#
483# CONFIG_I2O is not set
484
485#
486# Network device support
487#
488CONFIG_NETDEVICES=y 52CONFIG_NETDEVICES=y
489CONFIG_DUMMY=y 53CONFIG_DUMMY=y
490# CONFIG_BONDING is not set
491# CONFIG_EQUALIZER is not set
492# CONFIG_TUN is not set
493# CONFIG_NET_SB1000 is not set
494
495#
496# ARCnet devices
497#
498# CONFIG_ARCNET is not set
499
500#
501# PHY device support
502#
503# CONFIG_PHYLIB is not set
504
505#
506# Ethernet (10 or 100Mbit)
507#
508CONFIG_NET_ETHERNET=y 54CONFIG_NET_ETHERNET=y
509CONFIG_MII=y 55CONFIG_MII=y
510# CONFIG_HAPPYMEAL is not set
511# CONFIG_SUNGEM is not set
512# CONFIG_CASSINI is not set
513# CONFIG_NET_VENDOR_3COM is not set
514
515#
516# Tulip family network device support
517#
518# CONFIG_NET_TULIP is not set
519# CONFIG_HP100 is not set
520CONFIG_NET_PCI=y 56CONFIG_NET_PCI=y
521# CONFIG_PCNET32 is not set
522# CONFIG_AMD8111_ETH is not set
523# CONFIG_ADAPTEC_STARFIRE is not set
524# CONFIG_B44 is not set
525# CONFIG_FORCEDETH is not set
526# CONFIG_DGRS is not set
527CONFIG_EEPRO100=y
528# CONFIG_E100 is not set
529# CONFIG_FEALNX is not set
530# CONFIG_NATSEMI is not set
531# CONFIG_NE2K_PCI is not set
532# CONFIG_8139CP is not set
533# CONFIG_8139TOO is not set
534# CONFIG_SIS900 is not set
535# CONFIG_EPIC100 is not set
536# CONFIG_SUNDANCE is not set
537# CONFIG_VIA_RHINE is not set
538
539#
540# Ethernet (1000 Mbit)
541#
542# CONFIG_ACENIC is not set
543# CONFIG_DL2K is not set
544# CONFIG_E1000 is not set
545# CONFIG_NS83820 is not set
546# CONFIG_HAMACHI is not set
547# CONFIG_YELLOWFIN is not set
548# CONFIG_R8169 is not set
549# CONFIG_SIS190 is not set
550# CONFIG_SKGE is not set
551# CONFIG_SKY2 is not set
552# CONFIG_SK98LIN is not set
553# CONFIG_VIA_VELOCITY is not set
554# CONFIG_TIGON3 is not set
555# CONFIG_BNX2 is not set
556
557#
558# Ethernet (10000 Mbit)
559#
560# CONFIG_CHELSIO_T1 is not set
561# CONFIG_IXGB is not set
562# CONFIG_S2IO is not set
563
564#
565# Token Ring devices
566#
567# CONFIG_TR is not set
568
569#
570# Wireless LAN (non-hamradio)
571#
572# CONFIG_NET_RADIO is not set
573
574#
575# Wan interfaces
576#
577# CONFIG_WAN is not set
578# CONFIG_FDDI is not set
579# CONFIG_HIPPI is not set
580# CONFIG_PPP is not set
581# CONFIG_SLIP is not set
582# CONFIG_NET_FC is not set
583# CONFIG_SHAPER is not set
584# CONFIG_NETCONSOLE is not set
585# CONFIG_NETPOLL is not set
586# CONFIG_NET_POLL_CONTROLLER is not set
587
588#
589# ISDN subsystem
590#
591# CONFIG_ISDN is not set
592
593#
594# Telephony Support
595#
596# CONFIG_PHONE is not set
597
598#
599# Input device support
600#
601CONFIG_INPUT=y
602
603#
604# Userland interfaces
605#
606CONFIG_INPUT_MOUSEDEV=y
607CONFIG_INPUT_MOUSEDEV_PSAUX=y
608CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
609CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
610# CONFIG_INPUT_JOYDEV is not set
611# CONFIG_INPUT_TSDEV is not set
612CONFIG_INPUT_EVDEV=y 57CONFIG_INPUT_EVDEV=y
613# CONFIG_INPUT_EVBUG is not set
614
615#
616# Input Device Drivers
617#
618CONFIG_INPUT_KEYBOARD=y
619CONFIG_KEYBOARD_ATKBD=y
620# CONFIG_KEYBOARD_SUNKBD is not set
621# CONFIG_KEYBOARD_LKKBD is not set
622# CONFIG_KEYBOARD_XTKBD is not set
623# CONFIG_KEYBOARD_NEWTON is not set
624CONFIG_INPUT_MOUSE=y
625CONFIG_MOUSE_PS2=y
626# CONFIG_MOUSE_SERIAL is not set
627# CONFIG_MOUSE_VSXXXAA is not set
628# CONFIG_INPUT_JOYSTICK is not set
629# CONFIG_INPUT_TOUCHSCREEN is not set
630# CONFIG_INPUT_MISC is not set
631
632#
633# Hardware I/O ports
634#
635CONFIG_SERIO=y
636CONFIG_SERIO_I8042=y
637CONFIG_SERIO_SERPORT=y
638# CONFIG_SERIO_PCIPS2 is not set
639CONFIG_SERIO_LIBPS2=y
640# CONFIG_SERIO_RAW is not set
641# CONFIG_GAMEPORT is not set
642
643#
644# Character devices
645#
646CONFIG_VT=y
647CONFIG_VT_CONSOLE=y
648CONFIG_HW_CONSOLE=y
649# CONFIG_SERIAL_NONSTANDARD is not set
650
651#
652# Serial drivers
653#
654CONFIG_SERIAL_8250=y 58CONFIG_SERIAL_8250=y
655CONFIG_SERIAL_8250_CONSOLE=y 59CONFIG_SERIAL_8250_CONSOLE=y
656CONFIG_SERIAL_8250_ACPI=y
657CONFIG_SERIAL_8250_NR_UARTS=4
658CONFIG_SERIAL_8250_RUNTIME_UARTS=4
659CONFIG_SERIAL_8250_EXTENDED=y 60CONFIG_SERIAL_8250_EXTENDED=y
660CONFIG_SERIAL_8250_SHARE_IRQ=y 61CONFIG_SERIAL_8250_SHARE_IRQ=y
661# CONFIG_SERIAL_8250_DETECT_IRQ is not set
662# CONFIG_SERIAL_8250_RSA is not set
663
664#
665# Non-8250 serial port support
666#
667CONFIG_SERIAL_CORE=y
668CONFIG_SERIAL_CORE_CONSOLE=y
669# CONFIG_SERIAL_JSM is not set
670CONFIG_UNIX98_PTYS=y
671CONFIG_LEGACY_PTYS=y
672CONFIG_LEGACY_PTY_COUNT=256
673
674#
675# IPMI
676#
677# CONFIG_IPMI_HANDLER is not set
678
679#
680# Watchdog Cards
681#
682# CONFIG_WATCHDOG is not set
683# CONFIG_HW_RANDOM is not set 62# CONFIG_HW_RANDOM is not set
684CONFIG_EFI_RTC=y 63CONFIG_EFI_RTC=y
685# CONFIG_DTLK is not set 64CONFIG_I2C=y
686# CONFIG_R3964 is not set 65CONFIG_I2C_CHARDEV=y
687# CONFIG_APPLICOM is not set
688
689#
690# Ftape, the floppy tape device driver
691#
692CONFIG_AGP=m 66CONFIG_AGP=m
693CONFIG_AGP_I460=m 67CONFIG_AGP_I460=m
694CONFIG_DRM=m 68CONFIG_DRM=m
695# CONFIG_DRM_TDFX is not set
696CONFIG_DRM_R128=m 69CONFIG_DRM_R128=m
697# CONFIG_DRM_RADEON is not set
698# CONFIG_DRM_MGA is not set
699# CONFIG_DRM_SIS is not set
700# CONFIG_DRM_VIA is not set
701# CONFIG_DRM_SAVAGE is not set
702# CONFIG_RAW_DRIVER is not set
703# CONFIG_HPET is not set
704# CONFIG_HANGCHECK_TIMER is not set
705
706#
707# TPM devices
708#
709# CONFIG_TCG_TPM is not set
710# CONFIG_TELCLOCK is not set
711
712#
713# I2C support
714#
715CONFIG_I2C=y
716CONFIG_I2C_CHARDEV=y
717
718#
719# I2C Algorithms
720#
721CONFIG_I2C_ALGOBIT=y
722# CONFIG_I2C_ALGOPCF is not set
723# CONFIG_I2C_ALGOPCA is not set
724
725#
726# I2C Hardware Bus support
727#
728# CONFIG_I2C_ALI1535 is not set
729# CONFIG_I2C_ALI1563 is not set
730# CONFIG_I2C_ALI15X3 is not set
731# CONFIG_I2C_AMD756 is not set
732# CONFIG_I2C_AMD8111 is not set
733# CONFIG_I2C_I801 is not set
734# CONFIG_I2C_I810 is not set
735# CONFIG_I2C_PIIX4 is not set
736# CONFIG_I2C_NFORCE2 is not set
737# CONFIG_I2C_PARPORT_LIGHT is not set
738# CONFIG_I2C_PROSAVAGE is not set
739# CONFIG_I2C_SAVAGE4 is not set
740# CONFIG_SCx200_ACB is not set
741# CONFIG_I2C_SIS5595 is not set
742# CONFIG_I2C_SIS630 is not set
743# CONFIG_I2C_SIS96X is not set
744# CONFIG_I2C_STUB is not set
745# CONFIG_I2C_VIA is not set
746# CONFIG_I2C_VIAPRO is not set
747# CONFIG_I2C_VOODOO3 is not set
748# CONFIG_I2C_PCA_ISA is not set
749
750#
751# Miscellaneous I2C Chip support
752#
753# CONFIG_SENSORS_DS1337 is not set
754# CONFIG_SENSORS_DS1374 is not set
755# CONFIG_EEPROM_LEGACY is not set
756# CONFIG_SENSORS_PCF8574 is not set
757# CONFIG_SENSORS_PCA9539 is not set
758# CONFIG_SENSORS_PCF8591 is not set
759# CONFIG_SENSORS_RTC8564 is not set
760# CONFIG_SENSORS_MAX6875 is not set
761# CONFIG_RTC_X1205_I2C is not set
762# CONFIG_I2C_DEBUG_CORE is not set
763# CONFIG_I2C_DEBUG_ALGO is not set
764# CONFIG_I2C_DEBUG_BUS is not set
765# CONFIG_I2C_DEBUG_CHIP is not set
766
767#
768# SPI support
769#
770# CONFIG_SPI is not set
771# CONFIG_SPI_MASTER is not set
772
773#
774# Dallas's 1-wire bus
775#
776# CONFIG_W1 is not set
777
778#
779# Hardware Monitoring support
780#
781CONFIG_HWMON=y
782# CONFIG_HWMON_VID is not set
783# CONFIG_SENSORS_ADM1021 is not set
784# CONFIG_SENSORS_ADM1025 is not set
785# CONFIG_SENSORS_ADM1026 is not set
786# CONFIG_SENSORS_ADM1031 is not set
787# CONFIG_SENSORS_ADM9240 is not set
788# CONFIG_SENSORS_ASB100 is not set
789# CONFIG_SENSORS_ATXP1 is not set
790# CONFIG_SENSORS_DS1621 is not set
791# CONFIG_SENSORS_F71805F is not set
792# CONFIG_SENSORS_FSCHER is not set
793# CONFIG_SENSORS_FSCPOS is not set
794# CONFIG_SENSORS_GL518SM is not set
795# CONFIG_SENSORS_GL520SM is not set
796# CONFIG_SENSORS_IT87 is not set
797# CONFIG_SENSORS_LM63 is not set
798# CONFIG_SENSORS_LM75 is not set
799# CONFIG_SENSORS_LM77 is not set
800# CONFIG_SENSORS_LM78 is not set
801# CONFIG_SENSORS_LM80 is not set
802# CONFIG_SENSORS_LM83 is not set
803# CONFIG_SENSORS_LM85 is not set
804# CONFIG_SENSORS_LM87 is not set
805# CONFIG_SENSORS_LM90 is not set
806# CONFIG_SENSORS_LM92 is not set
807# CONFIG_SENSORS_MAX1619 is not set
808# CONFIG_SENSORS_PC87360 is not set
809# CONFIG_SENSORS_SIS5595 is not set
810# CONFIG_SENSORS_SMSC47M1 is not set
811# CONFIG_SENSORS_SMSC47B397 is not set
812# CONFIG_SENSORS_VIA686A is not set
813# CONFIG_SENSORS_VT8231 is not set
814# CONFIG_SENSORS_W83781D is not set
815# CONFIG_SENSORS_W83792D is not set
816# CONFIG_SENSORS_W83L785TS is not set
817# CONFIG_SENSORS_W83627HF is not set
818# CONFIG_SENSORS_W83627EHF is not set
819# CONFIG_HWMON_DEBUG_CHIP is not set
820
821#
822# Misc devices
823#
824
825#
826# Multimedia Capabilities Port drivers
827#
828
829#
830# Multimedia devices
831#
832# CONFIG_VIDEO_DEV is not set
833
834#
835# Digital Video Broadcasting Devices
836#
837# CONFIG_DVB is not set
838
839#
840# Graphics support
841#
842# CONFIG_FB is not set
843
844#
845# Console display driver support
846#
847CONFIG_VGA_CONSOLE=y
848CONFIG_DUMMY_CONSOLE=y
849
850#
851# Sound
852#
853CONFIG_SOUND=m 70CONFIG_SOUND=m
854
855#
856# Advanced Linux Sound Architecture
857#
858CONFIG_SND=m 71CONFIG_SND=m
859CONFIG_SND_TIMER=m
860CONFIG_SND_PCM=m
861CONFIG_SND_HWDEP=m
862CONFIG_SND_RAWMIDI=m
863CONFIG_SND_SEQUENCER=m 72CONFIG_SND_SEQUENCER=m
864# CONFIG_SND_SEQ_DUMMY is not set
865CONFIG_SND_OSSEMUL=y
866CONFIG_SND_MIXER_OSS=m 73CONFIG_SND_MIXER_OSS=m
867CONFIG_SND_PCM_OSS=m 74CONFIG_SND_PCM_OSS=m
868# CONFIG_SND_SEQUENCER_OSS is not set
869# CONFIG_SND_DYNAMIC_MINORS is not set
870CONFIG_SND_SUPPORT_OLD_API=y
871# CONFIG_SND_VERBOSE_PRINTK is not set
872# CONFIG_SND_DEBUG is not set
873
874#
875# Generic devices
876#
877CONFIG_SND_OPL3_LIB=m
878CONFIG_SND_AC97_CODEC=m
879CONFIG_SND_AC97_BUS=m
880# CONFIG_SND_DUMMY is not set
881# CONFIG_SND_VIRMIDI is not set
882# CONFIG_SND_MTPAV is not set
883# CONFIG_SND_SERIAL_U16550 is not set
884# CONFIG_SND_MPU401 is not set
885
886#
887# PCI devices
888#
889# CONFIG_SND_AD1889 is not set
890# CONFIG_SND_ALI5451 is not set
891# CONFIG_SND_ATIIXP is not set
892# CONFIG_SND_ATIIXP_MODEM is not set
893# CONFIG_SND_AU8810 is not set
894# CONFIG_SND_AU8820 is not set
895# CONFIG_SND_AU8830 is not set
896# CONFIG_SND_AZT3328 is not set
897# CONFIG_SND_BT87X is not set
898# CONFIG_SND_CA0106 is not set
899# CONFIG_SND_CMIPCI is not set
900CONFIG_SND_CS4281=m 75CONFIG_SND_CS4281=m
901# CONFIG_SND_CS46XX is not set 76CONFIG_USB_HIDDEV=y
902# CONFIG_SND_EMU10K1 is not set
903# CONFIG_SND_EMU10K1X is not set
904# CONFIG_SND_ENS1370 is not set
905# CONFIG_SND_ENS1371 is not set
906# CONFIG_SND_ES1938 is not set
907# CONFIG_SND_ES1968 is not set
908# CONFIG_SND_FM801 is not set
909# CONFIG_SND_HDA_INTEL is not set
910# CONFIG_SND_HDSP is not set
911# CONFIG_SND_HDSPM is not set
912# CONFIG_SND_ICE1712 is not set
913# CONFIG_SND_ICE1724 is not set
914# CONFIG_SND_INTEL8X0 is not set
915# CONFIG_SND_INTEL8X0M is not set
916# CONFIG_SND_KORG1212 is not set
917# CONFIG_SND_MAESTRO3 is not set
918# CONFIG_SND_MIXART is not set
919# CONFIG_SND_NM256 is not set
920# CONFIG_SND_PCXHR is not set
921# CONFIG_SND_RME32 is not set
922# CONFIG_SND_RME96 is not set
923# CONFIG_SND_RME9652 is not set
924# CONFIG_SND_SONICVIBES is not set
925# CONFIG_SND_TRIDENT is not set
926# CONFIG_SND_VIA82XX is not set
927# CONFIG_SND_VIA82XX_MODEM is not set
928# CONFIG_SND_VX222 is not set
929# CONFIG_SND_YMFPCI is not set
930
931#
932# USB devices
933#
934# CONFIG_SND_USB_AUDIO is not set
935
936#
937# Open Sound System
938#
939# CONFIG_SOUND_PRIME is not set
940
941#
942# USB support
943#
944CONFIG_USB_ARCH_HAS_HCD=y
945CONFIG_USB_ARCH_HAS_OHCI=y
946CONFIG_USB=m 77CONFIG_USB=m
947# CONFIG_USB_DEBUG is not set
948
949#
950# Miscellaneous USB options
951#
952CONFIG_USB_DEVICEFS=y 78CONFIG_USB_DEVICEFS=y
953# CONFIG_USB_BANDWIDTH is not set 79CONFIG_USB_MON=m
954# CONFIG_USB_DYNAMIC_MINORS is not set
955# CONFIG_USB_SUSPEND is not set
956# CONFIG_USB_OTG is not set
957
958#
959# USB Host Controller Drivers
960#
961# CONFIG_USB_EHCI_HCD is not set
962# CONFIG_USB_ISP116X_HCD is not set
963# CONFIG_USB_OHCI_HCD is not set
964CONFIG_USB_UHCI_HCD=m 80CONFIG_USB_UHCI_HCD=m
965# CONFIG_USB_SL811_HCD is not set
966
967#
968# USB Device Class drivers
969#
970# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
971CONFIG_USB_ACM=m 81CONFIG_USB_ACM=m
972CONFIG_USB_PRINTER=m 82CONFIG_USB_PRINTER=m
973
974#
975# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
976#
977
978#
979# may also be needed; see USB_STORAGE Help for more information
980#
981CONFIG_USB_STORAGE=m 83CONFIG_USB_STORAGE=m
982# CONFIG_USB_STORAGE_DEBUG is not set
983# CONFIG_USB_STORAGE_DATAFAB is not set
984# CONFIG_USB_STORAGE_FREECOM is not set
985# CONFIG_USB_STORAGE_ISD200 is not set
986# CONFIG_USB_STORAGE_DPCM is not set
987# CONFIG_USB_STORAGE_USBAT is not set
988# CONFIG_USB_STORAGE_SDDR09 is not set
989# CONFIG_USB_STORAGE_SDDR55 is not set
990# CONFIG_USB_STORAGE_JUMPSHOT is not set
991# CONFIG_USB_STORAGE_ALAUDA is not set
992# CONFIG_USB_LIBUSUAL is not set
993
994#
995# USB Input Devices
996#
997CONFIG_USB_HID=m
998CONFIG_USB_HIDINPUT=y
999# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1000# CONFIG_HID_FF is not set
1001CONFIG_USB_HIDDEV=y
1002
1003#
1004# USB HID Boot Protocol drivers
1005#
1006# CONFIG_USB_KBD is not set
1007# CONFIG_USB_MOUSE is not set
1008# CONFIG_USB_AIPTEK is not set
1009# CONFIG_USB_WACOM is not set
1010# CONFIG_USB_ACECAD is not set
1011# CONFIG_USB_KBTAB is not set
1012# CONFIG_USB_POWERMATE is not set
1013# CONFIG_USB_MTOUCH is not set
1014# CONFIG_USB_ITMTOUCH is not set
1015# CONFIG_USB_EGALAX is not set
1016# CONFIG_USB_YEALINK is not set
1017# CONFIG_USB_XPAD is not set
1018# CONFIG_USB_ATI_REMOTE is not set
1019# CONFIG_USB_ATI_REMOTE2 is not set
1020# CONFIG_USB_KEYSPAN_REMOTE is not set
1021# CONFIG_USB_APPLETOUCH is not set
1022
1023#
1024# USB Imaging devices
1025#
1026# CONFIG_USB_MDC800 is not set
1027# CONFIG_USB_MICROTEK is not set
1028
1029#
1030# USB Multimedia devices
1031#
1032# CONFIG_USB_DABUSB is not set
1033
1034#
1035# Video4Linux support is needed for USB Multimedia device support
1036#
1037
1038#
1039# USB Network Adapters
1040#
1041# CONFIG_USB_CATC is not set
1042# CONFIG_USB_KAWETH is not set
1043# CONFIG_USB_PEGASUS is not set
1044# CONFIG_USB_RTL8150 is not set
1045# CONFIG_USB_USBNET is not set
1046CONFIG_USB_MON=y
1047
1048#
1049# USB port drivers
1050#
1051
1052#
1053# USB Serial Converter support
1054#
1055# CONFIG_USB_SERIAL is not set
1056
1057#
1058# USB Miscellaneous drivers
1059#
1060# CONFIG_USB_EMI62 is not set
1061# CONFIG_USB_EMI26 is not set
1062# CONFIG_USB_AUERSWALD is not set
1063# CONFIG_USB_RIO500 is not set
1064# CONFIG_USB_LEGOTOWER is not set
1065# CONFIG_USB_LCD is not set
1066# CONFIG_USB_LED is not set
1067# CONFIG_USB_CYTHERM is not set
1068# CONFIG_USB_PHIDGETKIT is not set
1069# CONFIG_USB_PHIDGETSERVO is not set
1070# CONFIG_USB_IDMOUSE is not set
1071# CONFIG_USB_LD is not set
1072# CONFIG_USB_TEST is not set
1073
1074#
1075# USB DSL modem support
1076#
1077
1078#
1079# USB Gadget Support
1080#
1081# CONFIG_USB_GADGET is not set
1082
1083#
1084# MMC/SD Card support
1085#
1086# CONFIG_MMC is not set
1087
1088#
1089# InfiniBand support
1090#
1091# CONFIG_INFINIBAND is not set
1092
1093#
1094# EDAC - error detection and reporting (RAS)
1095#
1096
1097#
1098# File systems
1099#
1100CONFIG_EXT2_FS=y 84CONFIG_EXT2_FS=y
1101# CONFIG_EXT2_FS_XATTR is not set
1102# CONFIG_EXT2_FS_XIP is not set
1103CONFIG_EXT3_FS=y 85CONFIG_EXT3_FS=y
1104CONFIG_EXT3_FS_XATTR=y
1105# CONFIG_EXT3_FS_POSIX_ACL is not set
1106# CONFIG_EXT3_FS_SECURITY is not set
1107CONFIG_JBD=y
1108# CONFIG_JBD_DEBUG is not set
1109CONFIG_FS_MBCACHE=y
1110# CONFIG_REISERFS_FS is not set
1111# CONFIG_JFS_FS is not set
1112CONFIG_FS_POSIX_ACL=y
1113CONFIG_XFS_FS=y 86CONFIG_XFS_FS=y
1114CONFIG_XFS_EXPORT=y
1115CONFIG_XFS_QUOTA=y 87CONFIG_XFS_QUOTA=y
1116CONFIG_XFS_SECURITY=y
1117CONFIG_XFS_POSIX_ACL=y 88CONFIG_XFS_POSIX_ACL=y
1118# CONFIG_XFS_RT is not set
1119# CONFIG_OCFS2_FS is not set
1120# CONFIG_MINIX_FS is not set
1121# CONFIG_ROMFS_FS is not set
1122CONFIG_INOTIFY=y
1123# CONFIG_QUOTA is not set
1124CONFIG_QUOTACTL=y
1125CONFIG_DNOTIFY=y
1126CONFIG_AUTOFS_FS=m 89CONFIG_AUTOFS_FS=m
1127CONFIG_AUTOFS4_FS=m 90CONFIG_AUTOFS4_FS=m
1128# CONFIG_FUSE_FS is not set
1129
1130#
1131# CD-ROM/DVD Filesystems
1132#
1133CONFIG_ISO9660_FS=m 91CONFIG_ISO9660_FS=m
1134CONFIG_JOLIET=y 92CONFIG_JOLIET=y
1135# CONFIG_ZISOFS is not set
1136CONFIG_UDF_FS=m 93CONFIG_UDF_FS=m
1137CONFIG_UDF_NLS=y
1138
1139#
1140# DOS/FAT/NT Filesystems
1141#
1142CONFIG_FAT_FS=y
1143# CONFIG_MSDOS_FS is not set
1144CONFIG_VFAT_FS=y 94CONFIG_VFAT_FS=y
1145CONFIG_FAT_DEFAULT_CODEPAGE=437
1146CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1147# CONFIG_NTFS_FS is not set
1148
1149#
1150# Pseudo filesystems
1151#
1152CONFIG_PROC_FS=y
1153CONFIG_PROC_KCORE=y 95CONFIG_PROC_KCORE=y
1154CONFIG_SYSFS=y
1155CONFIG_TMPFS=y 96CONFIG_TMPFS=y
1156CONFIG_HUGETLBFS=y 97CONFIG_HUGETLBFS=y
1157CONFIG_HUGETLB_PAGE=y
1158CONFIG_RAMFS=y
1159# CONFIG_RELAYFS_FS is not set
1160# CONFIG_CONFIGFS_FS is not set
1161
1162#
1163# Miscellaneous filesystems
1164#
1165# CONFIG_ADFS_FS is not set
1166# CONFIG_AFFS_FS is not set
1167# CONFIG_HFS_FS is not set
1168# CONFIG_HFSPLUS_FS is not set
1169# CONFIG_BEFS_FS is not set
1170# CONFIG_BFS_FS is not set
1171# CONFIG_EFS_FS is not set
1172# CONFIG_CRAMFS is not set
1173# CONFIG_VXFS_FS is not set
1174# CONFIG_HPFS_FS is not set
1175# CONFIG_QNX4FS_FS is not set
1176# CONFIG_SYSV_FS is not set
1177# CONFIG_UFS_FS is not set
1178
1179#
1180# Network File Systems
1181#
1182CONFIG_NFS_FS=m 98CONFIG_NFS_FS=m
1183CONFIG_NFS_V3=y 99CONFIG_NFS_V3=y
1184# CONFIG_NFS_V3_ACL is not set
1185CONFIG_NFS_V4=y 100CONFIG_NFS_V4=y
1186# CONFIG_NFS_DIRECTIO is not set
1187CONFIG_NFSD=m 101CONFIG_NFSD=m
1188CONFIG_NFSD_V3=y
1189# CONFIG_NFSD_V3_ACL is not set
1190CONFIG_NFSD_V4=y 102CONFIG_NFSD_V4=y
1191CONFIG_NFSD_TCP=y
1192CONFIG_LOCKD=m
1193CONFIG_LOCKD_V4=y
1194CONFIG_EXPORTFS=y
1195CONFIG_NFS_COMMON=y
1196CONFIG_SUNRPC=m
1197CONFIG_SUNRPC_GSS=m
1198CONFIG_RPCSEC_GSS_KRB5=m
1199# CONFIG_RPCSEC_GSS_SPKM3 is not set
1200# CONFIG_SMB_FS is not set
1201CONFIG_CIFS=m 103CONFIG_CIFS=m
1202CONFIG_CIFS_STATS=y 104CONFIG_CIFS_STATS=y
1203# CONFIG_CIFS_STATS2 is not set
1204CONFIG_CIFS_XATTR=y 105CONFIG_CIFS_XATTR=y
1205CONFIG_CIFS_POSIX=y 106CONFIG_CIFS_POSIX=y
1206# CONFIG_CIFS_EXPERIMENTAL is not set
1207# CONFIG_NCP_FS is not set
1208# CONFIG_CODA_FS is not set
1209# CONFIG_AFS_FS is not set
1210# CONFIG_9P_FS is not set
1211
1212#
1213# Partition Types
1214#
1215CONFIG_PARTITION_ADVANCED=y 107CONFIG_PARTITION_ADVANCED=y
1216# CONFIG_ACORN_PARTITION is not set
1217# CONFIG_OSF_PARTITION is not set
1218# CONFIG_AMIGA_PARTITION is not set
1219# CONFIG_ATARI_PARTITION is not set
1220# CONFIG_MAC_PARTITION is not set
1221CONFIG_MSDOS_PARTITION=y
1222# CONFIG_BSD_DISKLABEL is not set
1223# CONFIG_MINIX_SUBPARTITION is not set
1224# CONFIG_SOLARIS_X86_PARTITION is not set
1225# CONFIG_UNIXWARE_DISKLABEL is not set
1226# CONFIG_LDM_PARTITION is not set
1227CONFIG_SGI_PARTITION=y 108CONFIG_SGI_PARTITION=y
1228# CONFIG_ULTRIX_PARTITION is not set
1229# CONFIG_SUN_PARTITION is not set
1230# CONFIG_KARMA_PARTITION is not set
1231CONFIG_EFI_PARTITION=y 109CONFIG_EFI_PARTITION=y
1232
1233#
1234# Native Language Support
1235#
1236CONFIG_NLS=y
1237CONFIG_NLS_DEFAULT="iso8859-1"
1238CONFIG_NLS_CODEPAGE_437=y 110CONFIG_NLS_CODEPAGE_437=y
1239# CONFIG_NLS_CODEPAGE_737 is not set
1240# CONFIG_NLS_CODEPAGE_775 is not set
1241# CONFIG_NLS_CODEPAGE_850 is not set
1242# CONFIG_NLS_CODEPAGE_852 is not set
1243# CONFIG_NLS_CODEPAGE_855 is not set
1244# CONFIG_NLS_CODEPAGE_857 is not set
1245# CONFIG_NLS_CODEPAGE_860 is not set
1246# CONFIG_NLS_CODEPAGE_861 is not set
1247# CONFIG_NLS_CODEPAGE_862 is not set
1248# CONFIG_NLS_CODEPAGE_863 is not set
1249# CONFIG_NLS_CODEPAGE_864 is not set
1250# CONFIG_NLS_CODEPAGE_865 is not set
1251# CONFIG_NLS_CODEPAGE_866 is not set
1252# CONFIG_NLS_CODEPAGE_869 is not set
1253# CONFIG_NLS_CODEPAGE_936 is not set
1254# CONFIG_NLS_CODEPAGE_950 is not set
1255# CONFIG_NLS_CODEPAGE_932 is not set
1256# CONFIG_NLS_CODEPAGE_949 is not set
1257# CONFIG_NLS_CODEPAGE_874 is not set
1258# CONFIG_NLS_ISO8859_8 is not set
1259# CONFIG_NLS_CODEPAGE_1250 is not set
1260# CONFIG_NLS_CODEPAGE_1251 is not set
1261# CONFIG_NLS_ASCII is not set
1262CONFIG_NLS_ISO8859_1=y 111CONFIG_NLS_ISO8859_1=y
1263# CONFIG_NLS_ISO8859_2 is not set
1264# CONFIG_NLS_ISO8859_3 is not set
1265# CONFIG_NLS_ISO8859_4 is not set
1266# CONFIG_NLS_ISO8859_5 is not set
1267# CONFIG_NLS_ISO8859_6 is not set
1268# CONFIG_NLS_ISO8859_7 is not set
1269# CONFIG_NLS_ISO8859_9 is not set
1270# CONFIG_NLS_ISO8859_13 is not set
1271# CONFIG_NLS_ISO8859_14 is not set
1272# CONFIG_NLS_ISO8859_15 is not set
1273# CONFIG_NLS_KOI8_R is not set
1274# CONFIG_NLS_KOI8_U is not set
1275CONFIG_NLS_UTF8=m 112CONFIG_NLS_UTF8=m
1276
1277#
1278# Library routines
1279#
1280# CONFIG_CRC_CCITT is not set
1281# CONFIG_CRC16 is not set
1282CONFIG_CRC32=y
1283# CONFIG_LIBCRC32C is not set
1284CONFIG_GENERIC_HARDIRQS=y
1285CONFIG_GENERIC_IRQ_PROBE=y
1286CONFIG_GENERIC_PENDING_IRQ=y
1287
1288#
1289# Instrumentation Support
1290#
1291CONFIG_PROFILING=y
1292CONFIG_OPROFILE=y
1293# CONFIG_KPROBES is not set
1294
1295#
1296# Kernel hacking
1297#
1298# CONFIG_PRINTK_TIME is not set
1299CONFIG_MAGIC_SYSRQ=y 113CONFIG_MAGIC_SYSRQ=y
1300CONFIG_DEBUG_KERNEL=y 114CONFIG_DEBUG_KERNEL=y
1301CONFIG_LOG_BUF_SHIFT=16
1302CONFIG_DETECT_SOFTLOCKUP=y
1303# CONFIG_SCHEDSTATS is not set
1304# CONFIG_DEBUG_SLAB is not set
1305CONFIG_DEBUG_PREEMPT=y
1306CONFIG_DEBUG_MUTEXES=y 115CONFIG_DEBUG_MUTEXES=y
1307# CONFIG_DEBUG_SPINLOCK is not set
1308# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1309# CONFIG_DEBUG_KOBJECT is not set
1310# CONFIG_DEBUG_INFO is not set
1311# CONFIG_DEBUG_FS is not set
1312# CONFIG_DEBUG_VM is not set
1313CONFIG_FORCED_INLINING=y
1314# CONFIG_RCU_TORTURE_TEST is not set
1315# CONFIG_IA64_GRANULE_16MB is not set
1316CONFIG_IA64_GRANULE_64MB=y
1317# CONFIG_IA64_PRINT_HAZARDS is not set
1318# CONFIG_DISABLE_VHPT is not set
1319# CONFIG_IA64_DEBUG_CMPXCHG is not set
1320# CONFIG_IA64_DEBUG_IRQ is not set
1321CONFIG_SYSVIPC_COMPAT=y
1322
1323#
1324# Security options
1325#
1326# CONFIG_KEYS is not set
1327# CONFIG_SECURITY is not set
1328
1329#
1330# Cryptographic options
1331#
1332CONFIG_CRYPTO=y
1333# CONFIG_CRYPTO_HMAC is not set
1334# CONFIG_CRYPTO_NULL is not set
1335# CONFIG_CRYPTO_MD4 is not set
1336CONFIG_CRYPTO_MD5=y 116CONFIG_CRYPTO_MD5=y
1337# CONFIG_CRYPTO_SHA1 is not set
1338# CONFIG_CRYPTO_SHA256 is not set
1339# CONFIG_CRYPTO_SHA512 is not set
1340# CONFIG_CRYPTO_WP512 is not set
1341# CONFIG_CRYPTO_TGR192 is not set
1342CONFIG_CRYPTO_DES=y 117CONFIG_CRYPTO_DES=y
1343# CONFIG_CRYPTO_BLOWFISH is not set
1344# CONFIG_CRYPTO_TWOFISH is not set
1345# CONFIG_CRYPTO_SERPENT is not set
1346# CONFIG_CRYPTO_AES is not set
1347# CONFIG_CRYPTO_CAST5 is not set
1348# CONFIG_CRYPTO_CAST6 is not set
1349# CONFIG_CRYPTO_TEA is not set
1350# CONFIG_CRYPTO_ARC4 is not set
1351# CONFIG_CRYPTO_KHAZAD is not set
1352# CONFIG_CRYPTO_ANUBIS is not set
1353# CONFIG_CRYPTO_DEFLATE is not set
1354# CONFIG_CRYPTO_MICHAEL_MIC is not set
1355# CONFIG_CRYPTO_CRC32C is not set
1356# CONFIG_CRYPTO_TEST is not set
1357
1358#
1359# Hardware crypto devices
1360#
diff --git a/arch/ia64/configs/generic_defconfig b/arch/ia64/configs/generic_defconfig
index 75645495c2dd..3ded8fe62759 100644
--- a/arch/ia64/configs/generic_defconfig
+++ b/arch/ia64/configs/generic_defconfig
@@ -1,992 +1,114 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.28-rc7
4# Mon Dec 8 08:12:07 2008
5#
6CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
7
8#
9# General setup
10#
11CONFIG_EXPERIMENTAL=y 1CONFIG_EXPERIMENTAL=y
12CONFIG_LOCK_KERNEL=y
13CONFIG_INIT_ENV_ARG_LIMIT=32
14CONFIG_LOCALVERSION=""
15CONFIG_LOCALVERSION_AUTO=y
16CONFIG_SWAP=y
17CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
18CONFIG_SYSVIPC_SYSCTL=y
19CONFIG_POSIX_MQUEUE=y 3CONFIG_POSIX_MQUEUE=y
20# CONFIG_BSD_PROCESS_ACCT is not set
21# CONFIG_TASKSTATS is not set
22# CONFIG_AUDIT is not set
23CONFIG_IKCONFIG=y 4CONFIG_IKCONFIG=y
24CONFIG_IKCONFIG_PROC=y 5CONFIG_IKCONFIG_PROC=y
25CONFIG_LOG_BUF_SHIFT=20 6CONFIG_LOG_BUF_SHIFT=20
26CONFIG_CGROUPS=y 7CONFIG_CGROUPS=y
27# CONFIG_CGROUP_DEBUG is not set
28# CONFIG_CGROUP_NS is not set
29# CONFIG_CGROUP_FREEZER is not set
30# CONFIG_CGROUP_DEVICE is not set
31CONFIG_CPUSETS=y 8CONFIG_CPUSETS=y
32# CONFIG_GROUP_SCHED is not set
33# CONFIG_CGROUP_CPUACCT is not set
34# CONFIG_RESOURCE_COUNTERS is not set
35CONFIG_SYSFS_DEPRECATED=y
36CONFIG_SYSFS_DEPRECATED_V2=y 9CONFIG_SYSFS_DEPRECATED_V2=y
37CONFIG_PROC_PID_CPUSET=y
38# CONFIG_RELAY is not set
39CONFIG_NAMESPACES=y
40# CONFIG_UTS_NS is not set
41# CONFIG_IPC_NS is not set
42# CONFIG_USER_NS is not set
43# CONFIG_PID_NS is not set
44CONFIG_BLK_DEV_INITRD=y 10CONFIG_BLK_DEV_INITRD=y
45CONFIG_INITRAMFS_SOURCE=""
46CONFIG_CC_OPTIMIZE_FOR_SIZE=y
47CONFIG_SYSCTL=y
48# CONFIG_EMBEDDED is not set
49CONFIG_SYSCTL_SYSCALL=y
50CONFIG_KALLSYMS=y
51CONFIG_KALLSYMS_ALL=y 11CONFIG_KALLSYMS_ALL=y
52# CONFIG_KALLSYMS_EXTRA_PASS is not set
53CONFIG_HOTPLUG=y
54CONFIG_PRINTK=y
55CONFIG_BUG=y
56CONFIG_ELF_CORE=y
57CONFIG_COMPAT_BRK=y
58CONFIG_BASE_FULL=y
59CONFIG_FUTEX=y
60CONFIG_ANON_INODES=y
61CONFIG_EPOLL=y
62CONFIG_SIGNALFD=y
63CONFIG_TIMERFD=y
64CONFIG_EVENTFD=y
65CONFIG_SHMEM=y
66CONFIG_AIO=y
67CONFIG_VM_EVENT_COUNTERS=y
68CONFIG_PCI_QUIRKS=y
69CONFIG_SLUB_DEBUG=y
70# CONFIG_SLAB is not set
71CONFIG_SLUB=y
72# CONFIG_SLOB is not set
73# CONFIG_PROFILING is not set
74# CONFIG_MARKERS is not set
75CONFIG_HAVE_OPROFILE=y
76# CONFIG_KPROBES is not set
77CONFIG_HAVE_KPROBES=y
78CONFIG_HAVE_KRETPROBES=y
79CONFIG_HAVE_ARCH_TRACEHOOK=y
80CONFIG_HAVE_DMA_ATTRS=y
81CONFIG_USE_GENERIC_SMP_HELPERS=y
82# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
83CONFIG_SLABINFO=y
84CONFIG_RT_MUTEXES=y
85# CONFIG_TINY_SHMEM is not set
86CONFIG_BASE_SMALL=0
87CONFIG_MODULES=y 12CONFIG_MODULES=y
88# CONFIG_MODULE_FORCE_LOAD is not set
89CONFIG_MODULE_UNLOAD=y 13CONFIG_MODULE_UNLOAD=y
90# CONFIG_MODULE_FORCE_UNLOAD is not set
91CONFIG_MODVERSIONS=y 14CONFIG_MODVERSIONS=y
92# CONFIG_MODULE_SRCVERSION_ALL is not set
93CONFIG_KMOD=y
94CONFIG_STOP_MACHINE=y
95CONFIG_BLOCK=y
96# CONFIG_BLK_DEV_IO_TRACE is not set
97# CONFIG_BLK_DEV_BSG is not set 15# CONFIG_BLK_DEV_BSG is not set
98# CONFIG_BLK_DEV_INTEGRITY is not set
99CONFIG_BLOCK_COMPAT=y
100
101#
102# IO Schedulers
103#
104CONFIG_IOSCHED_NOOP=y
105CONFIG_IOSCHED_AS=y
106CONFIG_IOSCHED_DEADLINE=y
107CONFIG_IOSCHED_CFQ=y
108CONFIG_DEFAULT_AS=y
109# CONFIG_DEFAULT_DEADLINE is not set
110# CONFIG_DEFAULT_CFQ is not set
111# CONFIG_DEFAULT_NOOP is not set
112CONFIG_DEFAULT_IOSCHED="anticipatory"
113CONFIG_CLASSIC_RCU=y
114# CONFIG_FREEZER is not set
115
116#
117# Processor type and features
118#
119CONFIG_IA64=y
120CONFIG_64BIT=y
121CONFIG_ZONE_DMA=y
122CONFIG_QUICKLIST=y
123CONFIG_MMU=y
124CONFIG_SWIOTLB=y
125CONFIG_IOMMU_HELPER=y
126CONFIG_RWSEM_XCHGADD_ALGORITHM=y
127CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
128CONFIG_GENERIC_FIND_NEXT_BIT=y
129CONFIG_GENERIC_CALIBRATE_DELAY=y
130CONFIG_GENERIC_TIME=y
131CONFIG_GENERIC_TIME_VSYSCALL=y
132CONFIG_HAVE_SETUP_PER_CPU_AREA=y
133CONFIG_DMI=y
134CONFIG_EFI=y
135CONFIG_GENERIC_IOMAP=y
136CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
137CONFIG_IA64_UNCACHED_ALLOCATOR=y
138CONFIG_AUDIT_ARCH=y
139# CONFIG_PARAVIRT_GUEST is not set
140CONFIG_IA64_GENERIC=y
141# CONFIG_IA64_DIG is not set
142# CONFIG_IA64_DIG_VTD is not set
143# CONFIG_IA64_HP_ZX1 is not set
144# CONFIG_IA64_HP_ZX1_SWIOTLB is not set
145# CONFIG_IA64_SGI_SN2 is not set
146# CONFIG_IA64_SGI_UV is not set
147# CONFIG_IA64_HP_SIM is not set
148# CONFIG_IA64_XEN_GUEST is not set
149# CONFIG_ITANIUM is not set
150CONFIG_MCKINLEY=y 16CONFIG_MCKINLEY=y
151# CONFIG_IA64_PAGE_SIZE_4KB is not set
152# CONFIG_IA64_PAGE_SIZE_8KB is not set
153# CONFIG_IA64_PAGE_SIZE_16KB is not set
154CONFIG_IA64_PAGE_SIZE_64KB=y 17CONFIG_IA64_PAGE_SIZE_64KB=y
155CONFIG_PGTABLE_3=y
156# CONFIG_PGTABLE_4 is not set
157CONFIG_HZ=250
158# CONFIG_HZ_100 is not set
159CONFIG_HZ_250=y
160# CONFIG_HZ_300 is not set
161# CONFIG_HZ_1000 is not set
162# CONFIG_SCHED_HRTICK is not set
163CONFIG_IA64_L1_CACHE_SHIFT=7
164CONFIG_IA64_CYCLONE=y 18CONFIG_IA64_CYCLONE=y
165CONFIG_IOSAPIC=y
166CONFIG_FORCE_MAX_ZONEORDER=17
167# CONFIG_VIRT_CPU_ACCOUNTING is not set
168CONFIG_SMP=y 19CONFIG_SMP=y
169CONFIG_NR_CPUS=4096
170CONFIG_HOTPLUG_CPU=y 20CONFIG_HOTPLUG_CPU=y
171CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
172CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
173# CONFIG_SCHED_SMT is not set
174# CONFIG_PERMIT_BSP_REMOVE is not set
175CONFIG_PREEMPT_NONE=y
176# CONFIG_PREEMPT_VOLUNTARY is not set
177# CONFIG_PREEMPT is not set
178CONFIG_SELECT_MEMORY_MODEL=y
179# CONFIG_FLATMEM_MANUAL is not set
180CONFIG_DISCONTIGMEM_MANUAL=y
181# CONFIG_SPARSEMEM_MANUAL is not set
182CONFIG_DISCONTIGMEM=y
183CONFIG_FLAT_NODE_MEM_MAP=y
184CONFIG_NEED_MULTIPLE_NODES=y
185CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
186CONFIG_PAGEFLAGS_EXTENDED=y
187CONFIG_SPLIT_PTLOCK_CPUS=4
188CONFIG_MIGRATION=y
189CONFIG_RESOURCES_64BIT=y
190CONFIG_PHYS_ADDR_T_64BIT=y
191CONFIG_ZONE_DMA_FLAG=1
192CONFIG_BOUNCE=y
193CONFIG_NR_QUICK=1
194CONFIG_VIRT_TO_BUS=y
195CONFIG_UNEVICTABLE_LRU=y
196CONFIG_ARCH_SELECT_MEMORY_MODEL=y
197CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
198CONFIG_ARCH_FLATMEM_ENABLE=y
199CONFIG_ARCH_SPARSEMEM_ENABLE=y
200CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
201CONFIG_NUMA=y
202CONFIG_NODES_SHIFT=10
203CONFIG_ARCH_POPULATES_NODE_MAP=y
204CONFIG_VIRTUAL_MEM_MAP=y
205CONFIG_HOLES_IN_ZONE=y
206CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
207CONFIG_HAVE_ARCH_NODEDATA_EXTENSION=y
208CONFIG_IA32_SUPPORT=y
209CONFIG_COMPAT=y
210CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
211CONFIG_IA64_MCA_RECOVERY=y 21CONFIG_IA64_MCA_RECOVERY=y
212CONFIG_PERFMON=y 22CONFIG_PERFMON=y
213CONFIG_IA64_PALINFO=y 23CONFIG_IA64_PALINFO=y
214# CONFIG_IA64_MC_ERR_INJECT is not set
215CONFIG_SGI_SN=y
216# CONFIG_IA64_ESI is not set
217# CONFIG_IA64_HP_AML_NFW is not set
218
219#
220# SN Devices
221#
222CONFIG_SGI_IOC3=m
223CONFIG_KEXEC=y 24CONFIG_KEXEC=y
224CONFIG_CRASH_DUMP=y 25CONFIG_CRASH_DUMP=y
225
226#
227# Firmware Drivers
228#
229# CONFIG_FIRMWARE_MEMMAP is not set
230CONFIG_EFI_VARS=y 26CONFIG_EFI_VARS=y
231CONFIG_EFI_PCDP=y
232CONFIG_DMIID=y
233CONFIG_BINFMT_ELF=y
234# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
235# CONFIG_HAVE_AOUT is not set
236CONFIG_BINFMT_MISC=m 27CONFIG_BINFMT_MISC=m
237
238#
239# Power management and ACPI options
240#
241CONFIG_PM=y
242# CONFIG_PM_DEBUG is not set
243CONFIG_ACPI=y
244CONFIG_ACPI_PROCFS=y 28CONFIG_ACPI_PROCFS=y
245CONFIG_ACPI_PROCFS_POWER=y
246CONFIG_ACPI_SYSFS_POWER=y
247CONFIG_ACPI_PROC_EVENT=y
248CONFIG_ACPI_BUTTON=m 29CONFIG_ACPI_BUTTON=m
249CONFIG_ACPI_FAN=m 30CONFIG_ACPI_FAN=m
250CONFIG_ACPI_DOCK=y 31CONFIG_ACPI_DOCK=y
251CONFIG_ACPI_PROCESSOR=m 32CONFIG_ACPI_PROCESSOR=m
252CONFIG_ACPI_HOTPLUG_CPU=y
253CONFIG_ACPI_THERMAL=m
254CONFIG_ACPI_NUMA=y
255# CONFIG_ACPI_CUSTOM_DSDT is not set
256CONFIG_ACPI_BLACKLIST_YEAR=0
257# CONFIG_ACPI_DEBUG is not set
258# CONFIG_ACPI_PCI_SLOT is not set
259CONFIG_ACPI_SYSTEM=y
260CONFIG_ACPI_CONTAINER=m 33CONFIG_ACPI_CONTAINER=m
261
262#
263# CPU Frequency scaling
264#
265# CONFIG_CPU_FREQ is not set
266
267#
268# Bus options (PCI, PCMCIA)
269#
270CONFIG_PCI=y
271CONFIG_PCI_DOMAINS=y
272CONFIG_PCI_SYSCALL=y
273# CONFIG_PCIEPORTBUS is not set
274CONFIG_ARCH_SUPPORTS_MSI=y
275CONFIG_PCI_MSI=y
276CONFIG_PCI_LEGACY=y
277# CONFIG_PCI_DEBUG is not set
278CONFIG_HOTPLUG_PCI=m 34CONFIG_HOTPLUG_PCI=m
279# CONFIG_HOTPLUG_PCI_FAKE is not set
280CONFIG_HOTPLUG_PCI_ACPI=m 35CONFIG_HOTPLUG_PCI_ACPI=m
281# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set
282# CONFIG_HOTPLUG_PCI_CPCI is not set
283# CONFIG_HOTPLUG_PCI_SHPC is not set
284# CONFIG_HOTPLUG_PCI_SGI is not set
285# CONFIG_PCCARD is not set
286CONFIG_DMAR=y
287CONFIG_NET=y
288
289#
290# Networking options
291#
292CONFIG_PACKET=y 36CONFIG_PACKET=y
293# CONFIG_PACKET_MMAP is not set
294CONFIG_UNIX=y 37CONFIG_UNIX=y
295CONFIG_XFRM=y
296# CONFIG_XFRM_USER is not set
297# CONFIG_XFRM_SUB_POLICY is not set
298# CONFIG_XFRM_MIGRATE is not set
299# CONFIG_XFRM_STATISTICS is not set
300# CONFIG_NET_KEY is not set
301CONFIG_INET=y 38CONFIG_INET=y
302CONFIG_IP_MULTICAST=y 39CONFIG_IP_MULTICAST=y
303# CONFIG_IP_ADVANCED_ROUTER is not set
304CONFIG_IP_FIB_HASH=y
305# CONFIG_IP_PNP is not set
306# CONFIG_NET_IPIP is not set
307# CONFIG_NET_IPGRE is not set
308# CONFIG_IP_MROUTE is not set
309CONFIG_ARPD=y 40CONFIG_ARPD=y
310CONFIG_SYN_COOKIES=y 41CONFIG_SYN_COOKIES=y
311# CONFIG_INET_AH is not set
312# CONFIG_INET_ESP is not set
313# CONFIG_INET_IPCOMP is not set
314# CONFIG_INET_XFRM_TUNNEL is not set
315# CONFIG_INET_TUNNEL is not set
316CONFIG_INET_XFRM_MODE_TRANSPORT=y
317CONFIG_INET_XFRM_MODE_TUNNEL=y
318CONFIG_INET_XFRM_MODE_BEET=y
319CONFIG_INET_LRO=m
320CONFIG_INET_DIAG=y
321CONFIG_INET_TCP_DIAG=y
322# CONFIG_TCP_CONG_ADVANCED is not set
323CONFIG_TCP_CONG_CUBIC=y
324CONFIG_DEFAULT_TCP_CONG="cubic"
325# CONFIG_TCP_MD5SIG is not set
326# CONFIG_IPV6 is not set 42# CONFIG_IPV6 is not set
327# CONFIG_NETWORK_SECMARK is not set
328# CONFIG_NETFILTER is not set
329# CONFIG_IP_DCCP is not set
330# CONFIG_IP_SCTP is not set
331# CONFIG_TIPC is not set
332# CONFIG_ATM is not set
333# CONFIG_BRIDGE is not set
334# CONFIG_NET_DSA is not set
335# CONFIG_VLAN_8021Q is not set
336# CONFIG_DECNET is not set
337# CONFIG_LLC2 is not set
338# CONFIG_IPX is not set
339# CONFIG_ATALK is not set
340# CONFIG_X25 is not set
341# CONFIG_LAPB is not set
342# CONFIG_ECONET is not set
343# CONFIG_WAN_ROUTER is not set
344# CONFIG_NET_SCHED is not set
345
346#
347# Network testing
348#
349# CONFIG_NET_PKTGEN is not set
350# CONFIG_HAMRADIO is not set
351# CONFIG_CAN is not set
352# CONFIG_IRDA is not set
353# CONFIG_BT is not set
354# CONFIG_AF_RXRPC is not set
355# CONFIG_PHONET is not set
356CONFIG_WIRELESS=y
357# CONFIG_CFG80211 is not set
358CONFIG_WIRELESS_OLD_REGULATORY=y
359# CONFIG_WIRELESS_EXT is not set
360# CONFIG_MAC80211 is not set
361# CONFIG_IEEE80211 is not set
362# CONFIG_RFKILL is not set
363# CONFIG_NET_9P is not set
364
365#
366# Device Drivers
367#
368
369#
370# Generic Driver Options
371#
372CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 43CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
373CONFIG_STANDALONE=y
374CONFIG_PREVENT_FIRMWARE_BUILD=y
375CONFIG_FW_LOADER=y
376CONFIG_FIRMWARE_IN_KERNEL=y
377CONFIG_EXTRA_FIRMWARE=""
378# CONFIG_DEBUG_DRIVER is not set
379# CONFIG_DEBUG_DEVRES is not set
380# CONFIG_SYS_HYPERVISOR is not set
381CONFIG_CONNECTOR=y 44CONFIG_CONNECTOR=y
382CONFIG_PROC_EVENTS=y
383# CONFIG_MTD is not set
384# CONFIG_PARPORT is not set
385CONFIG_PNP=y
386# CONFIG_PNP_DEBUG_MESSAGES is not set 45# CONFIG_PNP_DEBUG_MESSAGES is not set
387
388#
389# Protocols
390#
391CONFIG_PNPACPI=y
392CONFIG_BLK_DEV=y
393# CONFIG_BLK_CPQ_DA is not set
394# CONFIG_BLK_CPQ_CISS_DA is not set
395# CONFIG_BLK_DEV_DAC960 is not set
396# CONFIG_BLK_DEV_UMEM is not set
397# CONFIG_BLK_DEV_COW_COMMON is not set
398CONFIG_BLK_DEV_LOOP=m 46CONFIG_BLK_DEV_LOOP=m
399CONFIG_BLK_DEV_CRYPTOLOOP=m 47CONFIG_BLK_DEV_CRYPTOLOOP=m
400CONFIG_BLK_DEV_NBD=m 48CONFIG_BLK_DEV_NBD=m
401# CONFIG_BLK_DEV_SX8 is not set
402# CONFIG_BLK_DEV_UB is not set
403CONFIG_BLK_DEV_RAM=y 49CONFIG_BLK_DEV_RAM=y
404CONFIG_BLK_DEV_RAM_COUNT=16
405CONFIG_BLK_DEV_RAM_SIZE=4096
406# CONFIG_BLK_DEV_XIP is not set
407# CONFIG_CDROM_PKTCDVD is not set
408# CONFIG_ATA_OVER_ETH is not set
409# CONFIG_BLK_DEV_HD is not set
410CONFIG_MISC_DEVICES=y
411# CONFIG_PHANTOM is not set
412# CONFIG_EEPROM_93CX6 is not set
413CONFIG_SGI_IOC4=y 50CONFIG_SGI_IOC4=y
414# CONFIG_TIFM_CORE is not set
415# CONFIG_ENCLOSURE_SERVICES is not set
416CONFIG_SGI_XP=m 51CONFIG_SGI_XP=m
417# CONFIG_HP_ILO is not set
418# CONFIG_C2PORT is not set
419CONFIG_HAVE_IDE=y
420CONFIG_IDE=y 52CONFIG_IDE=y
421
422#
423# Please see Documentation/ide/ide.txt for help/info on IDE drives
424#
425CONFIG_IDE_TIMINGS=y
426CONFIG_IDE_ATAPI=y
427# CONFIG_BLK_DEV_IDE_SATA is not set
428CONFIG_IDE_GD=y
429CONFIG_IDE_GD_ATA=y
430# CONFIG_IDE_GD_ATAPI is not set
431CONFIG_BLK_DEV_IDECD=y 53CONFIG_BLK_DEV_IDECD=y
432CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
433# CONFIG_BLK_DEV_IDETAPE is not set
434CONFIG_BLK_DEV_IDESCSI=m
435# CONFIG_BLK_DEV_IDEACPI is not set
436# CONFIG_IDE_TASK_IOCTL is not set
437CONFIG_IDE_PROC_FS=y
438
439#
440# IDE chipset support/bugfixes
441#
442# CONFIG_IDE_GENERIC is not set
443# CONFIG_BLK_DEV_PLATFORM is not set
444# CONFIG_BLK_DEV_IDEPNP is not set
445CONFIG_BLK_DEV_IDEDMA_SFF=y
446
447#
448# PCI IDE chipsets support
449#
450CONFIG_BLK_DEV_IDEPCI=y
451CONFIG_IDEPCI_PCIBUS_ORDER=y
452# CONFIG_BLK_DEV_OFFBOARD is not set
453CONFIG_BLK_DEV_GENERIC=y 54CONFIG_BLK_DEV_GENERIC=y
454# CONFIG_BLK_DEV_OPTI621 is not set
455CONFIG_BLK_DEV_IDEDMA_PCI=y
456# CONFIG_BLK_DEV_AEC62XX is not set
457# CONFIG_BLK_DEV_ALI15X3 is not set
458# CONFIG_BLK_DEV_AMD74XX is not set
459CONFIG_BLK_DEV_CMD64X=y 55CONFIG_BLK_DEV_CMD64X=y
460# CONFIG_BLK_DEV_TRIFLEX is not set
461# CONFIG_BLK_DEV_CS5520 is not set
462# CONFIG_BLK_DEV_CS5530 is not set
463# CONFIG_BLK_DEV_HPT366 is not set
464# CONFIG_BLK_DEV_JMICRON is not set
465# CONFIG_BLK_DEV_SC1200 is not set
466CONFIG_BLK_DEV_PIIX=y 56CONFIG_BLK_DEV_PIIX=y
467# CONFIG_BLK_DEV_IT8213 is not set
468# CONFIG_BLK_DEV_IT821X is not set
469# CONFIG_BLK_DEV_NS87415 is not set
470# CONFIG_BLK_DEV_PDC202XX_OLD is not set
471# CONFIG_BLK_DEV_PDC202XX_NEW is not set
472# CONFIG_BLK_DEV_SVWKS is not set
473CONFIG_BLK_DEV_SGIIOC4=y 57CONFIG_BLK_DEV_SGIIOC4=y
474# CONFIG_BLK_DEV_SIIMAGE is not set
475# CONFIG_BLK_DEV_SLC90E66 is not set
476# CONFIG_BLK_DEV_TRM290 is not set
477# CONFIG_BLK_DEV_VIA82CXXX is not set
478# CONFIG_BLK_DEV_TC86C001 is not set
479CONFIG_BLK_DEV_IDEDMA=y
480
481#
482# SCSI device support
483#
484# CONFIG_RAID_ATTRS is not set
485CONFIG_SCSI=y
486CONFIG_SCSI_DMA=y
487# CONFIG_SCSI_TGT is not set
488CONFIG_SCSI_NETLINK=y
489CONFIG_SCSI_PROC_FS=y
490
491#
492# SCSI support type (disk, tape, CD-ROM)
493#
494CONFIG_BLK_DEV_SD=y 58CONFIG_BLK_DEV_SD=y
495CONFIG_CHR_DEV_ST=m 59CONFIG_CHR_DEV_ST=m
496# CONFIG_CHR_DEV_OSST is not set
497CONFIG_BLK_DEV_SR=m 60CONFIG_BLK_DEV_SR=m
498# CONFIG_BLK_DEV_SR_VENDOR is not set
499CONFIG_CHR_DEV_SG=m 61CONFIG_CHR_DEV_SG=m
500# CONFIG_CHR_DEV_SCH is not set
501
502#
503# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
504#
505# CONFIG_SCSI_MULTI_LUN is not set
506# CONFIG_SCSI_CONSTANTS is not set
507# CONFIG_SCSI_LOGGING is not set
508# CONFIG_SCSI_SCAN_ASYNC is not set
509CONFIG_SCSI_WAIT_SCAN=m
510
511#
512# SCSI Transports
513#
514CONFIG_SCSI_SPI_ATTRS=y
515CONFIG_SCSI_FC_ATTRS=y 62CONFIG_SCSI_FC_ATTRS=y
516# CONFIG_SCSI_ISCSI_ATTRS is not set
517CONFIG_SCSI_SAS_ATTRS=y
518# CONFIG_SCSI_SAS_LIBSAS is not set
519# CONFIG_SCSI_SRP_ATTRS is not set
520CONFIG_SCSI_LOWLEVEL=y
521# CONFIG_ISCSI_TCP is not set
522# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
523# CONFIG_SCSI_3W_9XXX is not set
524# CONFIG_SCSI_ACARD is not set
525# CONFIG_SCSI_AACRAID is not set
526# CONFIG_SCSI_AIC7XXX is not set
527# CONFIG_SCSI_AIC7XXX_OLD is not set
528# CONFIG_SCSI_AIC79XX is not set
529# CONFIG_SCSI_AIC94XX is not set
530# CONFIG_SCSI_DPT_I2O is not set
531# CONFIG_SCSI_ADVANSYS is not set
532# CONFIG_SCSI_ARCMSR is not set
533# CONFIG_MEGARAID_NEWGEN is not set
534# CONFIG_MEGARAID_LEGACY is not set
535# CONFIG_MEGARAID_SAS is not set
536# CONFIG_SCSI_HPTIOP is not set
537# CONFIG_SCSI_DMX3191D is not set
538# CONFIG_SCSI_FUTURE_DOMAIN is not set
539# CONFIG_SCSI_IPS is not set
540# CONFIG_SCSI_INITIO is not set
541# CONFIG_SCSI_INIA100 is not set
542# CONFIG_SCSI_MVSAS is not set
543# CONFIG_SCSI_STEX is not set
544CONFIG_SCSI_SYM53C8XX_2=y 63CONFIG_SCSI_SYM53C8XX_2=y
545CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
546CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
547CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
548CONFIG_SCSI_SYM53C8XX_MMIO=y
549# CONFIG_SCSI_IPR is not set
550CONFIG_SCSI_QLOGIC_1280=y 64CONFIG_SCSI_QLOGIC_1280=y
551# CONFIG_SCSI_QLA_FC is not set
552# CONFIG_SCSI_QLA_ISCSI is not set
553# CONFIG_SCSI_LPFC is not set
554# CONFIG_SCSI_DC395x is not set
555# CONFIG_SCSI_DC390T is not set
556# CONFIG_SCSI_DEBUG is not set
557# CONFIG_SCSI_SRP is not set
558# CONFIG_SCSI_DH is not set
559CONFIG_ATA=y 65CONFIG_ATA=y
560CONFIG_ATA_NONSTANDARD=y
561CONFIG_ATA_ACPI=y
562CONFIG_SATA_PMP=y
563# CONFIG_SATA_AHCI is not set
564# CONFIG_SATA_SIL24 is not set
565CONFIG_ATA_SFF=y
566# CONFIG_SATA_SVW is not set
567CONFIG_ATA_PIIX=y 66CONFIG_ATA_PIIX=y
568# CONFIG_SATA_MV is not set
569# CONFIG_SATA_NV is not set
570# CONFIG_PDC_ADMA is not set
571# CONFIG_SATA_QSTOR is not set
572# CONFIG_SATA_PROMISE is not set
573# CONFIG_SATA_SX4 is not set
574# CONFIG_SATA_SIL is not set
575# CONFIG_SATA_SIS is not set
576# CONFIG_SATA_ULI is not set
577# CONFIG_SATA_VIA is not set
578CONFIG_SATA_VITESSE=y 67CONFIG_SATA_VITESSE=y
579# CONFIG_SATA_INIC162X is not set
580# CONFIG_PATA_ACPI is not set
581# CONFIG_PATA_ALI is not set
582# CONFIG_PATA_AMD is not set
583# CONFIG_PATA_ARTOP is not set
584# CONFIG_PATA_ATIIXP is not set
585# CONFIG_PATA_CMD640_PCI is not set
586# CONFIG_PATA_CMD64X is not set
587# CONFIG_PATA_CS5520 is not set
588# CONFIG_PATA_CS5530 is not set
589# CONFIG_PATA_CYPRESS is not set
590# CONFIG_PATA_EFAR is not set
591# CONFIG_ATA_GENERIC is not set
592# CONFIG_PATA_HPT366 is not set
593# CONFIG_PATA_HPT37X is not set
594# CONFIG_PATA_HPT3X2N is not set
595# CONFIG_PATA_HPT3X3 is not set
596# CONFIG_PATA_IT821X is not set
597# CONFIG_PATA_IT8213 is not set
598# CONFIG_PATA_JMICRON is not set
599# CONFIG_PATA_TRIFLEX is not set
600# CONFIG_PATA_MARVELL is not set
601# CONFIG_PATA_MPIIX is not set
602# CONFIG_PATA_OLDPIIX is not set
603# CONFIG_PATA_NETCELL is not set
604# CONFIG_PATA_NINJA32 is not set
605# CONFIG_PATA_NS87410 is not set
606# CONFIG_PATA_NS87415 is not set
607# CONFIG_PATA_OPTI is not set
608# CONFIG_PATA_OPTIDMA is not set
609# CONFIG_PATA_PDC_OLD is not set
610# CONFIG_PATA_RADISYS is not set
611# CONFIG_PATA_RZ1000 is not set
612# CONFIG_PATA_SC1200 is not set
613# CONFIG_PATA_SERVERWORKS is not set
614# CONFIG_PATA_PDC2027X is not set
615# CONFIG_PATA_SIL680 is not set
616# CONFIG_PATA_SIS is not set
617# CONFIG_PATA_VIA is not set
618# CONFIG_PATA_WINBOND is not set
619# CONFIG_PATA_SCH is not set
620CONFIG_MD=y 68CONFIG_MD=y
621CONFIG_BLK_DEV_MD=m 69CONFIG_BLK_DEV_MD=m
622CONFIG_MD_LINEAR=m 70CONFIG_MD_LINEAR=m
623CONFIG_MD_RAID0=m 71CONFIG_MD_RAID0=m
624CONFIG_MD_RAID1=m 72CONFIG_MD_RAID1=m
625# CONFIG_MD_RAID10 is not set
626# CONFIG_MD_RAID456 is not set
627CONFIG_MD_MULTIPATH=m 73CONFIG_MD_MULTIPATH=m
628# CONFIG_MD_FAULTY is not set
629CONFIG_BLK_DEV_DM=m 74CONFIG_BLK_DEV_DM=m
630# CONFIG_DM_DEBUG is not set
631CONFIG_DM_CRYPT=m 75CONFIG_DM_CRYPT=m
632CONFIG_DM_SNAPSHOT=m 76CONFIG_DM_SNAPSHOT=m
633CONFIG_DM_MIRROR=m 77CONFIG_DM_MIRROR=m
634CONFIG_DM_ZERO=m 78CONFIG_DM_ZERO=m
635CONFIG_DM_MULTIPATH=m 79CONFIG_DM_MULTIPATH=m
636# CONFIG_DM_DELAY is not set
637# CONFIG_DM_UEVENT is not set
638CONFIG_FUSION=y 80CONFIG_FUSION=y
639CONFIG_FUSION_SPI=y 81CONFIG_FUSION_SPI=y
640CONFIG_FUSION_FC=m 82CONFIG_FUSION_FC=m
641CONFIG_FUSION_SAS=y 83CONFIG_FUSION_SAS=y
642CONFIG_FUSION_MAX_SGE=128
643# CONFIG_FUSION_CTL is not set
644# CONFIG_FUSION_LOGGING is not set
645
646#
647# IEEE 1394 (FireWire) support
648#
649
650#
651# Enable only one of the two stacks, unless you know what you are doing
652#
653# CONFIG_FIREWIRE is not set
654# CONFIG_IEEE1394 is not set
655# CONFIG_I2O is not set
656CONFIG_NETDEVICES=y 84CONFIG_NETDEVICES=y
657CONFIG_DUMMY=m 85CONFIG_DUMMY=m
658# CONFIG_BONDING is not set
659# CONFIG_MACVLAN is not set
660# CONFIG_EQUALIZER is not set
661# CONFIG_TUN is not set
662# CONFIG_VETH is not set
663# CONFIG_NET_SB1000 is not set
664# CONFIG_ARCNET is not set
665CONFIG_PHYLIB=y
666
667#
668# MII PHY device drivers
669#
670# CONFIG_MARVELL_PHY is not set
671# CONFIG_DAVICOM_PHY is not set
672# CONFIG_QSEMI_PHY is not set
673# CONFIG_LXT_PHY is not set
674# CONFIG_CICADA_PHY is not set
675# CONFIG_VITESSE_PHY is not set
676# CONFIG_SMSC_PHY is not set
677# CONFIG_BROADCOM_PHY is not set
678# CONFIG_ICPLUS_PHY is not set
679# CONFIG_REALTEK_PHY is not set
680# CONFIG_FIXED_PHY is not set
681# CONFIG_MDIO_BITBANG is not set
682CONFIG_NET_ETHERNET=y 86CONFIG_NET_ETHERNET=y
683CONFIG_MII=m
684# CONFIG_HAPPYMEAL is not set
685# CONFIG_SUNGEM is not set
686# CONFIG_CASSINI is not set
687# CONFIG_NET_VENDOR_3COM is not set
688CONFIG_NET_TULIP=y 87CONFIG_NET_TULIP=y
689# CONFIG_DE2104X is not set
690CONFIG_TULIP=m 88CONFIG_TULIP=m
691# CONFIG_TULIP_MWI is not set
692# CONFIG_TULIP_MMIO is not set
693# CONFIG_TULIP_NAPI is not set
694# CONFIG_DE4X5 is not set
695# CONFIG_WINBOND_840 is not set
696# CONFIG_DM9102 is not set
697# CONFIG_ULI526X is not set
698# CONFIG_HP100 is not set
699# CONFIG_IBM_NEW_EMAC_ZMII is not set
700# CONFIG_IBM_NEW_EMAC_RGMII is not set
701# CONFIG_IBM_NEW_EMAC_TAH is not set
702# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
703# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
704# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
705# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
706CONFIG_NET_PCI=y 89CONFIG_NET_PCI=y
707# CONFIG_PCNET32 is not set
708# CONFIG_AMD8111_ETH is not set
709# CONFIG_ADAPTEC_STARFIRE is not set
710# CONFIG_B44 is not set
711# CONFIG_FORCEDETH is not set
712CONFIG_EEPRO100=m
713CONFIG_E100=m 90CONFIG_E100=m
714# CONFIG_FEALNX is not set
715# CONFIG_NATSEMI is not set
716# CONFIG_NE2K_PCI is not set
717# CONFIG_8139CP is not set
718# CONFIG_8139TOO is not set
719# CONFIG_R6040 is not set
720# CONFIG_SIS900 is not set
721# CONFIG_EPIC100 is not set
722# CONFIG_SUNDANCE is not set
723# CONFIG_TLAN is not set
724# CONFIG_VIA_RHINE is not set
725# CONFIG_SC92031 is not set
726# CONFIG_ATL2 is not set
727CONFIG_NETDEV_1000=y
728# CONFIG_ACENIC is not set
729# CONFIG_DL2K is not set
730CONFIG_E1000=y 91CONFIG_E1000=y
731# CONFIG_E1000E is not set
732# CONFIG_IP1000 is not set
733CONFIG_IGB=y 92CONFIG_IGB=y
734# CONFIG_IGB_LRO is not set
735# CONFIG_NS83820 is not set
736# CONFIG_HAMACHI is not set
737# CONFIG_YELLOWFIN is not set
738# CONFIG_R8169 is not set
739# CONFIG_SIS190 is not set
740# CONFIG_SKGE is not set
741# CONFIG_SKY2 is not set
742# CONFIG_VIA_VELOCITY is not set
743CONFIG_TIGON3=y 93CONFIG_TIGON3=y
744# CONFIG_BNX2 is not set
745# CONFIG_QLA3XXX is not set
746# CONFIG_ATL1 is not set
747# CONFIG_ATL1E is not set
748# CONFIG_JME is not set
749CONFIG_NETDEV_10000=y
750# CONFIG_CHELSIO_T1 is not set
751# CONFIG_CHELSIO_T3 is not set
752# CONFIG_ENIC is not set
753# CONFIG_IXGBE is not set
754# CONFIG_IXGB is not set
755# CONFIG_S2IO is not set
756# CONFIG_MYRI10GE is not set
757# CONFIG_NETXEN_NIC is not set
758# CONFIG_NIU is not set
759# CONFIG_MLX4_EN is not set
760# CONFIG_MLX4_CORE is not set
761# CONFIG_TEHUTI is not set
762# CONFIG_BNX2X is not set
763# CONFIG_QLGE is not set
764# CONFIG_SFC is not set
765# CONFIG_TR is not set
766
767#
768# Wireless LAN
769#
770# CONFIG_WLAN_PRE80211 is not set
771# CONFIG_WLAN_80211 is not set
772# CONFIG_IWLWIFI_LEDS is not set
773
774#
775# USB Network Adapters
776#
777# CONFIG_USB_CATC is not set
778# CONFIG_USB_KAWETH is not set
779# CONFIG_USB_PEGASUS is not set
780# CONFIG_USB_RTL8150 is not set
781# CONFIG_USB_USBNET is not set
782# CONFIG_WAN is not set
783# CONFIG_FDDI is not set
784# CONFIG_HIPPI is not set
785# CONFIG_PPP is not set
786# CONFIG_SLIP is not set
787# CONFIG_NET_FC is not set
788CONFIG_NETCONSOLE=y 94CONFIG_NETCONSOLE=y
789# CONFIG_NETCONSOLE_DYNAMIC is not set
790CONFIG_NETPOLL=y
791# CONFIG_NETPOLL_TRAP is not set
792CONFIG_NET_POLL_CONTROLLER=y
793# CONFIG_ISDN is not set
794# CONFIG_PHONE is not set
795
796#
797# Input device support
798#
799CONFIG_INPUT=y
800# CONFIG_INPUT_FF_MEMLESS is not set
801# CONFIG_INPUT_POLLDEV is not set
802
803#
804# Userland interfaces
805#
806CONFIG_INPUT_MOUSEDEV=y
807CONFIG_INPUT_MOUSEDEV_PSAUX=y
808CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
809CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
810# CONFIG_INPUT_JOYDEV is not set
811# CONFIG_INPUT_EVDEV is not set
812# CONFIG_INPUT_EVBUG is not set
813
814#
815# Input Device Drivers
816#
817CONFIG_INPUT_KEYBOARD=y
818CONFIG_KEYBOARD_ATKBD=y
819# CONFIG_KEYBOARD_SUNKBD is not set
820# CONFIG_KEYBOARD_LKKBD is not set
821# CONFIG_KEYBOARD_XTKBD is not set
822# CONFIG_KEYBOARD_NEWTON is not set
823# CONFIG_KEYBOARD_STOWAWAY is not set
824CONFIG_INPUT_MOUSE=y
825CONFIG_MOUSE_PS2=y
826CONFIG_MOUSE_PS2_ALPS=y
827CONFIG_MOUSE_PS2_LOGIPS2PP=y
828CONFIG_MOUSE_PS2_SYNAPTICS=y
829CONFIG_MOUSE_PS2_LIFEBOOK=y
830CONFIG_MOUSE_PS2_TRACKPOINT=y
831# CONFIG_MOUSE_PS2_ELANTECH is not set
832# CONFIG_MOUSE_PS2_TOUCHKIT is not set
833# CONFIG_MOUSE_SERIAL is not set
834# CONFIG_MOUSE_APPLETOUCH is not set
835# CONFIG_MOUSE_BCM5974 is not set
836# CONFIG_MOUSE_VSXXXAA is not set
837# CONFIG_INPUT_JOYSTICK is not set
838# CONFIG_INPUT_TABLET is not set
839# CONFIG_INPUT_TOUCHSCREEN is not set
840# CONFIG_INPUT_MISC is not set
841
842#
843# Hardware I/O ports
844#
845CONFIG_SERIO=y
846CONFIG_SERIO_I8042=y
847# CONFIG_SERIO_SERPORT is not set 95# CONFIG_SERIO_SERPORT is not set
848# CONFIG_SERIO_PCIPS2 is not set
849CONFIG_SERIO_LIBPS2=y
850# CONFIG_SERIO_RAW is not set
851CONFIG_GAMEPORT=m 96CONFIG_GAMEPORT=m
852# CONFIG_GAMEPORT_NS558 is not set
853# CONFIG_GAMEPORT_L4 is not set
854# CONFIG_GAMEPORT_EMU10K1 is not set
855# CONFIG_GAMEPORT_FM801 is not set
856
857#
858# Character devices
859#
860CONFIG_VT=y
861CONFIG_CONSOLE_TRANSLATIONS=y
862CONFIG_VT_CONSOLE=y
863CONFIG_HW_CONSOLE=y
864# CONFIG_VT_HW_CONSOLE_BINDING is not set
865CONFIG_DEVKMEM=y
866CONFIG_SERIAL_NONSTANDARD=y 97CONFIG_SERIAL_NONSTANDARD=y
867# CONFIG_COMPUTONE is not set
868# CONFIG_ROCKETPORT is not set
869# CONFIG_CYCLADES is not set
870# CONFIG_DIGIEPCA is not set
871# CONFIG_MOXA_INTELLIO is not set
872# CONFIG_MOXA_SMARTIO is not set
873# CONFIG_ISI is not set
874# CONFIG_SYNCLINKMP is not set
875# CONFIG_SYNCLINK_GT is not set
876# CONFIG_N_HDLC is not set
877# CONFIG_RISCOM8 is not set
878# CONFIG_SPECIALIX is not set
879# CONFIG_SX is not set
880# CONFIG_RIO is not set
881# CONFIG_STALDRV is not set
882# CONFIG_NOZOMI is not set
883CONFIG_SGI_SNSC=y 98CONFIG_SGI_SNSC=y
884CONFIG_SGI_TIOCX=y 99CONFIG_SGI_TIOCX=y
885CONFIG_SGI_MBCS=m 100CONFIG_SGI_MBCS=m
886
887#
888# Serial drivers
889#
890CONFIG_SERIAL_8250=y 101CONFIG_SERIAL_8250=y
891CONFIG_SERIAL_8250_CONSOLE=y 102CONFIG_SERIAL_8250_CONSOLE=y
892CONFIG_SERIAL_8250_PCI=y
893CONFIG_SERIAL_8250_PNP=y
894CONFIG_SERIAL_8250_NR_UARTS=6 103CONFIG_SERIAL_8250_NR_UARTS=6
895CONFIG_SERIAL_8250_RUNTIME_UARTS=4
896CONFIG_SERIAL_8250_EXTENDED=y 104CONFIG_SERIAL_8250_EXTENDED=y
897CONFIG_SERIAL_8250_SHARE_IRQ=y 105CONFIG_SERIAL_8250_SHARE_IRQ=y
898# CONFIG_SERIAL_8250_DETECT_IRQ is not set
899# CONFIG_SERIAL_8250_RSA is not set
900
901#
902# Non-8250 serial port support
903#
904CONFIG_SERIAL_CORE=y
905CONFIG_SERIAL_CORE_CONSOLE=y
906CONFIG_SERIAL_SGI_L1_CONSOLE=y 106CONFIG_SERIAL_SGI_L1_CONSOLE=y
907# CONFIG_SERIAL_JSM is not set
908CONFIG_SERIAL_SGI_IOC4=y 107CONFIG_SERIAL_SGI_IOC4=y
909# CONFIG_SERIAL_SGI_IOC3 is not set
910CONFIG_UNIX98_PTYS=y
911CONFIG_LEGACY_PTYS=y
912CONFIG_LEGACY_PTY_COUNT=256
913# CONFIG_IPMI_HANDLER is not set
914# CONFIG_HW_RANDOM is not set 108# CONFIG_HW_RANDOM is not set
915CONFIG_EFI_RTC=y 109CONFIG_EFI_RTC=y
916# CONFIG_R3964 is not set
917# CONFIG_APPLICOM is not set
918CONFIG_RAW_DRIVER=m 110CONFIG_RAW_DRIVER=m
919CONFIG_MAX_RAW_DEVS=256
920CONFIG_HPET=y 111CONFIG_HPET=y
921CONFIG_HPET_MMAP=y
922# CONFIG_HANGCHECK_TIMER is not set
923CONFIG_MMTIMER=y
924# CONFIG_TCG_TPM is not set
925CONFIG_DEVPORT=y
926# CONFIG_I2C is not set
927# CONFIG_SPI is not set
928# CONFIG_W1 is not set
929CONFIG_POWER_SUPPLY=y
930# CONFIG_POWER_SUPPLY_DEBUG is not set
931# CONFIG_PDA_POWER is not set
932# CONFIG_BATTERY_DS2760 is not set
933CONFIG_HWMON=y
934# CONFIG_HWMON_VID is not set
935# CONFIG_SENSORS_I5K_AMB is not set
936# CONFIG_SENSORS_F71805F is not set
937# CONFIG_SENSORS_F71882FG is not set
938# CONFIG_SENSORS_IT87 is not set
939# CONFIG_SENSORS_PC87360 is not set
940# CONFIG_SENSORS_PC87427 is not set
941# CONFIG_SENSORS_SIS5595 is not set
942# CONFIG_SENSORS_SMSC47M1 is not set
943# CONFIG_SENSORS_SMSC47B397 is not set
944# CONFIG_SENSORS_VIA686A is not set
945# CONFIG_SENSORS_VT1211 is not set
946# CONFIG_SENSORS_VT8231 is not set
947# CONFIG_SENSORS_W83627HF is not set
948# CONFIG_SENSORS_W83627EHF is not set
949# CONFIG_SENSORS_LIS3LV02D is not set
950# CONFIG_HWMON_DEBUG_CHIP is not set
951CONFIG_THERMAL=m
952# CONFIG_THERMAL_HWMON is not set
953# CONFIG_WATCHDOG is not set
954CONFIG_SSB_POSSIBLE=y
955
956#
957# Sonics Silicon Backplane
958#
959# CONFIG_SSB is not set
960
961#
962# Multifunction device drivers
963#
964# CONFIG_MFD_CORE is not set
965# CONFIG_MFD_SM501 is not set
966# CONFIG_HTC_PASIC3 is not set
967# CONFIG_MFD_TMIO is not set
968# CONFIG_REGULATOR is not set
969
970#
971# Multimedia devices
972#
973
974#
975# Multimedia core support
976#
977# CONFIG_VIDEO_DEV is not set
978# CONFIG_DVB_CORE is not set
979# CONFIG_VIDEO_MEDIA is not set
980
981#
982# Multimedia drivers
983#
984CONFIG_DAB=y
985# CONFIG_USB_DABUSB is not set
986
987#
988# Graphics support
989#
990CONFIG_AGP=m 112CONFIG_AGP=m
991CONFIG_AGP_I460=m 113CONFIG_AGP_I460=m
992CONFIG_AGP_HP_ZX1=m 114CONFIG_AGP_HP_ZX1=m
@@ -997,461 +119,73 @@ CONFIG_DRM_R128=m
997CONFIG_DRM_RADEON=m 119CONFIG_DRM_RADEON=m
998CONFIG_DRM_MGA=m 120CONFIG_DRM_MGA=m
999CONFIG_DRM_SIS=m 121CONFIG_DRM_SIS=m
1000# CONFIG_DRM_VIA is not set
1001# CONFIG_DRM_SAVAGE is not set
1002# CONFIG_VGASTATE is not set
1003# CONFIG_VIDEO_OUTPUT_CONTROL is not set
1004# CONFIG_FB is not set
1005# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
1006
1007#
1008# Display device support
1009#
1010# CONFIG_DISPLAY_SUPPORT is not set
1011
1012#
1013# Console display driver support
1014#
1015CONFIG_VGA_CONSOLE=y
1016# CONFIG_VGACON_SOFT_SCROLLBACK is not set
1017CONFIG_DUMMY_CONSOLE=y
1018CONFIG_SOUND=m 122CONFIG_SOUND=m
1019CONFIG_SOUND_OSS_CORE=y
1020CONFIG_SND=m 123CONFIG_SND=m
1021CONFIG_SND_TIMER=m
1022CONFIG_SND_PCM=m
1023CONFIG_SND_HWDEP=m
1024CONFIG_SND_RAWMIDI=m
1025CONFIG_SND_SEQUENCER=m 124CONFIG_SND_SEQUENCER=m
1026CONFIG_SND_SEQ_DUMMY=m 125CONFIG_SND_SEQ_DUMMY=m
1027CONFIG_SND_OSSEMUL=y
1028CONFIG_SND_MIXER_OSS=m 126CONFIG_SND_MIXER_OSS=m
1029CONFIG_SND_PCM_OSS=m 127CONFIG_SND_PCM_OSS=m
1030CONFIG_SND_PCM_OSS_PLUGINS=y
1031CONFIG_SND_SEQUENCER_OSS=y 128CONFIG_SND_SEQUENCER_OSS=y
1032# CONFIG_SND_DYNAMIC_MINORS is not set
1033CONFIG_SND_SUPPORT_OLD_API=y
1034CONFIG_SND_VERBOSE_PROCFS=y
1035CONFIG_SND_VERBOSE_PRINTK=y 129CONFIG_SND_VERBOSE_PRINTK=y
1036# CONFIG_SND_DEBUG is not set
1037CONFIG_SND_VMASTER=y
1038CONFIG_SND_MPU401_UART=m
1039CONFIG_SND_OPL3_LIB=m
1040CONFIG_SND_AC97_CODEC=m
1041CONFIG_SND_DRIVERS=y
1042CONFIG_SND_DUMMY=m 130CONFIG_SND_DUMMY=m
1043CONFIG_SND_VIRMIDI=m 131CONFIG_SND_VIRMIDI=m
1044CONFIG_SND_MTPAV=m 132CONFIG_SND_MTPAV=m
1045CONFIG_SND_SERIAL_U16550=m 133CONFIG_SND_SERIAL_U16550=m
1046CONFIG_SND_MPU401=m 134CONFIG_SND_MPU401=m
1047# CONFIG_SND_AC97_POWER_SAVE is not set
1048CONFIG_SND_PCI=y
1049# CONFIG_SND_AD1889 is not set
1050# CONFIG_SND_ALS300 is not set
1051# CONFIG_SND_ALI5451 is not set
1052# CONFIG_SND_ATIIXP is not set
1053# CONFIG_SND_ATIIXP_MODEM is not set
1054# CONFIG_SND_AU8810 is not set
1055# CONFIG_SND_AU8820 is not set
1056# CONFIG_SND_AU8830 is not set
1057# CONFIG_SND_AW2 is not set
1058# CONFIG_SND_AZT3328 is not set
1059# CONFIG_SND_BT87X is not set
1060# CONFIG_SND_CA0106 is not set
1061# CONFIG_SND_CMIPCI is not set
1062# CONFIG_SND_OXYGEN is not set
1063CONFIG_SND_CS4281=m 135CONFIG_SND_CS4281=m
1064CONFIG_SND_CS46XX=m 136CONFIG_SND_CS46XX=m
1065CONFIG_SND_CS46XX_NEW_DSP=y
1066# CONFIG_SND_DARLA20 is not set
1067# CONFIG_SND_GINA20 is not set
1068# CONFIG_SND_LAYLA20 is not set
1069# CONFIG_SND_DARLA24 is not set
1070# CONFIG_SND_GINA24 is not set
1071# CONFIG_SND_LAYLA24 is not set
1072# CONFIG_SND_MONA is not set
1073# CONFIG_SND_MIA is not set
1074# CONFIG_SND_ECHO3G is not set
1075# CONFIG_SND_INDIGO is not set
1076# CONFIG_SND_INDIGOIO is not set
1077# CONFIG_SND_INDIGODJ is not set
1078CONFIG_SND_EMU10K1=m 137CONFIG_SND_EMU10K1=m
1079# CONFIG_SND_EMU10K1X is not set
1080# CONFIG_SND_ENS1370 is not set
1081# CONFIG_SND_ENS1371 is not set
1082# CONFIG_SND_ES1938 is not set
1083# CONFIG_SND_ES1968 is not set
1084CONFIG_SND_FM801=m 138CONFIG_SND_FM801=m
1085# CONFIG_SND_HDA_INTEL is not set
1086# CONFIG_SND_HDSP is not set
1087# CONFIG_SND_HDSPM is not set
1088# CONFIG_SND_HIFIER is not set
1089# CONFIG_SND_ICE1712 is not set
1090# CONFIG_SND_ICE1724 is not set
1091# CONFIG_SND_INTEL8X0 is not set
1092# CONFIG_SND_INTEL8X0M is not set
1093# CONFIG_SND_KORG1212 is not set
1094# CONFIG_SND_MAESTRO3 is not set
1095# CONFIG_SND_MIXART is not set
1096# CONFIG_SND_NM256 is not set
1097# CONFIG_SND_PCXHR is not set
1098# CONFIG_SND_RIPTIDE is not set
1099# CONFIG_SND_RME32 is not set
1100# CONFIG_SND_RME96 is not set
1101# CONFIG_SND_RME9652 is not set
1102# CONFIG_SND_SONICVIBES is not set
1103# CONFIG_SND_TRIDENT is not set
1104# CONFIG_SND_VIA82XX is not set
1105# CONFIG_SND_VIA82XX_MODEM is not set
1106# CONFIG_SND_VIRTUOSO is not set
1107# CONFIG_SND_VX222 is not set
1108# CONFIG_SND_YMFPCI is not set
1109CONFIG_SND_USB=y
1110# CONFIG_SND_USB_AUDIO is not set
1111# CONFIG_SND_USB_CAIAQ is not set
1112# CONFIG_SND_SOC is not set
1113# CONFIG_SOUND_PRIME is not set
1114CONFIG_AC97_BUS=m
1115CONFIG_HID_SUPPORT=y
1116CONFIG_HID=y
1117# CONFIG_HID_DEBUG is not set
1118# CONFIG_HIDRAW is not set
1119
1120#
1121# USB Input Devices
1122#
1123CONFIG_USB_HID=m
1124# CONFIG_HID_PID is not set
1125# CONFIG_USB_HIDDEV is not set
1126
1127#
1128# USB HID Boot Protocol drivers
1129#
1130# CONFIG_USB_KBD is not set
1131# CONFIG_USB_MOUSE is not set
1132
1133#
1134# Special HID drivers
1135#
1136CONFIG_HID_COMPAT=y
1137CONFIG_HID_A4TECH=m
1138CONFIG_HID_APPLE=m
1139CONFIG_HID_BELKIN=m
1140CONFIG_HID_BRIGHT=m
1141CONFIG_HID_CHERRY=m
1142CONFIG_HID_CHICONY=m
1143CONFIG_HID_CYPRESS=m
1144CONFIG_HID_DELL=m
1145CONFIG_HID_EZKEY=m
1146CONFIG_HID_GYRATION=m 139CONFIG_HID_GYRATION=m
1147CONFIG_HID_LOGITECH=m
1148# CONFIG_LOGITECH_FF is not set
1149# CONFIG_LOGIRUMBLEPAD2_FF is not set
1150CONFIG_HID_MICROSOFT=m
1151CONFIG_HID_MONTEREY=m
1152CONFIG_HID_PANTHERLORD=m 140CONFIG_HID_PANTHERLORD=m
1153# CONFIG_PANTHERLORD_FF is not set
1154CONFIG_HID_PETALYNX=m 141CONFIG_HID_PETALYNX=m
1155CONFIG_HID_SAMSUNG=m 142CONFIG_HID_SAMSUNG=m
1156CONFIG_HID_SONY=m 143CONFIG_HID_SONY=m
1157CONFIG_HID_SUNPLUS=m 144CONFIG_HID_SUNPLUS=m
1158# CONFIG_THRUSTMASTER_FF is not set
1159# CONFIG_ZEROPLUS_FF is not set
1160CONFIG_USB_SUPPORT=y
1161CONFIG_USB_ARCH_HAS_HCD=y
1162CONFIG_USB_ARCH_HAS_OHCI=y
1163CONFIG_USB_ARCH_HAS_EHCI=y
1164CONFIG_USB=m 145CONFIG_USB=m
1165# CONFIG_USB_DEBUG is not set
1166# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1167
1168#
1169# Miscellaneous USB options
1170#
1171CONFIG_USB_DEVICEFS=y 146CONFIG_USB_DEVICEFS=y
1172CONFIG_USB_DEVICE_CLASS=y 147CONFIG_USB_MON=m
1173# CONFIG_USB_DYNAMIC_MINORS is not set
1174# CONFIG_USB_SUSPEND is not set
1175# CONFIG_USB_OTG is not set
1176CONFIG_USB_MON=y
1177# CONFIG_USB_WUSB is not set
1178# CONFIG_USB_WUSB_CBAF is not set
1179
1180#
1181# USB Host Controller Drivers
1182#
1183# CONFIG_USB_C67X00_HCD is not set
1184CONFIG_USB_EHCI_HCD=m 148CONFIG_USB_EHCI_HCD=m
1185# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1186# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1187# CONFIG_USB_ISP116X_HCD is not set
1188# CONFIG_USB_ISP1760_HCD is not set
1189CONFIG_USB_OHCI_HCD=m 149CONFIG_USB_OHCI_HCD=m
1190# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
1191# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
1192CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1193CONFIG_USB_UHCI_HCD=m 150CONFIG_USB_UHCI_HCD=m
1194# CONFIG_USB_SL811_HCD is not set
1195# CONFIG_USB_R8A66597_HCD is not set
1196# CONFIG_USB_WHCI_HCD is not set
1197# CONFIG_USB_HWA_HCD is not set
1198
1199#
1200# Enable Host or Gadget support to see Inventra options
1201#
1202
1203#
1204# USB Device Class drivers
1205#
1206# CONFIG_USB_ACM is not set
1207# CONFIG_USB_PRINTER is not set
1208# CONFIG_USB_WDM is not set
1209# CONFIG_USB_TMC is not set
1210
1211#
1212# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
1213#
1214
1215#
1216# see USB_STORAGE Help for more information
1217#
1218CONFIG_USB_STORAGE=m 151CONFIG_USB_STORAGE=m
1219# CONFIG_USB_STORAGE_DEBUG is not set
1220# CONFIG_USB_STORAGE_DATAFAB is not set
1221# CONFIG_USB_STORAGE_FREECOM is not set
1222# CONFIG_USB_STORAGE_ISD200 is not set
1223# CONFIG_USB_STORAGE_DPCM is not set
1224# CONFIG_USB_STORAGE_USBAT is not set
1225# CONFIG_USB_STORAGE_SDDR09 is not set
1226# CONFIG_USB_STORAGE_SDDR55 is not set
1227# CONFIG_USB_STORAGE_JUMPSHOT is not set
1228# CONFIG_USB_STORAGE_ALAUDA is not set
1229# CONFIG_USB_STORAGE_ONETOUCH is not set
1230# CONFIG_USB_STORAGE_KARMA is not set
1231# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1232# CONFIG_USB_LIBUSUAL is not set
1233
1234#
1235# USB Imaging devices
1236#
1237# CONFIG_USB_MDC800 is not set
1238# CONFIG_USB_MICROTEK is not set
1239
1240#
1241# USB port drivers
1242#
1243# CONFIG_USB_SERIAL is not set
1244
1245#
1246# USB Miscellaneous drivers
1247#
1248# CONFIG_USB_EMI62 is not set
1249# CONFIG_USB_EMI26 is not set
1250# CONFIG_USB_ADUTUX is not set
1251# CONFIG_USB_SEVSEG is not set
1252# CONFIG_USB_RIO500 is not set
1253# CONFIG_USB_LEGOTOWER is not set
1254# CONFIG_USB_LCD is not set
1255# CONFIG_USB_BERRY_CHARGE is not set
1256# CONFIG_USB_LED is not set
1257# CONFIG_USB_CYPRESS_CY7C63 is not set
1258# CONFIG_USB_CYTHERM is not set
1259# CONFIG_USB_PHIDGET is not set
1260# CONFIG_USB_IDMOUSE is not set
1261# CONFIG_USB_FTDI_ELAN is not set
1262# CONFIG_USB_APPLEDISPLAY is not set
1263# CONFIG_USB_SISUSBVGA is not set
1264# CONFIG_USB_LD is not set
1265# CONFIG_USB_TRANCEVIBRATOR is not set
1266# CONFIG_USB_IOWARRIOR is not set
1267# CONFIG_USB_TEST is not set
1268# CONFIG_USB_ISIGHTFW is not set
1269# CONFIG_USB_VST is not set
1270# CONFIG_USB_GADGET is not set
1271# CONFIG_UWB is not set
1272# CONFIG_MMC is not set
1273# CONFIG_MEMSTICK is not set
1274# CONFIG_NEW_LEDS is not set
1275# CONFIG_ACCESSIBILITY is not set
1276CONFIG_INFINIBAND=m 152CONFIG_INFINIBAND=m
1277# CONFIG_INFINIBAND_USER_MAD is not set
1278# CONFIG_INFINIBAND_USER_ACCESS is not set
1279CONFIG_INFINIBAND_ADDR_TRANS=y
1280CONFIG_INFINIBAND_MTHCA=m 153CONFIG_INFINIBAND_MTHCA=m
1281CONFIG_INFINIBAND_MTHCA_DEBUG=y
1282# CONFIG_INFINIBAND_IPATH is not set
1283# CONFIG_INFINIBAND_AMSO1100 is not set
1284# CONFIG_MLX4_INFINIBAND is not set
1285# CONFIG_INFINIBAND_NES is not set
1286CONFIG_INFINIBAND_IPOIB=m 154CONFIG_INFINIBAND_IPOIB=m
1287# CONFIG_INFINIBAND_IPOIB_CM is not set
1288CONFIG_INFINIBAND_IPOIB_DEBUG=y
1289# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
1290# CONFIG_INFINIBAND_SRP is not set
1291# CONFIG_INFINIBAND_ISER is not set
1292# CONFIG_RTC_CLASS is not set
1293# CONFIG_DMADEVICES is not set
1294# CONFIG_UIO is not set
1295# CONFIG_STAGING is not set
1296CONFIG_STAGING_EXCLUDE_BUILD=y
1297
1298#
1299# HP Simulator drivers
1300#
1301# CONFIG_HP_SIMETH is not set
1302# CONFIG_HP_SIMSERIAL is not set
1303# CONFIG_HP_SIMSCSI is not set
1304CONFIG_MSPEC=m 155CONFIG_MSPEC=m
1305
1306#
1307# File systems
1308#
1309CONFIG_EXT2_FS=y 156CONFIG_EXT2_FS=y
1310CONFIG_EXT2_FS_XATTR=y 157CONFIG_EXT2_FS_XATTR=y
1311CONFIG_EXT2_FS_POSIX_ACL=y 158CONFIG_EXT2_FS_POSIX_ACL=y
1312CONFIG_EXT2_FS_SECURITY=y 159CONFIG_EXT2_FS_SECURITY=y
1313# CONFIG_EXT2_FS_XIP is not set
1314CONFIG_EXT3_FS=y 160CONFIG_EXT3_FS=y
1315CONFIG_EXT3_FS_XATTR=y
1316CONFIG_EXT3_FS_POSIX_ACL=y 161CONFIG_EXT3_FS_POSIX_ACL=y
1317CONFIG_EXT3_FS_SECURITY=y 162CONFIG_EXT3_FS_SECURITY=y
1318# CONFIG_EXT4_FS is not set
1319CONFIG_JBD=y
1320CONFIG_FS_MBCACHE=y
1321CONFIG_REISERFS_FS=y 163CONFIG_REISERFS_FS=y
1322# CONFIG_REISERFS_CHECK is not set
1323# CONFIG_REISERFS_PROC_INFO is not set
1324CONFIG_REISERFS_FS_XATTR=y 164CONFIG_REISERFS_FS_XATTR=y
1325CONFIG_REISERFS_FS_POSIX_ACL=y 165CONFIG_REISERFS_FS_POSIX_ACL=y
1326CONFIG_REISERFS_FS_SECURITY=y 166CONFIG_REISERFS_FS_SECURITY=y
1327# CONFIG_JFS_FS is not set
1328CONFIG_FS_POSIX_ACL=y
1329CONFIG_FILE_LOCKING=y
1330CONFIG_XFS_FS=y 167CONFIG_XFS_FS=y
1331# CONFIG_XFS_QUOTA is not set
1332# CONFIG_XFS_POSIX_ACL is not set
1333# CONFIG_XFS_RT is not set
1334# CONFIG_XFS_DEBUG is not set
1335# CONFIG_GFS2_FS is not set
1336# CONFIG_OCFS2_FS is not set
1337CONFIG_DNOTIFY=y
1338CONFIG_INOTIFY=y
1339CONFIG_INOTIFY_USER=y
1340# CONFIG_QUOTA is not set
1341CONFIG_AUTOFS_FS=m 168CONFIG_AUTOFS_FS=m
1342CONFIG_AUTOFS4_FS=m 169CONFIG_AUTOFS4_FS=m
1343# CONFIG_FUSE_FS is not set
1344
1345#
1346# CD-ROM/DVD Filesystems
1347#
1348CONFIG_ISO9660_FS=m 170CONFIG_ISO9660_FS=m
1349CONFIG_JOLIET=y 171CONFIG_JOLIET=y
1350# CONFIG_ZISOFS is not set
1351CONFIG_UDF_FS=m 172CONFIG_UDF_FS=m
1352CONFIG_UDF_NLS=y
1353
1354#
1355# DOS/FAT/NT Filesystems
1356#
1357CONFIG_FAT_FS=y
1358# CONFIG_MSDOS_FS is not set
1359CONFIG_VFAT_FS=y 173CONFIG_VFAT_FS=y
1360CONFIG_FAT_DEFAULT_CODEPAGE=437
1361CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1362CONFIG_NTFS_FS=m 174CONFIG_NTFS_FS=m
1363# CONFIG_NTFS_DEBUG is not set
1364# CONFIG_NTFS_RW is not set
1365
1366#
1367# Pseudo filesystems
1368#
1369CONFIG_PROC_FS=y
1370CONFIG_PROC_KCORE=y 175CONFIG_PROC_KCORE=y
1371CONFIG_PROC_VMCORE=y
1372CONFIG_PROC_SYSCTL=y
1373CONFIG_PROC_PAGE_MONITOR=y
1374CONFIG_SYSFS=y
1375CONFIG_TMPFS=y 176CONFIG_TMPFS=y
1376# CONFIG_TMPFS_POSIX_ACL is not set
1377CONFIG_HUGETLBFS=y 177CONFIG_HUGETLBFS=y
1378CONFIG_HUGETLB_PAGE=y
1379# CONFIG_CONFIGFS_FS is not set
1380
1381#
1382# Miscellaneous filesystems
1383#
1384# CONFIG_ADFS_FS is not set
1385# CONFIG_AFFS_FS is not set
1386# CONFIG_HFS_FS is not set
1387# CONFIG_HFSPLUS_FS is not set
1388# CONFIG_BEFS_FS is not set
1389# CONFIG_BFS_FS is not set
1390# CONFIG_EFS_FS is not set
1391# CONFIG_CRAMFS is not set
1392# CONFIG_VXFS_FS is not set
1393# CONFIG_MINIX_FS is not set
1394# CONFIG_OMFS_FS is not set
1395# CONFIG_HPFS_FS is not set
1396# CONFIG_QNX4FS_FS is not set
1397# CONFIG_ROMFS_FS is not set
1398# CONFIG_SYSV_FS is not set
1399# CONFIG_UFS_FS is not set
1400CONFIG_NETWORK_FILESYSTEMS=y
1401CONFIG_NFS_FS=m 178CONFIG_NFS_FS=m
1402CONFIG_NFS_V3=y 179CONFIG_NFS_V3=y
1403# CONFIG_NFS_V3_ACL is not set
1404CONFIG_NFS_V4=y 180CONFIG_NFS_V4=y
1405CONFIG_NFSD=m 181CONFIG_NFSD=m
1406CONFIG_NFSD_V3=y
1407# CONFIG_NFSD_V3_ACL is not set
1408CONFIG_NFSD_V4=y 182CONFIG_NFSD_V4=y
1409CONFIG_LOCKD=m
1410CONFIG_LOCKD_V4=y
1411CONFIG_EXPORTFS=m
1412CONFIG_NFS_COMMON=y
1413CONFIG_SUNRPC=m
1414CONFIG_SUNRPC_GSS=m
1415CONFIG_SUNRPC_XPRT_RDMA=m
1416# CONFIG_SUNRPC_REGISTER_V4 is not set
1417CONFIG_RPCSEC_GSS_KRB5=m
1418# CONFIG_RPCSEC_GSS_SPKM3 is not set
1419CONFIG_SMB_FS=m 183CONFIG_SMB_FS=m
1420CONFIG_SMB_NLS_DEFAULT=y 184CONFIG_SMB_NLS_DEFAULT=y
1421CONFIG_SMB_NLS_REMOTE="cp437"
1422CONFIG_CIFS=m 185CONFIG_CIFS=m
1423# CONFIG_CIFS_STATS is not set
1424# CONFIG_CIFS_WEAK_PW_HASH is not set
1425# CONFIG_CIFS_XATTR is not set
1426# CONFIG_CIFS_DEBUG2 is not set
1427# CONFIG_CIFS_EXPERIMENTAL is not set
1428# CONFIG_NCP_FS is not set
1429# CONFIG_CODA_FS is not set
1430# CONFIG_AFS_FS is not set
1431
1432#
1433# Partition Types
1434#
1435CONFIG_PARTITION_ADVANCED=y 186CONFIG_PARTITION_ADVANCED=y
1436# CONFIG_ACORN_PARTITION is not set
1437# CONFIG_OSF_PARTITION is not set
1438# CONFIG_AMIGA_PARTITION is not set
1439# CONFIG_ATARI_PARTITION is not set
1440# CONFIG_MAC_PARTITION is not set
1441CONFIG_MSDOS_PARTITION=y
1442# CONFIG_BSD_DISKLABEL is not set
1443# CONFIG_MINIX_SUBPARTITION is not set
1444# CONFIG_SOLARIS_X86_PARTITION is not set
1445# CONFIG_UNIXWARE_DISKLABEL is not set
1446# CONFIG_LDM_PARTITION is not set
1447CONFIG_SGI_PARTITION=y 187CONFIG_SGI_PARTITION=y
1448# CONFIG_ULTRIX_PARTITION is not set
1449# CONFIG_SUN_PARTITION is not set
1450# CONFIG_KARMA_PARTITION is not set
1451CONFIG_EFI_PARTITION=y 188CONFIG_EFI_PARTITION=y
1452# CONFIG_SYSV68_PARTITION is not set
1453CONFIG_NLS=y
1454CONFIG_NLS_DEFAULT="iso8859-1"
1455CONFIG_NLS_CODEPAGE_437=y 189CONFIG_NLS_CODEPAGE_437=y
1456CONFIG_NLS_CODEPAGE_737=m 190CONFIG_NLS_CODEPAGE_737=m
1457CONFIG_NLS_CODEPAGE_775=m 191CONFIG_NLS_CODEPAGE_775=m
@@ -1475,7 +209,6 @@ CONFIG_NLS_CODEPAGE_874=m
1475CONFIG_NLS_ISO8859_8=m 209CONFIG_NLS_ISO8859_8=m
1476CONFIG_NLS_CODEPAGE_1250=m 210CONFIG_NLS_CODEPAGE_1250=m
1477CONFIG_NLS_CODEPAGE_1251=m 211CONFIG_NLS_CODEPAGE_1251=m
1478# CONFIG_NLS_ASCII is not set
1479CONFIG_NLS_ISO8859_1=y 212CONFIG_NLS_ISO8859_1=y
1480CONFIG_NLS_ISO8859_2=m 213CONFIG_NLS_ISO8859_2=m
1481CONFIG_NLS_ISO8859_3=m 214CONFIG_NLS_ISO8859_3=m
@@ -1490,187 +223,13 @@ CONFIG_NLS_ISO8859_15=m
1490CONFIG_NLS_KOI8_R=m 223CONFIG_NLS_KOI8_R=m
1491CONFIG_NLS_KOI8_U=m 224CONFIG_NLS_KOI8_U=m
1492CONFIG_NLS_UTF8=m 225CONFIG_NLS_UTF8=m
1493# CONFIG_DLM is not set
1494
1495#
1496# Kernel hacking
1497#
1498# CONFIG_PRINTK_TIME is not set
1499CONFIG_ENABLE_WARN_DEPRECATED=y
1500CONFIG_ENABLE_MUST_CHECK=y
1501CONFIG_FRAME_WARN=2048
1502CONFIG_MAGIC_SYSRQ=y 226CONFIG_MAGIC_SYSRQ=y
1503# CONFIG_UNUSED_SYMBOLS is not set
1504# CONFIG_DEBUG_FS is not set
1505# CONFIG_HEADERS_CHECK is not set
1506CONFIG_DEBUG_KERNEL=y 227CONFIG_DEBUG_KERNEL=y
1507# CONFIG_DEBUG_SHIRQ is not set
1508CONFIG_DETECT_SOFTLOCKUP=y
1509# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1510CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1511CONFIG_SCHED_DEBUG=y
1512# CONFIG_SCHEDSTATS is not set
1513# CONFIG_TIMER_STATS is not set
1514# CONFIG_DEBUG_OBJECTS is not set
1515# CONFIG_SLUB_DEBUG_ON is not set
1516# CONFIG_SLUB_STATS is not set
1517# CONFIG_DEBUG_RT_MUTEXES is not set
1518# CONFIG_RT_MUTEX_TESTER is not set
1519# CONFIG_DEBUG_SPINLOCK is not set
1520CONFIG_DEBUG_MUTEXES=y 228CONFIG_DEBUG_MUTEXES=y
1521# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1522# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1523# CONFIG_DEBUG_KOBJECT is not set
1524# CONFIG_DEBUG_INFO is not set
1525# CONFIG_DEBUG_VM is not set
1526# CONFIG_DEBUG_WRITECOUNT is not set
1527CONFIG_DEBUG_MEMORY_INIT=y
1528# CONFIG_DEBUG_LIST is not set
1529# CONFIG_DEBUG_SG is not set
1530# CONFIG_BOOT_PRINTK_DELAY is not set
1531# CONFIG_RCU_TORTURE_TEST is not set
1532# CONFIG_RCU_CPU_STALL_DETECTOR is not set 229# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1533# CONFIG_BACKTRACE_SELF_TEST is not set
1534# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1535# CONFIG_FAULT_INJECTION is not set
1536CONFIG_SYSCTL_SYSCALL_CHECK=y 230CONFIG_SYSCTL_SYSCALL_CHECK=y
1537
1538#
1539# Tracers
1540#
1541# CONFIG_SCHED_TRACER is not set
1542# CONFIG_CONTEXT_SWITCH_TRACER is not set
1543# CONFIG_BOOT_TRACER is not set
1544# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1545# CONFIG_SAMPLES is not set
1546CONFIG_IA64_GRANULE_16MB=y
1547# CONFIG_IA64_GRANULE_64MB is not set
1548# CONFIG_IA64_PRINT_HAZARDS is not set
1549# CONFIG_DISABLE_VHPT is not set
1550# CONFIG_IA64_DEBUG_CMPXCHG is not set
1551# CONFIG_IA64_DEBUG_IRQ is not set
1552CONFIG_SYSVIPC_COMPAT=y
1553
1554#
1555# Security options
1556#
1557# CONFIG_KEYS is not set
1558# CONFIG_SECURITY is not set
1559# CONFIG_SECURITYFS is not set
1560# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1561CONFIG_CRYPTO=y
1562
1563#
1564# Crypto core or helper
1565#
1566# CONFIG_CRYPTO_FIPS is not set
1567CONFIG_CRYPTO_ALGAPI=y
1568CONFIG_CRYPTO_AEAD=m
1569CONFIG_CRYPTO_BLKCIPHER=m
1570CONFIG_CRYPTO_HASH=m
1571CONFIG_CRYPTO_RNG=m
1572CONFIG_CRYPTO_MANAGER=m
1573# CONFIG_CRYPTO_GF128MUL is not set
1574# CONFIG_CRYPTO_NULL is not set
1575# CONFIG_CRYPTO_CRYPTD is not set
1576# CONFIG_CRYPTO_AUTHENC is not set
1577# CONFIG_CRYPTO_TEST is not set
1578
1579#
1580# Authenticated Encryption with Associated Data
1581#
1582# CONFIG_CRYPTO_CCM is not set
1583# CONFIG_CRYPTO_GCM is not set
1584# CONFIG_CRYPTO_SEQIV is not set
1585
1586#
1587# Block modes
1588#
1589CONFIG_CRYPTO_CBC=m
1590# CONFIG_CRYPTO_CTR is not set
1591# CONFIG_CRYPTO_CTS is not set
1592CONFIG_CRYPTO_ECB=m 231CONFIG_CRYPTO_ECB=m
1593# CONFIG_CRYPTO_LRW is not set
1594CONFIG_CRYPTO_PCBC=m 232CONFIG_CRYPTO_PCBC=m
1595# CONFIG_CRYPTO_XTS is not set
1596
1597#
1598# Hash modes
1599#
1600# CONFIG_CRYPTO_HMAC is not set
1601# CONFIG_CRYPTO_XCBC is not set
1602
1603#
1604# Digest
1605#
1606# CONFIG_CRYPTO_CRC32C is not set
1607# CONFIG_CRYPTO_MD4 is not set
1608CONFIG_CRYPTO_MD5=y 233CONFIG_CRYPTO_MD5=y
1609# CONFIG_CRYPTO_MICHAEL_MIC is not set
1610# CONFIG_CRYPTO_RMD128 is not set
1611# CONFIG_CRYPTO_RMD160 is not set
1612# CONFIG_CRYPTO_RMD256 is not set
1613# CONFIG_CRYPTO_RMD320 is not set
1614# CONFIG_CRYPTO_SHA1 is not set
1615# CONFIG_CRYPTO_SHA256 is not set
1616# CONFIG_CRYPTO_SHA512 is not set
1617# CONFIG_CRYPTO_TGR192 is not set
1618# CONFIG_CRYPTO_WP512 is not set
1619
1620#
1621# Ciphers
1622#
1623# CONFIG_CRYPTO_AES is not set
1624# CONFIG_CRYPTO_ANUBIS is not set
1625# CONFIG_CRYPTO_ARC4 is not set
1626# CONFIG_CRYPTO_BLOWFISH is not set
1627# CONFIG_CRYPTO_CAMELLIA is not set
1628# CONFIG_CRYPTO_CAST5 is not set
1629# CONFIG_CRYPTO_CAST6 is not set
1630CONFIG_CRYPTO_DES=m
1631# CONFIG_CRYPTO_FCRYPT is not set
1632# CONFIG_CRYPTO_KHAZAD is not set
1633# CONFIG_CRYPTO_SALSA20 is not set
1634# CONFIG_CRYPTO_SEED is not set
1635# CONFIG_CRYPTO_SERPENT is not set
1636# CONFIG_CRYPTO_TEA is not set
1637# CONFIG_CRYPTO_TWOFISH is not set
1638
1639#
1640# Compression
1641#
1642# CONFIG_CRYPTO_DEFLATE is not set
1643# CONFIG_CRYPTO_LZO is not set
1644
1645#
1646# Random Number Generation
1647#
1648# CONFIG_CRYPTO_ANSI_CPRNG is not set 234# CONFIG_CRYPTO_ANSI_CPRNG is not set
1649CONFIG_CRYPTO_HW=y
1650# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1651CONFIG_HAVE_KVM=y
1652CONFIG_VIRTUALIZATION=y
1653# CONFIG_KVM is not set
1654# CONFIG_VIRTIO_PCI is not set
1655# CONFIG_VIRTIO_BALLOON is not set
1656
1657#
1658# Library routines
1659#
1660CONFIG_BITREVERSE=y
1661# CONFIG_CRC_CCITT is not set
1662# CONFIG_CRC16 is not set
1663CONFIG_CRC_T10DIF=y 235CONFIG_CRC_T10DIF=y
1664CONFIG_CRC_ITU_T=m
1665CONFIG_CRC32=y
1666# CONFIG_CRC7 is not set
1667# CONFIG_LIBCRC32C is not set
1668CONFIG_GENERIC_ALLOCATOR=y
1669CONFIG_PLIST=y
1670CONFIG_HAS_IOMEM=y
1671CONFIG_HAS_IOPORT=y
1672CONFIG_HAS_DMA=y
1673CONFIG_GENERIC_HARDIRQS=y
1674CONFIG_GENERIC_IRQ_PROBE=y
1675CONFIG_GENERIC_PENDING_IRQ=y
1676CONFIG_IRQ_PER_CPU=y
diff --git a/arch/ia64/configs/gensparse_defconfig b/arch/ia64/configs/gensparse_defconfig
index e86fbd39c795..3a98b2dd58ac 100644
--- a/arch/ia64/configs/gensparse_defconfig
+++ b/arch/ia64/configs/gensparse_defconfig
@@ -1,773 +1,102 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc5
4# Thu Mar 2 16:39:10 2006
5#
6
7#
8# Code maturity level options
9#
10CONFIG_EXPERIMENTAL=y 1CONFIG_EXPERIMENTAL=y
11CONFIG_LOCK_KERNEL=y
12CONFIG_INIT_ENV_ARG_LIMIT=32
13
14#
15# General setup
16#
17CONFIG_LOCALVERSION=""
18CONFIG_LOCALVERSION_AUTO=y
19CONFIG_SWAP=y
20CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
21CONFIG_POSIX_MQUEUE=y 3CONFIG_POSIX_MQUEUE=y
22# CONFIG_BSD_PROCESS_ACCT is not set
23CONFIG_SYSCTL=y
24# CONFIG_AUDIT is not set
25CONFIG_IKCONFIG=y 4CONFIG_IKCONFIG=y
26CONFIG_IKCONFIG_PROC=y 5CONFIG_IKCONFIG_PROC=y
27# CONFIG_CPUSETS is not set 6CONFIG_LOG_BUF_SHIFT=20
28CONFIG_INITRAMFS_SOURCE="" 7CONFIG_BLK_DEV_INITRD=y
29CONFIG_CC_OPTIMIZE_FOR_SIZE=y
30# CONFIG_EMBEDDED is not set
31CONFIG_KALLSYMS=y
32CONFIG_KALLSYMS_ALL=y 8CONFIG_KALLSYMS_ALL=y
33# CONFIG_KALLSYMS_EXTRA_PASS is not set
34CONFIG_HOTPLUG=y
35CONFIG_PRINTK=y
36CONFIG_BUG=y
37CONFIG_ELF_CORE=y
38CONFIG_BASE_FULL=y
39CONFIG_FUTEX=y
40CONFIG_EPOLL=y
41CONFIG_SHMEM=y
42CONFIG_CC_ALIGN_FUNCTIONS=0
43CONFIG_CC_ALIGN_LABELS=0
44CONFIG_CC_ALIGN_LOOPS=0
45CONFIG_CC_ALIGN_JUMPS=0
46CONFIG_SLUB=y
47# CONFIG_TINY_SHMEM is not set
48CONFIG_BASE_SMALL=0
49# CONFIG_SLOB is not set
50
51#
52# Loadable module support
53#
54CONFIG_MODULES=y 9CONFIG_MODULES=y
55CONFIG_MODULE_UNLOAD=y 10CONFIG_MODULE_UNLOAD=y
56# CONFIG_MODULE_FORCE_UNLOAD is not set
57CONFIG_OBSOLETE_MODPARM=y
58CONFIG_MODVERSIONS=y 11CONFIG_MODVERSIONS=y
59# CONFIG_MODULE_SRCVERSION_ALL is not set
60CONFIG_KMOD=y
61CONFIG_STOP_MACHINE=y
62
63#
64# Block layer
65#
66
67#
68# IO Schedulers
69#
70CONFIG_IOSCHED_NOOP=y
71CONFIG_IOSCHED_AS=y
72CONFIG_IOSCHED_DEADLINE=y
73CONFIG_IOSCHED_CFQ=y
74CONFIG_DEFAULT_AS=y
75# CONFIG_DEFAULT_DEADLINE is not set
76# CONFIG_DEFAULT_CFQ is not set
77# CONFIG_DEFAULT_NOOP is not set
78CONFIG_DEFAULT_IOSCHED="anticipatory"
79
80#
81# Processor type and features
82#
83CONFIG_IA64=y
84CONFIG_64BIT=y
85CONFIG_MMU=y
86CONFIG_SWIOTLB=y
87CONFIG_RWSEM_XCHGADD_ALGORITHM=y
88CONFIG_GENERIC_CALIBRATE_DELAY=y
89CONFIG_GENERIC_TIME=y
90CONFIG_EFI=y
91CONFIG_GENERIC_IOMAP=y
92CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
93CONFIG_DMA_IS_DMA32=y
94CONFIG_IA64_GENERIC=y
95# CONFIG_IA64_DIG is not set
96# CONFIG_IA64_HP_ZX1 is not set
97# CONFIG_IA64_HP_ZX1_SWIOTLB is not set
98# CONFIG_IA64_SGI_SN2 is not set
99# CONFIG_IA64_HP_SIM is not set
100# CONFIG_ITANIUM is not set
101CONFIG_MCKINLEY=y 12CONFIG_MCKINLEY=y
102# CONFIG_IA64_PAGE_SIZE_4KB is not set
103# CONFIG_IA64_PAGE_SIZE_8KB is not set
104CONFIG_IA64_PAGE_SIZE_16KB=y
105# CONFIG_IA64_PAGE_SIZE_64KB is not set
106CONFIG_PGTABLE_3=y
107# CONFIG_PGTABLE_4 is not set
108# CONFIG_HZ_100 is not set
109CONFIG_HZ_250=y
110# CONFIG_HZ_1000 is not set
111CONFIG_HZ=250
112CONFIG_IA64_L1_CACHE_SHIFT=7
113CONFIG_IA64_CYCLONE=y 13CONFIG_IA64_CYCLONE=y
114CONFIG_IOSAPIC=y
115# CONFIG_IA64_SGI_SN_XP is not set
116CONFIG_FORCE_MAX_ZONEORDER=17
117CONFIG_SMP=y 14CONFIG_SMP=y
118CONFIG_NR_CPUS=512 15CONFIG_NR_CPUS=512
119CONFIG_IA64_NR_NODES=256
120CONFIG_HOTPLUG_CPU=y 16CONFIG_HOTPLUG_CPU=y
121# CONFIG_SCHED_SMT is not set
122# CONFIG_PREEMPT is not set
123CONFIG_SELECT_MEMORY_MODEL=y
124# CONFIG_FLATMEM_MANUAL is not set
125# CONFIG_DISCONTIGMEM_MANUAL is not set
126CONFIG_SPARSEMEM_MANUAL=y 17CONFIG_SPARSEMEM_MANUAL=y
127CONFIG_SPARSEMEM=y
128CONFIG_NEED_MULTIPLE_NODES=y
129CONFIG_HAVE_MEMORY_PRESENT=y
130# CONFIG_SPARSEMEM_STATIC is not set
131CONFIG_SPARSEMEM_EXTREME=y
132# CONFIG_MEMORY_HOTPLUG is not set
133CONFIG_SPLIT_PTLOCK_CPUS=4
134CONFIG_MIGRATION=y
135CONFIG_ARCH_SELECT_MEMORY_MODEL=y
136CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
137CONFIG_ARCH_FLATMEM_ENABLE=y
138CONFIG_ARCH_SPARSEMEM_ENABLE=y
139CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
140CONFIG_NUMA=y
141CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
142CONFIG_IA32_SUPPORT=y
143CONFIG_COMPAT=y
144CONFIG_IA64_MCA_RECOVERY=y 18CONFIG_IA64_MCA_RECOVERY=y
145CONFIG_PERFMON=y 19CONFIG_PERFMON=y
146CONFIG_IA64_PALINFO=y 20CONFIG_IA64_PALINFO=y
147CONFIG_SGI_SN=y 21CONFIG_SGI_IOC3=y
148
149#
150# Firmware Drivers
151#
152CONFIG_EFI_VARS=y 22CONFIG_EFI_VARS=y
153CONFIG_EFI_PCDP=y
154CONFIG_BINFMT_ELF=y
155CONFIG_BINFMT_MISC=m 23CONFIG_BINFMT_MISC=m
156
157#
158# Power management and ACPI
159#
160CONFIG_PM=y
161CONFIG_PM_LEGACY=y
162# CONFIG_PM_DEBUG is not set
163
164#
165# ACPI (Advanced Configuration and Power Interface) Support
166#
167CONFIG_ACPI=y
168CONFIG_ACPI_BUTTON=m 24CONFIG_ACPI_BUTTON=m
169CONFIG_ACPI_FAN=m 25CONFIG_ACPI_FAN=m
170CONFIG_ACPI_PROCESSOR=m 26CONFIG_ACPI_PROCESSOR=m
171CONFIG_ACPI_HOTPLUG_CPU=y
172CONFIG_ACPI_THERMAL=m
173CONFIG_ACPI_NUMA=y
174CONFIG_ACPI_BLACKLIST_YEAR=0
175# CONFIG_ACPI_DEBUG is not set
176CONFIG_ACPI_EC=y
177CONFIG_ACPI_POWER=y
178CONFIG_ACPI_SYSTEM=y
179CONFIG_ACPI_CONTAINER=m 27CONFIG_ACPI_CONTAINER=m
180
181#
182# CPU Frequency scaling
183#
184# CONFIG_CPU_FREQ is not set
185
186#
187# Bus options (PCI, PCMCIA)
188#
189CONFIG_PCI=y
190CONFIG_PCI_DOMAINS=y
191# CONFIG_PCI_MSI is not set
192CONFIG_PCI_LEGACY_PROC=y
193# CONFIG_PCI_DEBUG is not set
194
195#
196# PCI Hotplug Support
197#
198CONFIG_HOTPLUG_PCI=m 28CONFIG_HOTPLUG_PCI=m
199# CONFIG_HOTPLUG_PCI_FAKE is not set
200CONFIG_HOTPLUG_PCI_ACPI=m 29CONFIG_HOTPLUG_PCI_ACPI=m
201# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set
202# CONFIG_HOTPLUG_PCI_CPCI is not set
203# CONFIG_HOTPLUG_PCI_SHPC is not set
204# CONFIG_HOTPLUG_PCI_SGI is not set
205
206#
207# PCCARD (PCMCIA/CardBus) support
208#
209# CONFIG_PCCARD is not set
210
211#
212# Networking
213#
214CONFIG_NET=y
215
216#
217# Networking options
218#
219# CONFIG_NETDEBUG is not set
220CONFIG_PACKET=y 30CONFIG_PACKET=y
221# CONFIG_PACKET_MMAP is not set
222CONFIG_UNIX=y 31CONFIG_UNIX=y
223# CONFIG_NET_KEY is not set
224CONFIG_INET=y 32CONFIG_INET=y
225CONFIG_IP_MULTICAST=y 33CONFIG_IP_MULTICAST=y
226# CONFIG_IP_ADVANCED_ROUTER is not set
227CONFIG_IP_FIB_HASH=y
228# CONFIG_IP_PNP is not set
229# CONFIG_NET_IPIP is not set
230# CONFIG_NET_IPGRE is not set
231# CONFIG_IP_MROUTE is not set
232CONFIG_ARPD=y 34CONFIG_ARPD=y
233CONFIG_SYN_COOKIES=y 35CONFIG_SYN_COOKIES=y
234# CONFIG_INET_AH is not set
235# CONFIG_INET_ESP is not set
236# CONFIG_INET_IPCOMP is not set
237# CONFIG_INET_TUNNEL is not set
238CONFIG_INET_DIAG=y
239CONFIG_INET_TCP_DIAG=y
240# CONFIG_TCP_CONG_ADVANCED is not set
241CONFIG_TCP_CONG_BIC=y
242# CONFIG_IPV6 is not set 36# CONFIG_IPV6 is not set
243# CONFIG_NETFILTER is not set
244
245#
246# DCCP Configuration (EXPERIMENTAL)
247#
248# CONFIG_IP_DCCP is not set
249
250#
251# SCTP Configuration (EXPERIMENTAL)
252#
253# CONFIG_IP_SCTP is not set
254
255#
256# TIPC Configuration (EXPERIMENTAL)
257#
258# CONFIG_TIPC is not set
259# CONFIG_ATM is not set
260# CONFIG_BRIDGE is not set
261# CONFIG_VLAN_8021Q is not set
262# CONFIG_DECNET is not set
263# CONFIG_LLC2 is not set
264# CONFIG_IPX is not set
265# CONFIG_ATALK is not set
266# CONFIG_X25 is not set
267# CONFIG_LAPB is not set
268# CONFIG_NET_DIVERT is not set
269# CONFIG_ECONET is not set
270# CONFIG_WAN_ROUTER is not set
271
272#
273# QoS and/or fair queueing
274#
275# CONFIG_NET_SCHED is not set
276
277#
278# Network testing
279#
280# CONFIG_NET_PKTGEN is not set
281# CONFIG_HAMRADIO is not set
282# CONFIG_IRDA is not set
283# CONFIG_BT is not set
284# CONFIG_IEEE80211 is not set
285
286#
287# Device Drivers
288#
289
290#
291# Generic Driver Options
292#
293CONFIG_STANDALONE=y
294CONFIG_PREVENT_FIRMWARE_BUILD=y
295CONFIG_FW_LOADER=m
296# CONFIG_DEBUG_DRIVER is not set
297
298#
299# Connector - unified userspace <-> kernelspace linker
300#
301# CONFIG_CONNECTOR is not set
302
303#
304# Memory Technology Devices (MTD)
305#
306# CONFIG_MTD is not set
307
308#
309# Parallel port support
310#
311# CONFIG_PARPORT is not set
312
313#
314# Plug and Play support
315#
316CONFIG_PNP=y
317# CONFIG_PNP_DEBUG is not set
318
319#
320# Protocols
321#
322CONFIG_PNPACPI=y
323
324#
325# Block devices
326#
327# CONFIG_BLK_CPQ_DA is not set
328# CONFIG_BLK_CPQ_CISS_DA is not set
329# CONFIG_BLK_DEV_DAC960 is not set
330# CONFIG_BLK_DEV_UMEM is not set
331# CONFIG_BLK_DEV_COW_COMMON is not set
332CONFIG_BLK_DEV_LOOP=m 37CONFIG_BLK_DEV_LOOP=m
333CONFIG_BLK_DEV_CRYPTOLOOP=m 38CONFIG_BLK_DEV_CRYPTOLOOP=m
334CONFIG_BLK_DEV_NBD=m 39CONFIG_BLK_DEV_NBD=m
335# CONFIG_BLK_DEV_SX8 is not set
336# CONFIG_BLK_DEV_UB is not set
337CONFIG_BLK_DEV_RAM=y 40CONFIG_BLK_DEV_RAM=y
338CONFIG_BLK_DEV_RAM_COUNT=16 41CONFIG_SGI_IOC4=y
339CONFIG_BLK_DEV_RAM_SIZE=4096
340CONFIG_BLK_DEV_INITRD=y
341# CONFIG_CDROM_PKTCDVD is not set
342# CONFIG_ATA_OVER_ETH is not set
343
344#
345# ATA/ATAPI/MFM/RLL support
346#
347CONFIG_IDE=y 42CONFIG_IDE=y
348CONFIG_IDE_MAX_HWIFS=4
349CONFIG_BLK_DEV_IDE=y
350
351#
352# Please see Documentation/ide.txt for help/info on IDE drives
353#
354# CONFIG_BLK_DEV_IDE_SATA is not set
355CONFIG_BLK_DEV_IDEDISK=y
356# CONFIG_IDEDISK_MULTI_MODE is not set
357CONFIG_BLK_DEV_IDECD=y 43CONFIG_BLK_DEV_IDECD=y
358# CONFIG_BLK_DEV_IDETAPE is not set
359CONFIG_BLK_DEV_IDEFLOPPY=y
360CONFIG_BLK_DEV_IDESCSI=m
361# CONFIG_IDE_TASK_IOCTL is not set
362
363#
364# IDE chipset support/bugfixes
365#
366CONFIG_IDE_GENERIC=y 44CONFIG_IDE_GENERIC=y
367# CONFIG_BLK_DEV_IDEPNP is not set
368CONFIG_BLK_DEV_IDEPCI=y
369# CONFIG_IDEPCI_SHARE_IRQ is not set
370# CONFIG_BLK_DEV_OFFBOARD is not set
371CONFIG_BLK_DEV_GENERIC=y 45CONFIG_BLK_DEV_GENERIC=y
372# CONFIG_BLK_DEV_OPTI621 is not set
373CONFIG_BLK_DEV_IDEDMA_PCI=y
374# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
375CONFIG_IDEDMA_PCI_AUTO=y
376# CONFIG_IDEDMA_ONLYDISK is not set
377# CONFIG_BLK_DEV_AEC62XX is not set
378# CONFIG_BLK_DEV_ALI15X3 is not set
379# CONFIG_BLK_DEV_AMD74XX is not set
380CONFIG_BLK_DEV_CMD64X=y 46CONFIG_BLK_DEV_CMD64X=y
381# CONFIG_BLK_DEV_TRIFLEX is not set
382# CONFIG_BLK_DEV_CY82C693 is not set
383# CONFIG_BLK_DEV_CS5520 is not set
384# CONFIG_BLK_DEV_CS5530 is not set
385# CONFIG_BLK_DEV_HPT34X is not set
386# CONFIG_BLK_DEV_HPT366 is not set
387# CONFIG_BLK_DEV_SC1200 is not set
388CONFIG_BLK_DEV_PIIX=y 47CONFIG_BLK_DEV_PIIX=y
389# CONFIG_BLK_DEV_IT821X is not set
390# CONFIG_BLK_DEV_NS87415 is not set
391# CONFIG_BLK_DEV_PDC202XX_OLD is not set
392# CONFIG_BLK_DEV_PDC202XX_NEW is not set
393# CONFIG_BLK_DEV_SVWKS is not set
394CONFIG_BLK_DEV_SGIIOC4=y 48CONFIG_BLK_DEV_SGIIOC4=y
395# CONFIG_BLK_DEV_SIIMAGE is not set
396# CONFIG_BLK_DEV_SLC90E66 is not set
397# CONFIG_BLK_DEV_TRM290 is not set
398# CONFIG_BLK_DEV_VIA82CXXX is not set
399# CONFIG_IDE_ARM is not set
400CONFIG_BLK_DEV_IDEDMA=y
401# CONFIG_IDEDMA_IVB is not set
402CONFIG_IDEDMA_AUTO=y
403# CONFIG_BLK_DEV_HD is not set
404
405#
406# SCSI device support
407#
408# CONFIG_RAID_ATTRS is not set
409CONFIG_SCSI=y 49CONFIG_SCSI=y
410CONFIG_SCSI_PROC_FS=y
411
412#
413# SCSI support type (disk, tape, CD-ROM)
414#
415CONFIG_BLK_DEV_SD=y 50CONFIG_BLK_DEV_SD=y
416CONFIG_CHR_DEV_ST=m 51CONFIG_CHR_DEV_ST=m
417# CONFIG_CHR_DEV_OSST is not set
418CONFIG_BLK_DEV_SR=m 52CONFIG_BLK_DEV_SR=m
419# CONFIG_BLK_DEV_SR_VENDOR is not set
420CONFIG_CHR_DEV_SG=m 53CONFIG_CHR_DEV_SG=m
421# CONFIG_CHR_DEV_SCH is not set
422
423#
424# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
425#
426# CONFIG_SCSI_MULTI_LUN is not set
427# CONFIG_SCSI_CONSTANTS is not set
428# CONFIG_SCSI_LOGGING is not set
429
430#
431# SCSI Transport Attributes
432#
433CONFIG_SCSI_SPI_ATTRS=y
434CONFIG_SCSI_FC_ATTRS=y 54CONFIG_SCSI_FC_ATTRS=y
435# CONFIG_SCSI_ISCSI_ATTRS is not set
436# CONFIG_SCSI_SAS_ATTRS is not set
437
438#
439# SCSI low-level drivers
440#
441# CONFIG_ISCSI_TCP is not set
442# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
443# CONFIG_SCSI_3W_9XXX is not set
444# CONFIG_SCSI_ACARD is not set
445# CONFIG_SCSI_AACRAID is not set
446# CONFIG_SCSI_AIC7XXX is not set
447# CONFIG_SCSI_AIC7XXX_OLD is not set
448# CONFIG_SCSI_AIC79XX is not set
449# CONFIG_MEGARAID_NEWGEN is not set
450# CONFIG_MEGARAID_LEGACY is not set
451# CONFIG_MEGARAID_SAS is not set
452CONFIG_SCSI_SATA=y
453# CONFIG_SCSI_SATA_AHCI is not set
454# CONFIG_SCSI_SATA_SVW is not set
455# CONFIG_SCSI_ATA_PIIX is not set
456# CONFIG_SCSI_SATA_MV is not set
457# CONFIG_SCSI_SATA_NV is not set
458# CONFIG_SCSI_PDC_ADMA is not set
459# CONFIG_SCSI_SATA_QSTOR is not set
460# CONFIG_SCSI_SATA_PROMISE is not set
461# CONFIG_SCSI_SATA_SX4 is not set
462# CONFIG_SCSI_SATA_SIL is not set
463# CONFIG_SCSI_SATA_SIL24 is not set
464# CONFIG_SCSI_SATA_SIS is not set
465# CONFIG_SCSI_SATA_ULI is not set
466# CONFIG_SCSI_SATA_VIA is not set
467CONFIG_SCSI_SATA_VITESSE=y
468# CONFIG_SCSI_DMX3191D is not set
469# CONFIG_SCSI_FUTURE_DOMAIN is not set
470# CONFIG_SCSI_IPS is not set
471# CONFIG_SCSI_INITIO is not set
472# CONFIG_SCSI_INIA100 is not set
473CONFIG_SCSI_SYM53C8XX_2=y 55CONFIG_SCSI_SYM53C8XX_2=y
474CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
475CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
476CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
477# CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
478# CONFIG_SCSI_IPR is not set
479# CONFIG_SCSI_QLOGIC_FC is not set
480CONFIG_SCSI_QLOGIC_1280=y 56CONFIG_SCSI_QLOGIC_1280=y
481# CONFIG_SCSI_QLA_FC is not set
482# CONFIG_SCSI_LPFC is not set
483# CONFIG_SCSI_DC395x is not set
484# CONFIG_SCSI_DC390T is not set
485# CONFIG_SCSI_DEBUG is not set
486
487#
488# Multi-device support (RAID and LVM)
489#
490CONFIG_MD=y 57CONFIG_MD=y
491CONFIG_BLK_DEV_MD=m 58CONFIG_BLK_DEV_MD=m
492CONFIG_MD_LINEAR=m 59CONFIG_MD_LINEAR=m
493CONFIG_MD_RAID0=m 60CONFIG_MD_RAID0=m
494CONFIG_MD_RAID1=m 61CONFIG_MD_RAID1=m
495# CONFIG_MD_RAID10 is not set
496CONFIG_MD_RAID5=m
497CONFIG_MD_RAID6=m
498CONFIG_MD_MULTIPATH=m 62CONFIG_MD_MULTIPATH=m
499# CONFIG_MD_FAULTY is not set
500CONFIG_BLK_DEV_DM=m 63CONFIG_BLK_DEV_DM=m
501CONFIG_DM_CRYPT=m 64CONFIG_DM_CRYPT=m
502CONFIG_DM_SNAPSHOT=m 65CONFIG_DM_SNAPSHOT=m
503CONFIG_DM_MIRROR=m 66CONFIG_DM_MIRROR=m
504CONFIG_DM_ZERO=m 67CONFIG_DM_ZERO=m
505CONFIG_DM_MULTIPATH=m 68CONFIG_DM_MULTIPATH=m
506# CONFIG_DM_MULTIPATH_EMC is not set
507
508#
509# Fusion MPT device support
510#
511CONFIG_FUSION=y 69CONFIG_FUSION=y
512CONFIG_FUSION_SPI=y 70CONFIG_FUSION_SPI=y
513CONFIG_FUSION_FC=m 71CONFIG_FUSION_FC=m
514# CONFIG_FUSION_SAS is not set
515CONFIG_FUSION_MAX_SGE=128
516# CONFIG_FUSION_CTL is not set
517
518#
519# IEEE 1394 (FireWire) support
520#
521# CONFIG_IEEE1394 is not set
522
523#
524# I2O device support
525#
526# CONFIG_I2O is not set
527
528#
529# Network device support
530#
531CONFIG_NETDEVICES=y 72CONFIG_NETDEVICES=y
532CONFIG_DUMMY=m 73CONFIG_DUMMY=m
533# CONFIG_BONDING is not set
534# CONFIG_EQUALIZER is not set
535# CONFIG_TUN is not set
536# CONFIG_NET_SB1000 is not set
537
538#
539# ARCnet devices
540#
541# CONFIG_ARCNET is not set
542
543#
544# PHY device support
545#
546# CONFIG_PHYLIB is not set
547
548#
549# Ethernet (10 or 100Mbit)
550#
551CONFIG_NET_ETHERNET=y 74CONFIG_NET_ETHERNET=y
552CONFIG_MII=m
553# CONFIG_HAPPYMEAL is not set
554# CONFIG_SUNGEM is not set
555# CONFIG_CASSINI is not set
556# CONFIG_NET_VENDOR_3COM is not set
557
558#
559# Tulip family network device support
560#
561CONFIG_NET_TULIP=y 75CONFIG_NET_TULIP=y
562# CONFIG_DE2104X is not set
563CONFIG_TULIP=m 76CONFIG_TULIP=m
564# CONFIG_TULIP_MWI is not set
565# CONFIG_TULIP_MMIO is not set
566# CONFIG_TULIP_NAPI is not set
567# CONFIG_DE4X5 is not set
568# CONFIG_WINBOND_840 is not set
569# CONFIG_DM9102 is not set
570# CONFIG_ULI526X is not set
571# CONFIG_HP100 is not set
572CONFIG_NET_PCI=y 77CONFIG_NET_PCI=y
573# CONFIG_PCNET32 is not set
574# CONFIG_AMD8111_ETH is not set
575# CONFIG_ADAPTEC_STARFIRE is not set
576# CONFIG_B44 is not set
577# CONFIG_FORCEDETH is not set
578# CONFIG_DGRS is not set
579CONFIG_EEPRO100=m
580CONFIG_E100=m 78CONFIG_E100=m
581# CONFIG_FEALNX is not set
582# CONFIG_NATSEMI is not set
583# CONFIG_NE2K_PCI is not set
584# CONFIG_8139CP is not set
585# CONFIG_8139TOO is not set
586# CONFIG_SIS900 is not set
587# CONFIG_EPIC100 is not set
588# CONFIG_SUNDANCE is not set
589# CONFIG_VIA_RHINE is not set
590
591#
592# Ethernet (1000 Mbit)
593#
594# CONFIG_ACENIC is not set
595# CONFIG_DL2K is not set
596CONFIG_E1000=y 79CONFIG_E1000=y
597# CONFIG_E1000_NAPI is not set
598# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
599# CONFIG_NS83820 is not set
600# CONFIG_HAMACHI is not set
601# CONFIG_YELLOWFIN is not set
602# CONFIG_R8169 is not set
603# CONFIG_SIS190 is not set
604# CONFIG_SKGE is not set
605# CONFIG_SKY2 is not set
606# CONFIG_SK98LIN is not set
607# CONFIG_VIA_VELOCITY is not set
608CONFIG_TIGON3=y 80CONFIG_TIGON3=y
609# CONFIG_BNX2 is not set
610
611#
612# Ethernet (10000 Mbit)
613#
614# CONFIG_CHELSIO_T1 is not set
615# CONFIG_IXGB is not set
616# CONFIG_S2IO is not set
617
618#
619# Token Ring devices
620#
621# CONFIG_TR is not set
622
623#
624# Wireless LAN (non-hamradio)
625#
626# CONFIG_NET_RADIO is not set
627
628#
629# Wan interfaces
630#
631# CONFIG_WAN is not set
632# CONFIG_FDDI is not set
633# CONFIG_HIPPI is not set
634# CONFIG_PPP is not set
635# CONFIG_SLIP is not set
636# CONFIG_NET_FC is not set
637# CONFIG_SHAPER is not set
638CONFIG_NETCONSOLE=y 81CONFIG_NETCONSOLE=y
639CONFIG_NETPOLL=y
640# CONFIG_NETPOLL_RX is not set
641# CONFIG_NETPOLL_TRAP is not set
642CONFIG_NET_POLL_CONTROLLER=y
643
644#
645# ISDN subsystem
646#
647# CONFIG_ISDN is not set
648
649#
650# Telephony Support
651#
652# CONFIG_PHONE is not set
653
654#
655# Input device support
656#
657CONFIG_INPUT=y
658
659#
660# Userland interfaces
661#
662CONFIG_INPUT_MOUSEDEV=y
663CONFIG_INPUT_MOUSEDEV_PSAUX=y
664CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
665CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
666# CONFIG_INPUT_JOYDEV is not set
667# CONFIG_INPUT_TSDEV is not set
668# CONFIG_INPUT_EVDEV is not set
669# CONFIG_INPUT_EVBUG is not set
670
671#
672# Input Device Drivers
673#
674CONFIG_INPUT_KEYBOARD=y
675CONFIG_KEYBOARD_ATKBD=y
676# CONFIG_KEYBOARD_SUNKBD is not set
677# CONFIG_KEYBOARD_LKKBD is not set
678# CONFIG_KEYBOARD_XTKBD is not set
679# CONFIG_KEYBOARD_NEWTON is not set
680CONFIG_INPUT_MOUSE=y
681CONFIG_MOUSE_PS2=y
682# CONFIG_MOUSE_SERIAL is not set
683# CONFIG_MOUSE_VSXXXAA is not set
684# CONFIG_INPUT_JOYSTICK is not set
685# CONFIG_INPUT_TOUCHSCREEN is not set
686# CONFIG_INPUT_MISC is not set
687
688#
689# Hardware I/O ports
690#
691CONFIG_SERIO=y
692CONFIG_SERIO_I8042=y
693# CONFIG_SERIO_SERPORT is not set 82# CONFIG_SERIO_SERPORT is not set
694# CONFIG_SERIO_PCIPS2 is not set
695CONFIG_SERIO_LIBPS2=y
696# CONFIG_SERIO_RAW is not set
697CONFIG_GAMEPORT=m 83CONFIG_GAMEPORT=m
698# CONFIG_GAMEPORT_NS558 is not set
699# CONFIG_GAMEPORT_L4 is not set
700# CONFIG_GAMEPORT_EMU10K1 is not set
701# CONFIG_GAMEPORT_FM801 is not set
702
703#
704# Character devices
705#
706CONFIG_VT=y
707CONFIG_VT_CONSOLE=y
708CONFIG_HW_CONSOLE=y
709CONFIG_SERIAL_NONSTANDARD=y 84CONFIG_SERIAL_NONSTANDARD=y
710# CONFIG_COMPUTONE is not set
711# CONFIG_ROCKETPORT is not set
712# CONFIG_CYCLADES is not set
713# CONFIG_DIGIEPCA is not set
714# CONFIG_MOXA_INTELLIO is not set
715# CONFIG_MOXA_SMARTIO is not set
716# CONFIG_ISI is not set
717# CONFIG_SYNCLINKMP is not set
718# CONFIG_SYNCLINK_GT is not set
719# CONFIG_N_HDLC is not set
720# CONFIG_SPECIALIX is not set
721# CONFIG_SX is not set
722# CONFIG_STALDRV is not set
723CONFIG_SGI_SNSC=y 85CONFIG_SGI_SNSC=y
724CONFIG_SGI_TIOCX=y 86CONFIG_SGI_TIOCX=y
725CONFIG_SGI_MBCS=m 87CONFIG_SGI_MBCS=m
726
727#
728# Serial drivers
729#
730CONFIG_SERIAL_8250=y 88CONFIG_SERIAL_8250=y
731CONFIG_SERIAL_8250_CONSOLE=y 89CONFIG_SERIAL_8250_CONSOLE=y
732CONFIG_SERIAL_8250_ACPI=y
733CONFIG_SERIAL_8250_NR_UARTS=6 90CONFIG_SERIAL_8250_NR_UARTS=6
734CONFIG_SERIAL_8250_RUNTIME_UARTS=4
735CONFIG_SERIAL_8250_EXTENDED=y 91CONFIG_SERIAL_8250_EXTENDED=y
736CONFIG_SERIAL_8250_SHARE_IRQ=y 92CONFIG_SERIAL_8250_SHARE_IRQ=y
737# CONFIG_SERIAL_8250_DETECT_IRQ is not set
738# CONFIG_SERIAL_8250_RSA is not set
739
740#
741# Non-8250 serial port support
742#
743CONFIG_SERIAL_CORE=y
744CONFIG_SERIAL_CORE_CONSOLE=y
745CONFIG_SERIAL_SGI_L1_CONSOLE=y 93CONFIG_SERIAL_SGI_L1_CONSOLE=y
746# CONFIG_SERIAL_JSM is not set
747CONFIG_SERIAL_SGI_IOC4=y 94CONFIG_SERIAL_SGI_IOC4=y
748CONFIG_SERIAL_SGI_IOC3=y 95CONFIG_SERIAL_SGI_IOC3=y
749CONFIG_UNIX98_PTYS=y
750CONFIG_LEGACY_PTYS=y
751CONFIG_LEGACY_PTY_COUNT=256
752
753#
754# IPMI
755#
756# CONFIG_IPMI_HANDLER is not set
757
758#
759# Watchdog Cards
760#
761# CONFIG_WATCHDOG is not set
762# CONFIG_HW_RANDOM is not set 96# CONFIG_HW_RANDOM is not set
763CONFIG_EFI_RTC=y 97CONFIG_EFI_RTC=y
764# CONFIG_DTLK is not set 98CONFIG_RAW_DRIVER=m
765# CONFIG_R3964 is not set 99CONFIG_HPET=y
766# CONFIG_APPLICOM is not set
767
768#
769# Ftape, the floppy tape device driver
770#
771CONFIG_AGP=m 100CONFIG_AGP=m
772CONFIG_AGP_I460=m 101CONFIG_AGP_I460=m
773CONFIG_AGP_HP_ZX1=m 102CONFIG_AGP_HP_ZX1=m
@@ -778,492 +107,66 @@ CONFIG_DRM_R128=m
778CONFIG_DRM_RADEON=m 107CONFIG_DRM_RADEON=m
779CONFIG_DRM_MGA=m 108CONFIG_DRM_MGA=m
780CONFIG_DRM_SIS=m 109CONFIG_DRM_SIS=m
781# CONFIG_DRM_VIA is not set
782# CONFIG_DRM_SAVAGE is not set
783CONFIG_RAW_DRIVER=m
784CONFIG_MAX_RAW_DEVS=256
785CONFIG_HPET=y
786# CONFIG_HPET_RTC_IRQ is not set
787CONFIG_HPET_MMAP=y
788# CONFIG_HANGCHECK_TIMER is not set
789CONFIG_MMTIMER=y
790
791#
792# TPM devices
793#
794# CONFIG_TCG_TPM is not set
795# CONFIG_TELCLOCK is not set
796
797#
798# I2C support
799#
800# CONFIG_I2C is not set
801
802#
803# SPI support
804#
805# CONFIG_SPI is not set
806# CONFIG_SPI_MASTER is not set
807
808#
809# Dallas's 1-wire bus
810#
811# CONFIG_W1 is not set
812
813#
814# Hardware Monitoring support
815#
816CONFIG_HWMON=y
817# CONFIG_HWMON_VID is not set
818# CONFIG_SENSORS_F71805F is not set
819# CONFIG_HWMON_DEBUG_CHIP is not set
820
821#
822# Misc devices
823#
824
825#
826# Multimedia Capabilities Port drivers
827#
828
829#
830# Multimedia devices
831#
832# CONFIG_VIDEO_DEV is not set
833
834#
835# Digital Video Broadcasting Devices
836#
837# CONFIG_DVB is not set
838
839#
840# Graphics support
841#
842# CONFIG_FB is not set
843
844#
845# Console display driver support
846#
847CONFIG_VGA_CONSOLE=y
848CONFIG_DUMMY_CONSOLE=y
849
850#
851# Sound
852#
853CONFIG_SOUND=m 110CONFIG_SOUND=m
854
855#
856# Advanced Linux Sound Architecture
857#
858CONFIG_SND=m 111CONFIG_SND=m
859CONFIG_SND_TIMER=m
860CONFIG_SND_PCM=m
861CONFIG_SND_HWDEP=m
862CONFIG_SND_RAWMIDI=m
863CONFIG_SND_SEQUENCER=m 112CONFIG_SND_SEQUENCER=m
864CONFIG_SND_SEQ_DUMMY=m 113CONFIG_SND_SEQ_DUMMY=m
865CONFIG_SND_OSSEMUL=y
866CONFIG_SND_MIXER_OSS=m 114CONFIG_SND_MIXER_OSS=m
867CONFIG_SND_PCM_OSS=m 115CONFIG_SND_PCM_OSS=m
868CONFIG_SND_SEQUENCER_OSS=y 116CONFIG_SND_SEQUENCER_OSS=y
869# CONFIG_SND_DYNAMIC_MINORS is not set
870CONFIG_SND_SUPPORT_OLD_API=y
871CONFIG_SND_VERBOSE_PRINTK=y 117CONFIG_SND_VERBOSE_PRINTK=y
872# CONFIG_SND_DEBUG is not set
873
874#
875# Generic devices
876#
877CONFIG_SND_MPU401_UART=m
878CONFIG_SND_OPL3_LIB=m
879CONFIG_SND_AC97_CODEC=m
880CONFIG_SND_AC97_BUS=m
881CONFIG_SND_DUMMY=m 118CONFIG_SND_DUMMY=m
882CONFIG_SND_VIRMIDI=m 119CONFIG_SND_VIRMIDI=m
883CONFIG_SND_MTPAV=m 120CONFIG_SND_MTPAV=m
884CONFIG_SND_SERIAL_U16550=m 121CONFIG_SND_SERIAL_U16550=m
885CONFIG_SND_MPU401=m 122CONFIG_SND_MPU401=m
886
887#
888# PCI devices
889#
890# CONFIG_SND_AD1889 is not set
891# CONFIG_SND_ALI5451 is not set
892# CONFIG_SND_ATIIXP is not set
893# CONFIG_SND_ATIIXP_MODEM is not set
894# CONFIG_SND_AU8810 is not set
895# CONFIG_SND_AU8820 is not set
896# CONFIG_SND_AU8830 is not set
897# CONFIG_SND_AZT3328 is not set
898# CONFIG_SND_BT87X is not set
899# CONFIG_SND_CA0106 is not set
900# CONFIG_SND_CMIPCI is not set
901CONFIG_SND_CS4281=m 123CONFIG_SND_CS4281=m
902CONFIG_SND_CS46XX=m 124CONFIG_SND_CS46XX=m
903CONFIG_SND_CS46XX_NEW_DSP=y
904CONFIG_SND_EMU10K1=m 125CONFIG_SND_EMU10K1=m
905# CONFIG_SND_EMU10K1X is not set
906# CONFIG_SND_ENS1370 is not set
907# CONFIG_SND_ENS1371 is not set
908# CONFIG_SND_ES1938 is not set
909# CONFIG_SND_ES1968 is not set
910CONFIG_SND_FM801=m 126CONFIG_SND_FM801=m
911# CONFIG_SND_FM801_TEA575X is not set
912# CONFIG_SND_HDA_INTEL is not set
913# CONFIG_SND_HDSP is not set
914# CONFIG_SND_HDSPM is not set
915# CONFIG_SND_ICE1712 is not set
916# CONFIG_SND_ICE1724 is not set
917# CONFIG_SND_INTEL8X0 is not set
918# CONFIG_SND_INTEL8X0M is not set
919# CONFIG_SND_KORG1212 is not set
920# CONFIG_SND_MAESTRO3 is not set
921# CONFIG_SND_MIXART is not set
922# CONFIG_SND_NM256 is not set
923# CONFIG_SND_PCXHR is not set
924# CONFIG_SND_RME32 is not set
925# CONFIG_SND_RME96 is not set
926# CONFIG_SND_RME9652 is not set
927# CONFIG_SND_SONICVIBES is not set
928# CONFIG_SND_TRIDENT is not set
929# CONFIG_SND_VIA82XX is not set
930# CONFIG_SND_VIA82XX_MODEM is not set
931# CONFIG_SND_VX222 is not set
932# CONFIG_SND_YMFPCI is not set
933
934#
935# USB devices
936#
937# CONFIG_SND_USB_AUDIO is not set
938
939#
940# Open Sound System
941#
942# CONFIG_SOUND_PRIME is not set
943
944#
945# USB support
946#
947CONFIG_USB_ARCH_HAS_HCD=y
948CONFIG_USB_ARCH_HAS_OHCI=y
949CONFIG_USB=m 127CONFIG_USB=m
950# CONFIG_USB_DEBUG is not set
951
952#
953# Miscellaneous USB options
954#
955CONFIG_USB_DEVICEFS=y 128CONFIG_USB_DEVICEFS=y
956# CONFIG_USB_BANDWIDTH is not set 129CONFIG_USB_MON=m
957# CONFIG_USB_DYNAMIC_MINORS is not set
958# CONFIG_USB_SUSPEND is not set
959# CONFIG_USB_OTG is not set
960
961#
962# USB Host Controller Drivers
963#
964CONFIG_USB_EHCI_HCD=m 130CONFIG_USB_EHCI_HCD=m
965# CONFIG_USB_EHCI_SPLIT_ISO is not set
966# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
967# CONFIG_USB_ISP116X_HCD is not set
968CONFIG_USB_OHCI_HCD=m 131CONFIG_USB_OHCI_HCD=m
969# CONFIG_USB_OHCI_BIG_ENDIAN is not set
970CONFIG_USB_OHCI_LITTLE_ENDIAN=y
971CONFIG_USB_UHCI_HCD=m 132CONFIG_USB_UHCI_HCD=m
972# CONFIG_USB_SL811_HCD is not set
973
974#
975# USB Device Class drivers
976#
977# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
978# CONFIG_USB_ACM is not set
979# CONFIG_USB_PRINTER is not set
980
981#
982# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
983#
984
985#
986# may also be needed; see USB_STORAGE Help for more information
987#
988CONFIG_USB_STORAGE=m 133CONFIG_USB_STORAGE=m
989# CONFIG_USB_STORAGE_DEBUG is not set
990# CONFIG_USB_STORAGE_DATAFAB is not set
991# CONFIG_USB_STORAGE_FREECOM is not set
992# CONFIG_USB_STORAGE_ISD200 is not set
993# CONFIG_USB_STORAGE_DPCM is not set
994# CONFIG_USB_STORAGE_USBAT is not set
995# CONFIG_USB_STORAGE_SDDR09 is not set
996# CONFIG_USB_STORAGE_SDDR55 is not set
997# CONFIG_USB_STORAGE_JUMPSHOT is not set
998# CONFIG_USB_STORAGE_ALAUDA is not set
999# CONFIG_USB_LIBUSUAL is not set
1000
1001#
1002# USB Input Devices
1003#
1004CONFIG_USB_HID=m
1005CONFIG_USB_HIDINPUT=y
1006# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1007# CONFIG_HID_FF is not set
1008# CONFIG_USB_HIDDEV is not set
1009
1010#
1011# USB HID Boot Protocol drivers
1012#
1013# CONFIG_USB_KBD is not set
1014# CONFIG_USB_MOUSE is not set
1015# CONFIG_USB_AIPTEK is not set
1016# CONFIG_USB_WACOM is not set
1017# CONFIG_USB_ACECAD is not set
1018# CONFIG_USB_KBTAB is not set
1019# CONFIG_USB_POWERMATE is not set
1020# CONFIG_USB_MTOUCH is not set
1021# CONFIG_USB_ITMTOUCH is not set
1022# CONFIG_USB_EGALAX is not set
1023# CONFIG_USB_YEALINK is not set
1024# CONFIG_USB_XPAD is not set
1025# CONFIG_USB_ATI_REMOTE is not set
1026# CONFIG_USB_ATI_REMOTE2 is not set
1027# CONFIG_USB_KEYSPAN_REMOTE is not set
1028# CONFIG_USB_APPLETOUCH is not set
1029
1030#
1031# USB Imaging devices
1032#
1033# CONFIG_USB_MDC800 is not set
1034# CONFIG_USB_MICROTEK is not set
1035
1036#
1037# USB Multimedia devices
1038#
1039# CONFIG_USB_DABUSB is not set
1040
1041#
1042# Video4Linux support is needed for USB Multimedia device support
1043#
1044
1045#
1046# USB Network Adapters
1047#
1048# CONFIG_USB_CATC is not set
1049# CONFIG_USB_KAWETH is not set
1050# CONFIG_USB_PEGASUS is not set
1051# CONFIG_USB_RTL8150 is not set
1052# CONFIG_USB_USBNET is not set
1053CONFIG_USB_MON=y
1054
1055#
1056# USB port drivers
1057#
1058
1059#
1060# USB Serial Converter support
1061#
1062# CONFIG_USB_SERIAL is not set
1063
1064#
1065# USB Miscellaneous drivers
1066#
1067# CONFIG_USB_EMI62 is not set
1068# CONFIG_USB_EMI26 is not set
1069# CONFIG_USB_AUERSWALD is not set
1070# CONFIG_USB_RIO500 is not set
1071# CONFIG_USB_LEGOTOWER is not set
1072# CONFIG_USB_LCD is not set
1073# CONFIG_USB_LED is not set
1074# CONFIG_USB_CYTHERM is not set
1075# CONFIG_USB_PHIDGETKIT is not set
1076# CONFIG_USB_PHIDGETSERVO is not set
1077# CONFIG_USB_IDMOUSE is not set
1078# CONFIG_USB_SISUSBVGA is not set
1079# CONFIG_USB_LD is not set
1080# CONFIG_USB_TEST is not set
1081
1082#
1083# USB DSL modem support
1084#
1085
1086#
1087# USB Gadget Support
1088#
1089# CONFIG_USB_GADGET is not set
1090
1091#
1092# MMC/SD Card support
1093#
1094# CONFIG_MMC is not set
1095
1096#
1097# InfiniBand support
1098#
1099CONFIG_INFINIBAND=m 134CONFIG_INFINIBAND=m
1100# CONFIG_INFINIBAND_USER_MAD is not set
1101# CONFIG_INFINIBAND_USER_ACCESS is not set
1102CONFIG_INFINIBAND_MTHCA=m 135CONFIG_INFINIBAND_MTHCA=m
1103# CONFIG_INFINIBAND_MTHCA_DEBUG is not set
1104CONFIG_INFINIBAND_IPOIB=m 136CONFIG_INFINIBAND_IPOIB=m
1105# CONFIG_INFINIBAND_IPOIB_DEBUG is not set
1106# CONFIG_INFINIBAND_SRP is not set
1107
1108#
1109# SN Devices
1110#
1111CONFIG_SGI_IOC4=y
1112CONFIG_SGI_IOC3=y
1113
1114#
1115# EDAC - error detection and reporting (RAS)
1116#
1117
1118#
1119# File systems
1120#
1121CONFIG_EXT2_FS=y 137CONFIG_EXT2_FS=y
1122CONFIG_EXT2_FS_XATTR=y 138CONFIG_EXT2_FS_XATTR=y
1123CONFIG_EXT2_FS_POSIX_ACL=y 139CONFIG_EXT2_FS_POSIX_ACL=y
1124CONFIG_EXT2_FS_SECURITY=y 140CONFIG_EXT2_FS_SECURITY=y
1125# CONFIG_EXT2_FS_XIP is not set
1126CONFIG_EXT3_FS=y 141CONFIG_EXT3_FS=y
1127CONFIG_EXT3_FS_XATTR=y
1128CONFIG_EXT3_FS_POSIX_ACL=y 142CONFIG_EXT3_FS_POSIX_ACL=y
1129CONFIG_EXT3_FS_SECURITY=y 143CONFIG_EXT3_FS_SECURITY=y
1130CONFIG_JBD=y
1131# CONFIG_JBD_DEBUG is not set
1132CONFIG_FS_MBCACHE=y
1133CONFIG_REISERFS_FS=y 144CONFIG_REISERFS_FS=y
1134# CONFIG_REISERFS_CHECK is not set
1135# CONFIG_REISERFS_PROC_INFO is not set
1136CONFIG_REISERFS_FS_XATTR=y 145CONFIG_REISERFS_FS_XATTR=y
1137CONFIG_REISERFS_FS_POSIX_ACL=y 146CONFIG_REISERFS_FS_POSIX_ACL=y
1138CONFIG_REISERFS_FS_SECURITY=y 147CONFIG_REISERFS_FS_SECURITY=y
1139# CONFIG_JFS_FS is not set
1140CONFIG_FS_POSIX_ACL=y
1141CONFIG_XFS_FS=y 148CONFIG_XFS_FS=y
1142CONFIG_XFS_EXPORT=y
1143# CONFIG_XFS_QUOTA is not set
1144# CONFIG_XFS_SECURITY is not set
1145# CONFIG_XFS_POSIX_ACL is not set
1146# CONFIG_XFS_RT is not set
1147# CONFIG_OCFS2_FS is not set
1148# CONFIG_MINIX_FS is not set
1149# CONFIG_ROMFS_FS is not set
1150CONFIG_INOTIFY=y
1151# CONFIG_QUOTA is not set
1152CONFIG_DNOTIFY=y
1153CONFIG_AUTOFS_FS=y 149CONFIG_AUTOFS_FS=y
1154CONFIG_AUTOFS4_FS=y 150CONFIG_AUTOFS4_FS=y
1155# CONFIG_FUSE_FS is not set
1156
1157#
1158# CD-ROM/DVD Filesystems
1159#
1160CONFIG_ISO9660_FS=m 151CONFIG_ISO9660_FS=m
1161CONFIG_JOLIET=y 152CONFIG_JOLIET=y
1162# CONFIG_ZISOFS is not set
1163CONFIG_UDF_FS=m 153CONFIG_UDF_FS=m
1164CONFIG_UDF_NLS=y
1165
1166#
1167# DOS/FAT/NT Filesystems
1168#
1169CONFIG_FAT_FS=y
1170# CONFIG_MSDOS_FS is not set
1171CONFIG_VFAT_FS=y 154CONFIG_VFAT_FS=y
1172CONFIG_FAT_DEFAULT_CODEPAGE=437
1173CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1174CONFIG_NTFS_FS=m 155CONFIG_NTFS_FS=m
1175# CONFIG_NTFS_DEBUG is not set
1176# CONFIG_NTFS_RW is not set
1177
1178#
1179# Pseudo filesystems
1180#
1181CONFIG_PROC_FS=y
1182CONFIG_PROC_KCORE=y 156CONFIG_PROC_KCORE=y
1183CONFIG_SYSFS=y
1184CONFIG_TMPFS=y 157CONFIG_TMPFS=y
1185CONFIG_HUGETLBFS=y 158CONFIG_HUGETLBFS=y
1186CONFIG_HUGETLB_PAGE=y
1187CONFIG_RAMFS=y
1188# CONFIG_RELAYFS_FS is not set
1189# CONFIG_CONFIGFS_FS is not set
1190
1191#
1192# Miscellaneous filesystems
1193#
1194# CONFIG_ADFS_FS is not set
1195# CONFIG_AFFS_FS is not set
1196# CONFIG_HFS_FS is not set
1197# CONFIG_HFSPLUS_FS is not set
1198# CONFIG_BEFS_FS is not set
1199# CONFIG_BFS_FS is not set
1200# CONFIG_EFS_FS is not set
1201# CONFIG_CRAMFS is not set
1202# CONFIG_VXFS_FS is not set
1203# CONFIG_HPFS_FS is not set
1204# CONFIG_QNX4FS_FS is not set
1205# CONFIG_SYSV_FS is not set
1206# CONFIG_UFS_FS is not set
1207
1208#
1209# Network File Systems
1210#
1211CONFIG_NFS_FS=m 159CONFIG_NFS_FS=m
1212CONFIG_NFS_V3=y 160CONFIG_NFS_V3=y
1213# CONFIG_NFS_V3_ACL is not set
1214CONFIG_NFS_V4=y 161CONFIG_NFS_V4=y
1215CONFIG_NFS_DIRECTIO=y
1216CONFIG_NFSD=m 162CONFIG_NFSD=m
1217CONFIG_NFSD_V3=y
1218# CONFIG_NFSD_V3_ACL is not set
1219CONFIG_NFSD_V4=y 163CONFIG_NFSD_V4=y
1220CONFIG_NFSD_TCP=y
1221CONFIG_LOCKD=m
1222CONFIG_LOCKD_V4=y
1223CONFIG_EXPORTFS=y
1224CONFIG_NFS_COMMON=y
1225CONFIG_SUNRPC=m
1226CONFIG_SUNRPC_GSS=m
1227CONFIG_RPCSEC_GSS_KRB5=m
1228# CONFIG_RPCSEC_GSS_SPKM3 is not set
1229CONFIG_SMB_FS=m 164CONFIG_SMB_FS=m
1230CONFIG_SMB_NLS_DEFAULT=y 165CONFIG_SMB_NLS_DEFAULT=y
1231CONFIG_SMB_NLS_REMOTE="cp437"
1232CONFIG_CIFS=m 166CONFIG_CIFS=m
1233# CONFIG_CIFS_STATS is not set
1234# CONFIG_CIFS_XATTR is not set
1235# CONFIG_CIFS_EXPERIMENTAL is not set
1236# CONFIG_NCP_FS is not set
1237# CONFIG_CODA_FS is not set
1238# CONFIG_AFS_FS is not set
1239# CONFIG_9P_FS is not set
1240
1241#
1242# Partition Types
1243#
1244CONFIG_PARTITION_ADVANCED=y 167CONFIG_PARTITION_ADVANCED=y
1245# CONFIG_ACORN_PARTITION is not set
1246# CONFIG_OSF_PARTITION is not set
1247# CONFIG_AMIGA_PARTITION is not set
1248# CONFIG_ATARI_PARTITION is not set
1249# CONFIG_MAC_PARTITION is not set
1250CONFIG_MSDOS_PARTITION=y
1251# CONFIG_BSD_DISKLABEL is not set
1252# CONFIG_MINIX_SUBPARTITION is not set
1253# CONFIG_SOLARIS_X86_PARTITION is not set
1254# CONFIG_UNIXWARE_DISKLABEL is not set
1255# CONFIG_LDM_PARTITION is not set
1256CONFIG_SGI_PARTITION=y 168CONFIG_SGI_PARTITION=y
1257# CONFIG_ULTRIX_PARTITION is not set
1258# CONFIG_SUN_PARTITION is not set
1259# CONFIG_KARMA_PARTITION is not set
1260CONFIG_EFI_PARTITION=y 169CONFIG_EFI_PARTITION=y
1261
1262#
1263# Native Language Support
1264#
1265CONFIG_NLS=y
1266CONFIG_NLS_DEFAULT="iso8859-1"
1267CONFIG_NLS_CODEPAGE_437=y 170CONFIG_NLS_CODEPAGE_437=y
1268CONFIG_NLS_CODEPAGE_737=m 171CONFIG_NLS_CODEPAGE_737=m
1269CONFIG_NLS_CODEPAGE_775=m 172CONFIG_NLS_CODEPAGE_775=m
@@ -1287,7 +190,6 @@ CONFIG_NLS_CODEPAGE_874=m
1287CONFIG_NLS_ISO8859_8=m 190CONFIG_NLS_ISO8859_8=m
1288CONFIG_NLS_CODEPAGE_1250=m 191CONFIG_NLS_CODEPAGE_1250=m
1289CONFIG_NLS_CODEPAGE_1251=m 192CONFIG_NLS_CODEPAGE_1251=m
1290# CONFIG_NLS_ASCII is not set
1291CONFIG_NLS_ISO8859_1=y 193CONFIG_NLS_ISO8859_1=y
1292CONFIG_NLS_ISO8859_2=m 194CONFIG_NLS_ISO8859_2=m
1293CONFIG_NLS_ISO8859_3=m 195CONFIG_NLS_ISO8859_3=m
@@ -1302,93 +204,7 @@ CONFIG_NLS_ISO8859_15=m
1302CONFIG_NLS_KOI8_R=m 204CONFIG_NLS_KOI8_R=m
1303CONFIG_NLS_KOI8_U=m 205CONFIG_NLS_KOI8_U=m
1304CONFIG_NLS_UTF8=m 206CONFIG_NLS_UTF8=m
1305
1306#
1307# Library routines
1308#
1309# CONFIG_CRC_CCITT is not set
1310# CONFIG_CRC16 is not set
1311CONFIG_CRC32=y
1312# CONFIG_LIBCRC32C is not set
1313CONFIG_GENERIC_HARDIRQS=y
1314CONFIG_GENERIC_IRQ_PROBE=y
1315CONFIG_GENERIC_PENDING_IRQ=y
1316
1317#
1318# HP Simulator drivers
1319#
1320# CONFIG_HP_SIMETH is not set
1321# CONFIG_HP_SIMSERIAL is not set
1322# CONFIG_HP_SIMSCSI is not set
1323
1324#
1325# Instrumentation Support
1326#
1327# CONFIG_PROFILING is not set
1328# CONFIG_KPROBES is not set
1329
1330#
1331# Kernel hacking
1332#
1333# CONFIG_PRINTK_TIME is not set
1334CONFIG_MAGIC_SYSRQ=y 207CONFIG_MAGIC_SYSRQ=y
1335CONFIG_DEBUG_KERNEL=y 208CONFIG_DEBUG_KERNEL=y
1336CONFIG_LOG_BUF_SHIFT=20
1337CONFIG_DETECT_SOFTLOCKUP=y
1338# CONFIG_SCHEDSTATS is not set
1339# CONFIG_DEBUG_SLAB is not set
1340CONFIG_DEBUG_MUTEXES=y 209CONFIG_DEBUG_MUTEXES=y
1341# CONFIG_DEBUG_SPINLOCK is not set
1342# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1343# CONFIG_DEBUG_KOBJECT is not set
1344# CONFIG_DEBUG_INFO is not set
1345# CONFIG_DEBUG_FS is not set
1346# CONFIG_DEBUG_VM is not set
1347CONFIG_FORCED_INLINING=y
1348# CONFIG_RCU_TORTURE_TEST is not set
1349CONFIG_IA64_GRANULE_16MB=y
1350# CONFIG_IA64_GRANULE_64MB is not set
1351# CONFIG_IA64_PRINT_HAZARDS is not set
1352# CONFIG_DISABLE_VHPT is not set
1353# CONFIG_IA64_DEBUG_CMPXCHG is not set
1354# CONFIG_IA64_DEBUG_IRQ is not set
1355CONFIG_SYSVIPC_COMPAT=y
1356
1357#
1358# Security options
1359#
1360# CONFIG_KEYS is not set
1361# CONFIG_SECURITY is not set
1362
1363#
1364# Cryptographic options
1365#
1366CONFIG_CRYPTO=y
1367# CONFIG_CRYPTO_HMAC is not set
1368# CONFIG_CRYPTO_NULL is not set
1369# CONFIG_CRYPTO_MD4 is not set
1370CONFIG_CRYPTO_MD5=y 210CONFIG_CRYPTO_MD5=y
1371# CONFIG_CRYPTO_SHA1 is not set
1372# CONFIG_CRYPTO_SHA256 is not set
1373# CONFIG_CRYPTO_SHA512 is not set
1374# CONFIG_CRYPTO_WP512 is not set
1375# CONFIG_CRYPTO_TGR192 is not set
1376CONFIG_CRYPTO_DES=m
1377# CONFIG_CRYPTO_BLOWFISH is not set
1378# CONFIG_CRYPTO_TWOFISH is not set
1379# CONFIG_CRYPTO_SERPENT is not set
1380# CONFIG_CRYPTO_AES is not set
1381# CONFIG_CRYPTO_CAST5 is not set
1382# CONFIG_CRYPTO_CAST6 is not set
1383# CONFIG_CRYPTO_TEA is not set
1384# CONFIG_CRYPTO_ARC4 is not set
1385# CONFIG_CRYPTO_KHAZAD is not set
1386# CONFIG_CRYPTO_ANUBIS is not set
1387# CONFIG_CRYPTO_DEFLATE is not set
1388# CONFIG_CRYPTO_MICHAEL_MIC is not set
1389# CONFIG_CRYPTO_CRC32C is not set
1390# CONFIG_CRYPTO_TEST is not set
1391
1392#
1393# Hardware crypto devices
1394#
diff --git a/arch/ia64/configs/sim_defconfig b/arch/ia64/configs/sim_defconfig
index 546a772f438e..b4548a3e82d5 100644
--- a/arch/ia64/configs/sim_defconfig
+++ b/arch/ia64/configs/sim_defconfig
@@ -1,725 +1,56 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.16-rc5
4# Mon Feb 27 16:13:41 2006
5#
6
7#
8# Code maturity level options
9#
10CONFIG_EXPERIMENTAL=y 1CONFIG_EXPERIMENTAL=y
11CONFIG_LOCK_KERNEL=y
12CONFIG_INIT_ENV_ARG_LIMIT=32
13
14#
15# General setup
16#
17CONFIG_LOCALVERSION=""
18CONFIG_LOCALVERSION_AUTO=y
19CONFIG_SWAP=y
20CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
21# CONFIG_POSIX_MQUEUE is not set
22# CONFIG_BSD_PROCESS_ACCT is not set
23CONFIG_SYSCTL=y
24# CONFIG_AUDIT is not set
25CONFIG_IKCONFIG=y 3CONFIG_IKCONFIG=y
26CONFIG_IKCONFIG_PROC=y 4CONFIG_IKCONFIG_PROC=y
27# CONFIG_CPUSETS is not set 5CONFIG_LOG_BUF_SHIFT=16
28CONFIG_INITRAMFS_SOURCE=""
29# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 6# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
30# CONFIG_EMBEDDED is not set
31CONFIG_KALLSYMS=y
32# CONFIG_KALLSYMS_ALL is not set
33# CONFIG_KALLSYMS_EXTRA_PASS is not set
34CONFIG_HOTPLUG=y
35CONFIG_PRINTK=y
36CONFIG_BUG=y
37CONFIG_ELF_CORE=y
38CONFIG_BASE_FULL=y
39CONFIG_FUTEX=y
40CONFIG_EPOLL=y
41CONFIG_SHMEM=y
42CONFIG_CC_ALIGN_FUNCTIONS=0
43CONFIG_CC_ALIGN_LABELS=0
44CONFIG_CC_ALIGN_LOOPS=0
45CONFIG_CC_ALIGN_JUMPS=0
46CONFIG_SLUB=y
47# CONFIG_TINY_SHMEM is not set
48CONFIG_BASE_SMALL=0
49# CONFIG_SLOB is not set
50
51#
52# Loadable module support
53#
54CONFIG_MODULES=y 7CONFIG_MODULES=y
55CONFIG_MODULE_UNLOAD=y 8CONFIG_MODULE_UNLOAD=y
56CONFIG_MODULE_FORCE_UNLOAD=y 9CONFIG_MODULE_FORCE_UNLOAD=y
57CONFIG_OBSOLETE_MODPARM=y
58CONFIG_MODVERSIONS=y 10CONFIG_MODVERSIONS=y
59# CONFIG_MODULE_SRCVERSION_ALL is not set
60CONFIG_KMOD=y
61CONFIG_STOP_MACHINE=y
62
63#
64# Block layer
65#
66
67#
68# IO Schedulers
69#
70CONFIG_IOSCHED_NOOP=y
71CONFIG_IOSCHED_AS=y
72CONFIG_IOSCHED_DEADLINE=y
73CONFIG_IOSCHED_CFQ=y
74CONFIG_DEFAULT_AS=y
75# CONFIG_DEFAULT_DEADLINE is not set
76# CONFIG_DEFAULT_CFQ is not set
77# CONFIG_DEFAULT_NOOP is not set
78CONFIG_DEFAULT_IOSCHED="anticipatory"
79
80#
81# Processor type and features
82#
83CONFIG_IA64=y
84CONFIG_64BIT=y
85CONFIG_MMU=y
86CONFIG_SWIOTLB=y
87CONFIG_RWSEM_XCHGADD_ALGORITHM=y
88CONFIG_GENERIC_CALIBRATE_DELAY=y
89CONFIG_GENERIC_TIME=y
90CONFIG_EFI=y
91CONFIG_GENERIC_IOMAP=y
92CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
93CONFIG_DMA_IS_DMA32=y
94# CONFIG_IA64_GENERIC is not set
95# CONFIG_IA64_DIG is not set
96# CONFIG_IA64_HP_ZX1 is not set
97# CONFIG_IA64_HP_ZX1_SWIOTLB is not set
98# CONFIG_IA64_SGI_SN2 is not set
99CONFIG_IA64_HP_SIM=y 11CONFIG_IA64_HP_SIM=y
100# CONFIG_ITANIUM is not set
101CONFIG_MCKINLEY=y 12CONFIG_MCKINLEY=y
102# CONFIG_IA64_PAGE_SIZE_4KB is not set
103# CONFIG_IA64_PAGE_SIZE_8KB is not set
104# CONFIG_IA64_PAGE_SIZE_16KB is not set
105CONFIG_IA64_PAGE_SIZE_64KB=y 13CONFIG_IA64_PAGE_SIZE_64KB=y
106CONFIG_PGTABLE_3=y
107# CONFIG_PGTABLE_4 is not set
108# CONFIG_HZ_100 is not set
109CONFIG_HZ_250=y
110# CONFIG_HZ_1000 is not set
111CONFIG_HZ=250
112CONFIG_IA64_L1_CACHE_SHIFT=7
113# CONFIG_IA64_CYCLONE is not set
114CONFIG_FORCE_MAX_ZONEORDER=17
115CONFIG_SMP=y 14CONFIG_SMP=y
116CONFIG_NR_CPUS=64 15CONFIG_NR_CPUS=64
117# CONFIG_HOTPLUG_CPU is not set
118# CONFIG_SCHED_SMT is not set
119CONFIG_PREEMPT=y 16CONFIG_PREEMPT=y
120CONFIG_SELECT_MEMORY_MODEL=y
121CONFIG_FLATMEM_MANUAL=y
122# CONFIG_DISCONTIGMEM_MANUAL is not set
123# CONFIG_SPARSEMEM_MANUAL is not set
124CONFIG_FLATMEM=y
125CONFIG_FLAT_NODE_MEM_MAP=y
126# CONFIG_SPARSEMEM_STATIC is not set
127CONFIG_SPLIT_PTLOCK_CPUS=4
128CONFIG_ARCH_SELECT_MEMORY_MODEL=y
129CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
130CONFIG_ARCH_FLATMEM_ENABLE=y
131CONFIG_ARCH_SPARSEMEM_ENABLE=y
132# CONFIG_VIRTUAL_MEM_MAP is not set
133CONFIG_IA32_SUPPORT=y
134CONFIG_COMPAT=y
135# CONFIG_IA64_MCA_RECOVERY is not set
136# CONFIG_PERFMON is not set
137CONFIG_IA64_PALINFO=m 17CONFIG_IA64_PALINFO=m
138
139#
140# Firmware Drivers
141#
142CONFIG_EFI_VARS=y 18CONFIG_EFI_VARS=y
143CONFIG_BINFMT_ELF=y
144CONFIG_BINFMT_MISC=y 19CONFIG_BINFMT_MISC=y
145
146#
147# Power management and ACPI
148#
149
150#
151# Networking
152#
153CONFIG_NET=y 20CONFIG_NET=y
154
155#
156# Networking options
157#
158# CONFIG_NETDEBUG is not set
159CONFIG_PACKET=y 21CONFIG_PACKET=y
160# CONFIG_PACKET_MMAP is not set
161# CONFIG_UNIX is not set
162# CONFIG_NET_KEY is not set
163CONFIG_INET=y 22CONFIG_INET=y
164CONFIG_IP_MULTICAST=y 23CONFIG_IP_MULTICAST=y
165# CONFIG_IP_ADVANCED_ROUTER is not set
166CONFIG_IP_FIB_HASH=y
167# CONFIG_IP_PNP is not set
168# CONFIG_NET_IPIP is not set
169# CONFIG_NET_IPGRE is not set
170# CONFIG_IP_MROUTE is not set
171# CONFIG_ARPD is not set
172# CONFIG_SYN_COOKIES is not set
173# CONFIG_INET_AH is not set
174# CONFIG_INET_ESP is not set
175# CONFIG_INET_IPCOMP is not set
176# CONFIG_INET_TUNNEL is not set
177CONFIG_INET_DIAG=y
178CONFIG_INET_TCP_DIAG=y
179# CONFIG_TCP_CONG_ADVANCED is not set
180CONFIG_TCP_CONG_BIC=y
181# CONFIG_IPV6 is not set 24# CONFIG_IPV6 is not set
182# CONFIG_NETFILTER is not set
183
184#
185# DCCP Configuration (EXPERIMENTAL)
186#
187# CONFIG_IP_DCCP is not set
188
189#
190# SCTP Configuration (EXPERIMENTAL)
191#
192# CONFIG_IP_SCTP is not set
193
194#
195# TIPC Configuration (EXPERIMENTAL)
196#
197# CONFIG_TIPC is not set
198# CONFIG_ATM is not set
199# CONFIG_BRIDGE is not set
200# CONFIG_VLAN_8021Q is not set
201# CONFIG_DECNET is not set
202# CONFIG_LLC2 is not set
203# CONFIG_IPX is not set
204# CONFIG_ATALK is not set
205# CONFIG_X25 is not set
206# CONFIG_LAPB is not set
207# CONFIG_NET_DIVERT is not set
208# CONFIG_ECONET is not set
209# CONFIG_WAN_ROUTER is not set
210
211#
212# QoS and/or fair queueing
213#
214# CONFIG_NET_SCHED is not set
215
216#
217# Network testing
218#
219# CONFIG_NET_PKTGEN is not set
220# CONFIG_HAMRADIO is not set
221# CONFIG_IRDA is not set
222# CONFIG_BT is not set
223# CONFIG_IEEE80211 is not set
224
225#
226# Device Drivers
227#
228
229#
230# Generic Driver Options
231#
232# CONFIG_STANDALONE is not set 25# CONFIG_STANDALONE is not set
233CONFIG_PREVENT_FIRMWARE_BUILD=y
234# CONFIG_FW_LOADER is not set
235# CONFIG_DEBUG_DRIVER is not set
236
237#
238# Connector - unified userspace <-> kernelspace linker
239#
240# CONFIG_CONNECTOR is not set
241
242#
243# Memory Technology Devices (MTD)
244#
245# CONFIG_MTD is not set
246
247#
248# Parallel port support
249#
250# CONFIG_PARPORT is not set
251
252#
253# Plug and Play support
254#
255
256#
257# Block devices
258#
259# CONFIG_BLK_DEV_COW_COMMON is not set
260CONFIG_BLK_DEV_LOOP=y 26CONFIG_BLK_DEV_LOOP=y
261# CONFIG_BLK_DEV_CRYPTOLOOP is not set
262# CONFIG_BLK_DEV_NBD is not set
263CONFIG_BLK_DEV_RAM=y 27CONFIG_BLK_DEV_RAM=y
264CONFIG_BLK_DEV_RAM_COUNT=16
265CONFIG_BLK_DEV_RAM_SIZE=4096
266# CONFIG_BLK_DEV_INITRD is not set
267# CONFIG_CDROM_PKTCDVD is not set
268# CONFIG_ATA_OVER_ETH is not set
269
270#
271# ATA/ATAPI/MFM/RLL support
272#
273# CONFIG_IDE is not set
274
275#
276# SCSI device support
277#
278# CONFIG_RAID_ATTRS is not set
279CONFIG_SCSI=y 28CONFIG_SCSI=y
280CONFIG_SCSI_PROC_FS=y
281
282#
283# SCSI support type (disk, tape, CD-ROM)
284#
285CONFIG_BLK_DEV_SD=y 29CONFIG_BLK_DEV_SD=y
286# CONFIG_CHR_DEV_ST is not set
287# CONFIG_CHR_DEV_OSST is not set
288# CONFIG_BLK_DEV_SR is not set
289# CONFIG_CHR_DEV_SG is not set
290# CONFIG_CHR_DEV_SCH is not set
291
292#
293# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
294#
295CONFIG_SCSI_MULTI_LUN=y 30CONFIG_SCSI_MULTI_LUN=y
296CONFIG_SCSI_CONSTANTS=y 31CONFIG_SCSI_CONSTANTS=y
297CONFIG_SCSI_LOGGING=y 32CONFIG_SCSI_LOGGING=y
298
299#
300# SCSI Transport Attributes
301#
302CONFIG_SCSI_SPI_ATTRS=y 33CONFIG_SCSI_SPI_ATTRS=y
303# CONFIG_SCSI_FC_ATTRS is not set
304# CONFIG_SCSI_ISCSI_ATTRS is not set
305# CONFIG_SCSI_SAS_ATTRS is not set
306
307#
308# SCSI low-level drivers
309#
310# CONFIG_ISCSI_TCP is not set
311# CONFIG_SCSI_SATA is not set
312# CONFIG_SCSI_DEBUG is not set
313
314#
315# Multi-device support (RAID and LVM)
316#
317# CONFIG_MD is not set
318
319#
320# Fusion MPT device support
321#
322# CONFIG_FUSION is not set
323
324#
325# IEEE 1394 (FireWire) support
326#
327
328#
329# I2O device support
330#
331
332#
333# Network device support
334#
335# CONFIG_NETDEVICES is not set
336# CONFIG_DUMMY is not set
337# CONFIG_BONDING is not set
338# CONFIG_EQUALIZER is not set
339# CONFIG_TUN is not set
340
341#
342# PHY device support
343#
344
345#
346# Ethernet (10 or 100Mbit)
347#
348# CONFIG_NET_ETHERNET is not set
349
350#
351# Ethernet (1000 Mbit)
352#
353
354#
355# Ethernet (10000 Mbit)
356#
357# CONFIG_PPP is not set
358# CONFIG_SLIP is not set
359# CONFIG_SHAPER is not set
360# CONFIG_NETCONSOLE is not set
361# CONFIG_NETPOLL is not set
362# CONFIG_NET_POLL_CONTROLLER is not set
363
364#
365# ISDN subsystem
366#
367# CONFIG_ISDN is not set
368
369#
370# Telephony Support
371#
372# CONFIG_PHONE is not set
373
374#
375# Input device support
376#
377CONFIG_INPUT=y
378
379#
380# Userland interfaces
381#
382CONFIG_INPUT_MOUSEDEV=y
383CONFIG_INPUT_MOUSEDEV_PSAUX=y
384CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
385CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
386# CONFIG_INPUT_JOYDEV is not set
387# CONFIG_INPUT_TSDEV is not set
388# CONFIG_INPUT_EVDEV is not set
389# CONFIG_INPUT_EVBUG is not set
390
391#
392# Input Device Drivers
393#
394# CONFIG_INPUT_KEYBOARD is not set 34# CONFIG_INPUT_KEYBOARD is not set
395# CONFIG_INPUT_MOUSE is not set 35# CONFIG_INPUT_MOUSE is not set
396# CONFIG_INPUT_JOYSTICK is not set
397# CONFIG_INPUT_TOUCHSCREEN is not set
398# CONFIG_INPUT_MISC is not set
399
400#
401# Hardware I/O ports
402#
403CONFIG_SERIO=y
404# CONFIG_SERIO_I8042 is not set 36# CONFIG_SERIO_I8042 is not set
405CONFIG_SERIO_SERPORT=y
406# CONFIG_SERIO_RAW is not set
407# CONFIG_GAMEPORT is not set
408
409#
410# Character devices
411#
412CONFIG_VT=y
413CONFIG_VT_CONSOLE=y
414CONFIG_HW_CONSOLE=y
415# CONFIG_SERIAL_NONSTANDARD is not set
416
417#
418# Serial drivers
419#
420# CONFIG_SERIAL_8250 is not set
421
422#
423# Non-8250 serial port support
424#
425CONFIG_UNIX98_PTYS=y
426# CONFIG_LEGACY_PTYS is not set 37# CONFIG_LEGACY_PTYS is not set
427
428#
429# IPMI
430#
431# CONFIG_IPMI_HANDLER is not set
432
433#
434# Watchdog Cards
435#
436# CONFIG_WATCHDOG is not set
437CONFIG_EFI_RTC=y 38CONFIG_EFI_RTC=y
438# CONFIG_DTLK is not set
439# CONFIG_R3964 is not set
440
441#
442# Ftape, the floppy tape device driver
443#
444# CONFIG_AGP is not set
445# CONFIG_RAW_DRIVER is not set
446# CONFIG_HANGCHECK_TIMER is not set
447
448#
449# TPM devices
450#
451# CONFIG_TCG_TPM is not set
452# CONFIG_TELCLOCK is not set
453
454#
455# I2C support
456#
457# CONFIG_I2C is not set
458
459#
460# SPI support
461#
462# CONFIG_SPI is not set
463# CONFIG_SPI_MASTER is not set
464
465#
466# Dallas's 1-wire bus
467#
468# CONFIG_W1 is not set
469
470#
471# Hardware Monitoring support
472#
473CONFIG_HWMON=y
474# CONFIG_HWMON_VID is not set
475# CONFIG_SENSORS_F71805F is not set
476# CONFIG_HWMON_DEBUG_CHIP is not set
477
478#
479# Misc devices
480#
481
482#
483# Multimedia Capabilities Port drivers
484#
485
486#
487# Multimedia devices
488#
489# CONFIG_VIDEO_DEV is not set
490
491#
492# Digital Video Broadcasting Devices
493#
494# CONFIG_DVB is not set
495
496#
497# Graphics support
498#
499# CONFIG_FB is not set
500
501#
502# Console display driver support
503#
504# CONFIG_VGA_CONSOLE is not set 39# CONFIG_VGA_CONSOLE is not set
505CONFIG_DUMMY_CONSOLE=y 40CONFIG_HP_SIMETH=y
506 41CONFIG_HP_SIMSERIAL=y
507# 42CONFIG_HP_SIMSERIAL_CONSOLE=y
508# Sound 43CONFIG_HP_SIMSCSI=y
509#
510# CONFIG_SOUND is not set
511
512#
513# USB support
514#
515# CONFIG_USB_ARCH_HAS_HCD is not set
516# CONFIG_USB_ARCH_HAS_OHCI is not set
517
518#
519# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
520#
521
522#
523# USB Gadget Support
524#
525# CONFIG_USB_GADGET is not set
526
527#
528# MMC/SD Card support
529#
530# CONFIG_MMC is not set
531
532#
533# InfiniBand support
534#
535
536#
537# EDAC - error detection and reporting (RAS)
538#
539
540#
541# File systems
542#
543CONFIG_EXT2_FS=y 44CONFIG_EXT2_FS=y
544# CONFIG_EXT2_FS_XATTR is not set
545# CONFIG_EXT2_FS_XIP is not set
546CONFIG_EXT3_FS=y 45CONFIG_EXT3_FS=y
547# CONFIG_EXT3_FS_XATTR is not set 46# CONFIG_EXT3_FS_XATTR is not set
548CONFIG_JBD=y
549# CONFIG_JBD_DEBUG is not set
550# CONFIG_REISERFS_FS is not set
551# CONFIG_JFS_FS is not set
552# CONFIG_FS_POSIX_ACL is not set
553# CONFIG_XFS_FS is not set
554# CONFIG_OCFS2_FS is not set
555# CONFIG_MINIX_FS is not set
556# CONFIG_ROMFS_FS is not set
557CONFIG_INOTIFY=y
558# CONFIG_QUOTA is not set
559CONFIG_DNOTIFY=y
560# CONFIG_AUTOFS_FS is not set
561# CONFIG_AUTOFS4_FS is not set
562# CONFIG_FUSE_FS is not set
563
564#
565# CD-ROM/DVD Filesystems
566#
567# CONFIG_ISO9660_FS is not set
568# CONFIG_UDF_FS is not set
569
570#
571# DOS/FAT/NT Filesystems
572#
573# CONFIG_MSDOS_FS is not set
574# CONFIG_VFAT_FS is not set
575# CONFIG_NTFS_FS is not set
576
577#
578# Pseudo filesystems
579#
580CONFIG_PROC_FS=y
581CONFIG_PROC_KCORE=y 47CONFIG_PROC_KCORE=y
582CONFIG_SYSFS=y
583# CONFIG_TMPFS is not set
584CONFIG_HUGETLBFS=y 48CONFIG_HUGETLBFS=y
585CONFIG_HUGETLB_PAGE=y
586CONFIG_RAMFS=y
587# CONFIG_RELAYFS_FS is not set
588# CONFIG_CONFIGFS_FS is not set
589
590#
591# Miscellaneous filesystems
592#
593# CONFIG_ADFS_FS is not set
594# CONFIG_AFFS_FS is not set
595# CONFIG_HFS_FS is not set
596# CONFIG_HFSPLUS_FS is not set
597# CONFIG_BEFS_FS is not set
598# CONFIG_BFS_FS is not set
599# CONFIG_EFS_FS is not set
600# CONFIG_CRAMFS is not set
601# CONFIG_VXFS_FS is not set
602# CONFIG_HPFS_FS is not set
603# CONFIG_QNX4FS_FS is not set
604# CONFIG_SYSV_FS is not set
605# CONFIG_UFS_FS is not set
606
607#
608# Network File Systems
609#
610CONFIG_NFS_FS=y 49CONFIG_NFS_FS=y
611# CONFIG_NFS_V3 is not set
612# CONFIG_NFS_V4 is not set
613CONFIG_NFS_DIRECTIO=y
614CONFIG_NFSD=y 50CONFIG_NFSD=y
615CONFIG_NFSD_V3=y 51CONFIG_NFSD_V3=y
616# CONFIG_NFSD_V3_ACL is not set
617# CONFIG_NFSD_V4 is not set
618# CONFIG_NFSD_TCP is not set
619CONFIG_LOCKD=y
620CONFIG_LOCKD_V4=y
621CONFIG_EXPORTFS=y
622CONFIG_NFS_COMMON=y
623CONFIG_SUNRPC=y
624# CONFIG_RPCSEC_GSS_KRB5 is not set
625# CONFIG_RPCSEC_GSS_SPKM3 is not set
626# CONFIG_SMB_FS is not set
627# CONFIG_CIFS is not set
628# CONFIG_NCP_FS is not set
629# CONFIG_CODA_FS is not set
630# CONFIG_AFS_FS is not set
631# CONFIG_9P_FS is not set
632
633#
634# Partition Types
635#
636CONFIG_PARTITION_ADVANCED=y 52CONFIG_PARTITION_ADVANCED=y
637# CONFIG_ACORN_PARTITION is not set
638# CONFIG_OSF_PARTITION is not set
639# CONFIG_AMIGA_PARTITION is not set
640# CONFIG_ATARI_PARTITION is not set
641# CONFIG_MAC_PARTITION is not set
642CONFIG_MSDOS_PARTITION=y
643# CONFIG_BSD_DISKLABEL is not set
644# CONFIG_MINIX_SUBPARTITION is not set
645# CONFIG_SOLARIS_X86_PARTITION is not set
646# CONFIG_UNIXWARE_DISKLABEL is not set
647# CONFIG_LDM_PARTITION is not set
648# CONFIG_SGI_PARTITION is not set
649# CONFIG_ULTRIX_PARTITION is not set
650# CONFIG_SUN_PARTITION is not set
651# CONFIG_KARMA_PARTITION is not set
652CONFIG_EFI_PARTITION=y 53CONFIG_EFI_PARTITION=y
653
654#
655# Native Language Support
656#
657# CONFIG_NLS is not set
658
659#
660# Library routines
661#
662# CONFIG_CRC_CCITT is not set
663# CONFIG_CRC16 is not set
664CONFIG_CRC32=y
665# CONFIG_LIBCRC32C is not set
666CONFIG_GENERIC_HARDIRQS=y
667CONFIG_GENERIC_IRQ_PROBE=y
668CONFIG_GENERIC_PENDING_IRQ=y
669
670#
671# HP Simulator drivers
672#
673CONFIG_HP_SIMETH=y
674CONFIG_HP_SIMSERIAL=y
675CONFIG_HP_SIMSERIAL_CONSOLE=y
676CONFIG_HP_SIMSCSI=y
677
678#
679# Instrumentation Support
680#
681# CONFIG_PROFILING is not set
682# CONFIG_KPROBES is not set
683
684#
685# Kernel hacking
686#
687# CONFIG_PRINTK_TIME is not set
688# CONFIG_MAGIC_SYSRQ is not set
689CONFIG_DEBUG_KERNEL=y 54CONFIG_DEBUG_KERNEL=y
690CONFIG_LOG_BUF_SHIFT=16
691CONFIG_DETECT_SOFTLOCKUP=y
692# CONFIG_SCHEDSTATS is not set
693# CONFIG_DEBUG_SLAB is not set
694CONFIG_DEBUG_PREEMPT=y
695CONFIG_DEBUG_MUTEXES=y 55CONFIG_DEBUG_MUTEXES=y
696# CONFIG_DEBUG_SPINLOCK is not set
697# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
698# CONFIG_DEBUG_KOBJECT is not set
699CONFIG_DEBUG_INFO=y 56CONFIG_DEBUG_INFO=y
700# CONFIG_DEBUG_FS is not set
701# CONFIG_DEBUG_VM is not set
702CONFIG_FORCED_INLINING=y
703# CONFIG_RCU_TORTURE_TEST is not set
704# CONFIG_IA64_GRANULE_16MB is not set
705CONFIG_IA64_GRANULE_64MB=y
706# CONFIG_IA64_PRINT_HAZARDS is not set
707# CONFIG_DISABLE_VHPT is not set
708# CONFIG_IA64_DEBUG_CMPXCHG is not set
709# CONFIG_IA64_DEBUG_IRQ is not set
710CONFIG_SYSVIPC_COMPAT=y
711
712#
713# Security options
714#
715# CONFIG_KEYS is not set
716# CONFIG_SECURITY is not set
717
718#
719# Cryptographic options
720#
721# CONFIG_CRYPTO is not set
722
723#
724# Hardware crypto devices
725#
diff --git a/arch/ia64/configs/tiger_defconfig b/arch/ia64/configs/tiger_defconfig
index c522edf23c62..137a453dd508 100644
--- a/arch/ia64/configs/tiger_defconfig
+++ b/arch/ia64/configs/tiger_defconfig
@@ -1,747 +1,98 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.22
4# Thu Jul 19 13:54:47 2007
5#
6CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
7
8#
9# Code maturity level options
10#
11CONFIG_EXPERIMENTAL=y 1CONFIG_EXPERIMENTAL=y
12CONFIG_LOCK_KERNEL=y
13CONFIG_INIT_ENV_ARG_LIMIT=32
14
15#
16# General setup
17#
18CONFIG_LOCALVERSION=""
19CONFIG_LOCALVERSION_AUTO=y
20CONFIG_SWAP=y
21CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
22CONFIG_SYSVIPC_SYSCTL=y
23CONFIG_POSIX_MQUEUE=y 3CONFIG_POSIX_MQUEUE=y
24# CONFIG_BSD_PROCESS_ACCT is not set
25# CONFIG_TASKSTATS is not set
26# CONFIG_USER_NS is not set
27# CONFIG_AUDIT is not set
28CONFIG_IKCONFIG=y 4CONFIG_IKCONFIG=y
29CONFIG_IKCONFIG_PROC=y 5CONFIG_IKCONFIG_PROC=y
30CONFIG_LOG_BUF_SHIFT=20 6CONFIG_LOG_BUF_SHIFT=20
31# CONFIG_CPUSETS is not set
32CONFIG_SYSFS_DEPRECATED=y
33# CONFIG_RELAY is not set
34CONFIG_BLK_DEV_INITRD=y 7CONFIG_BLK_DEV_INITRD=y
35CONFIG_INITRAMFS_SOURCE=""
36CONFIG_CC_OPTIMIZE_FOR_SIZE=y
37CONFIG_SYSCTL=y
38# CONFIG_EMBEDDED is not set
39CONFIG_SYSCTL_SYSCALL=y
40CONFIG_KALLSYMS=y
41CONFIG_KALLSYMS_ALL=y 8CONFIG_KALLSYMS_ALL=y
42# CONFIG_KALLSYMS_EXTRA_PASS is not set
43CONFIG_HOTPLUG=y
44CONFIG_PRINTK=y
45CONFIG_BUG=y
46CONFIG_ELF_CORE=y
47CONFIG_BASE_FULL=y
48CONFIG_FUTEX=y
49CONFIG_ANON_INODES=y
50CONFIG_EPOLL=y
51CONFIG_SIGNALFD=y
52CONFIG_TIMERFD=y
53CONFIG_EVENTFD=y
54CONFIG_SHMEM=y
55CONFIG_VM_EVENT_COUNTERS=y
56CONFIG_SLUB=y
57# CONFIG_SLUB is not set
58# CONFIG_SLOB is not set
59CONFIG_RT_MUTEXES=y
60# CONFIG_TINY_SHMEM is not set
61CONFIG_BASE_SMALL=0
62CONFIG_MODULES=y 9CONFIG_MODULES=y
63CONFIG_MODULE_UNLOAD=y 10CONFIG_MODULE_UNLOAD=y
64# CONFIG_MODULE_FORCE_UNLOAD is not set
65CONFIG_MODVERSIONS=y 11CONFIG_MODVERSIONS=y
66CONFIG_MODULE_SRCVERSION_ALL=y 12CONFIG_MODULE_SRCVERSION_ALL=y
67CONFIG_KMOD=y
68CONFIG_STOP_MACHINE=y
69CONFIG_BLOCK=y
70# CONFIG_BLK_DEV_IO_TRACE is not set
71# CONFIG_BLK_DEV_BSG is not set 13# CONFIG_BLK_DEV_BSG is not set
72
73#
74# IO Schedulers
75#
76CONFIG_IOSCHED_NOOP=y
77CONFIG_IOSCHED_AS=y
78CONFIG_IOSCHED_DEADLINE=y
79CONFIG_IOSCHED_CFQ=y
80CONFIG_DEFAULT_AS=y
81# CONFIG_DEFAULT_DEADLINE is not set
82# CONFIG_DEFAULT_CFQ is not set
83# CONFIG_DEFAULT_NOOP is not set
84CONFIG_DEFAULT_IOSCHED="anticipatory"
85
86#
87# Processor type and features
88#
89CONFIG_IA64=y
90CONFIG_64BIT=y
91CONFIG_ZONE_DMA=y
92CONFIG_QUICKLIST=y
93CONFIG_MMU=y
94CONFIG_SWIOTLB=y
95CONFIG_RWSEM_XCHGADD_ALGORITHM=y
96# CONFIG_ARCH_HAS_ILOG2_U32 is not set
97# CONFIG_ARCH_HAS_ILOG2_U64 is not set
98CONFIG_GENERIC_FIND_NEXT_BIT=y
99CONFIG_GENERIC_CALIBRATE_DELAY=y
100CONFIG_GENERIC_TIME=y
101CONFIG_DMI=y
102CONFIG_EFI=y
103CONFIG_GENERIC_IOMAP=y
104CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
105CONFIG_AUDIT_ARCH=y
106# CONFIG_IA64_GENERIC is not set
107CONFIG_IA64_DIG=y 14CONFIG_IA64_DIG=y
108# CONFIG_IA64_HP_ZX1 is not set
109# CONFIG_IA64_HP_ZX1_SWIOTLB is not set
110# CONFIG_IA64_SGI_SN2 is not set
111# CONFIG_IA64_HP_SIM is not set
112# CONFIG_ITANIUM is not set
113CONFIG_MCKINLEY=y 15CONFIG_MCKINLEY=y
114# CONFIG_IA64_PAGE_SIZE_4KB is not set
115# CONFIG_IA64_PAGE_SIZE_8KB is not set
116# CONFIG_IA64_PAGE_SIZE_16KB is not set
117CONFIG_IA64_PAGE_SIZE_64KB=y 16CONFIG_IA64_PAGE_SIZE_64KB=y
118CONFIG_PGTABLE_3=y
119# CONFIG_PGTABLE_4 is not set
120# CONFIG_HZ_100 is not set
121CONFIG_HZ_250=y
122# CONFIG_HZ_300 is not set
123# CONFIG_HZ_1000 is not set
124CONFIG_HZ=250
125CONFIG_IA64_L1_CACHE_SHIFT=7
126CONFIG_IA64_CYCLONE=y 17CONFIG_IA64_CYCLONE=y
127CONFIG_IOSAPIC=y
128CONFIG_FORCE_MAX_ZONEORDER=17
129CONFIG_SMP=y 18CONFIG_SMP=y
130CONFIG_NR_CPUS=16 19CONFIG_NR_CPUS=16
131CONFIG_HOTPLUG_CPU=y 20CONFIG_HOTPLUG_CPU=y
132CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
133# CONFIG_SCHED_SMT is not set
134CONFIG_PERMIT_BSP_REMOVE=y 21CONFIG_PERMIT_BSP_REMOVE=y
135CONFIG_FORCE_CPEI_RETARGET=y 22CONFIG_FORCE_CPEI_RETARGET=y
136# CONFIG_PREEMPT is not set
137CONFIG_SELECT_MEMORY_MODEL=y
138CONFIG_FLATMEM_MANUAL=y
139# CONFIG_DISCONTIGMEM_MANUAL is not set
140# CONFIG_SPARSEMEM_MANUAL is not set
141CONFIG_FLATMEM=y
142CONFIG_FLAT_NODE_MEM_MAP=y
143# CONFIG_SPARSEMEM_STATIC is not set
144CONFIG_SPLIT_PTLOCK_CPUS=4
145CONFIG_RESOURCES_64BIT=y
146CONFIG_ZONE_DMA_FLAG=1
147CONFIG_BOUNCE=y
148CONFIG_NR_QUICK=1
149CONFIG_VIRT_TO_BUS=y
150CONFIG_ARCH_SELECT_MEMORY_MODEL=y
151CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
152CONFIG_ARCH_FLATMEM_ENABLE=y
153CONFIG_ARCH_SPARSEMEM_ENABLE=y
154CONFIG_ARCH_POPULATES_NODE_MAP=y
155CONFIG_VIRTUAL_MEM_MAP=y
156CONFIG_HOLES_IN_ZONE=y
157# CONFIG_IA32_SUPPORT is not set
158CONFIG_IA64_MCA_RECOVERY=y 23CONFIG_IA64_MCA_RECOVERY=y
159CONFIG_PERFMON=y 24CONFIG_PERFMON=y
160CONFIG_IA64_PALINFO=y 25CONFIG_IA64_PALINFO=y
161# CONFIG_IA64_MC_ERR_INJECT is not set
162# CONFIG_IA64_ESI is not set
163CONFIG_KEXEC=y 26CONFIG_KEXEC=y
164# CONFIG_CRASH_DUMP is not set
165
166#
167# Firmware Drivers
168#
169CONFIG_EFI_VARS=y 27CONFIG_EFI_VARS=y
170CONFIG_EFI_PCDP=y
171CONFIG_DMIID=y
172CONFIG_BINFMT_ELF=y
173CONFIG_BINFMT_MISC=m 28CONFIG_BINFMT_MISC=m
174
175# CONFIG_DMAR is not set
176
177#
178# Power management and ACPI
179#
180CONFIG_PM=y
181CONFIG_PM_LEGACY=y
182# CONFIG_PM_DEBUG is not set
183
184#
185# ACPI (Advanced Configuration and Power Interface) Support
186#
187CONFIG_ACPI=y
188CONFIG_ACPI_PROCFS=y 29CONFIG_ACPI_PROCFS=y
189CONFIG_ACPI_BUTTON=m 30CONFIG_ACPI_BUTTON=m
190CONFIG_ACPI_FAN=m 31CONFIG_ACPI_FAN=m
191# CONFIG_ACPI_DOCK is not set
192CONFIG_ACPI_PROCESSOR=m 32CONFIG_ACPI_PROCESSOR=m
193CONFIG_ACPI_HOTPLUG_CPU=y
194CONFIG_ACPI_THERMAL=m
195CONFIG_ACPI_BLACKLIST_YEAR=0
196# CONFIG_ACPI_DEBUG is not set
197CONFIG_ACPI_EC=y
198CONFIG_ACPI_POWER=y
199CONFIG_ACPI_SYSTEM=y
200CONFIG_ACPI_CONTAINER=m 33CONFIG_ACPI_CONTAINER=m
201
202#
203# CPU Frequency scaling
204#
205# CONFIG_CPU_FREQ is not set
206
207#
208# Bus options (PCI, PCMCIA)
209#
210CONFIG_PCI=y
211CONFIG_PCI_DOMAINS=y
212CONFIG_PCI_SYSCALL=y
213# CONFIG_PCIEPORTBUS is not set
214CONFIG_ARCH_SUPPORTS_MSI=y
215# CONFIG_PCI_MSI is not set
216# CONFIG_PCI_DEBUG is not set
217CONFIG_HOTPLUG_PCI=m 34CONFIG_HOTPLUG_PCI=m
218# CONFIG_HOTPLUG_PCI_FAKE is not set
219CONFIG_HOTPLUG_PCI_ACPI=m 35CONFIG_HOTPLUG_PCI_ACPI=m
220# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set
221# CONFIG_HOTPLUG_PCI_CPCI is not set
222# CONFIG_HOTPLUG_PCI_SHPC is not set
223
224#
225# PCCARD (PCMCIA/CardBus) support
226#
227# CONFIG_PCCARD is not set
228
229#
230# Networking
231#
232CONFIG_NET=y
233
234#
235# Networking options
236#
237CONFIG_PACKET=y 36CONFIG_PACKET=y
238# CONFIG_PACKET_MMAP is not set
239CONFIG_UNIX=y 37CONFIG_UNIX=y
240CONFIG_XFRM=y
241# CONFIG_XFRM_USER is not set
242# CONFIG_XFRM_SUB_POLICY is not set
243# CONFIG_XFRM_MIGRATE is not set
244# CONFIG_NET_KEY is not set
245CONFIG_INET=y 38CONFIG_INET=y
246CONFIG_IP_MULTICAST=y 39CONFIG_IP_MULTICAST=y
247# CONFIG_IP_ADVANCED_ROUTER is not set
248CONFIG_IP_FIB_HASH=y
249# CONFIG_IP_PNP is not set
250# CONFIG_NET_IPIP is not set
251# CONFIG_NET_IPGRE is not set
252# CONFIG_IP_MROUTE is not set
253CONFIG_ARPD=y 40CONFIG_ARPD=y
254CONFIG_SYN_COOKIES=y 41CONFIG_SYN_COOKIES=y
255# CONFIG_INET_AH is not set
256# CONFIG_INET_ESP is not set
257# CONFIG_INET_IPCOMP is not set
258# CONFIG_INET_XFRM_TUNNEL is not set
259# CONFIG_INET_TUNNEL is not set
260CONFIG_INET_XFRM_MODE_TRANSPORT=y
261CONFIG_INET_XFRM_MODE_TUNNEL=y
262CONFIG_INET_XFRM_MODE_BEET=y
263CONFIG_INET_DIAG=y
264CONFIG_INET_TCP_DIAG=y
265# CONFIG_TCP_CONG_ADVANCED is not set
266CONFIG_TCP_CONG_CUBIC=y
267CONFIG_DEFAULT_TCP_CONG="cubic"
268# CONFIG_TCP_MD5SIG is not set
269# CONFIG_IPV6 is not set 42# CONFIG_IPV6 is not set
270# CONFIG_INET6_XFRM_TUNNEL is not set
271# CONFIG_INET6_TUNNEL is not set
272# CONFIG_NETWORK_SECMARK is not set
273# CONFIG_NETFILTER is not set
274# CONFIG_IP_DCCP is not set
275# CONFIG_IP_SCTP is not set
276# CONFIG_TIPC is not set
277# CONFIG_ATM is not set
278# CONFIG_BRIDGE is not set
279# CONFIG_VLAN_8021Q is not set
280# CONFIG_DECNET is not set
281# CONFIG_LLC2 is not set
282# CONFIG_IPX is not set
283# CONFIG_ATALK is not set
284# CONFIG_X25 is not set
285# CONFIG_LAPB is not set
286# CONFIG_ECONET is not set
287# CONFIG_WAN_ROUTER is not set
288
289#
290# QoS and/or fair queueing
291#
292# CONFIG_NET_SCHED is not set
293
294#
295# Network testing
296#
297# CONFIG_NET_PKTGEN is not set
298# CONFIG_HAMRADIO is not set
299# CONFIG_IRDA is not set
300# CONFIG_BT is not set
301# CONFIG_AF_RXRPC is not set
302
303#
304# Wireless
305#
306# CONFIG_CFG80211 is not set
307# CONFIG_WIRELESS_EXT is not set
308# CONFIG_MAC80211 is not set
309# CONFIG_IEEE80211 is not set
310# CONFIG_RFKILL is not set
311# CONFIG_NET_9P is not set
312
313#
314# Device Drivers
315#
316
317#
318# Generic Driver Options
319#
320CONFIG_STANDALONE=y
321CONFIG_PREVENT_FIRMWARE_BUILD=y
322CONFIG_FW_LOADER=m
323# CONFIG_DEBUG_DRIVER is not set
324# CONFIG_DEBUG_DEVRES is not set
325# CONFIG_SYS_HYPERVISOR is not set
326# CONFIG_CONNECTOR is not set
327# CONFIG_MTD is not set
328# CONFIG_PARPORT is not set
329CONFIG_PNP=y
330# CONFIG_PNP_DEBUG is not set
331
332#
333# Protocols
334#
335CONFIG_PNPACPI=y
336CONFIG_BLK_DEV=y
337# CONFIG_BLK_CPQ_DA is not set
338# CONFIG_BLK_CPQ_CISS_DA is not set
339# CONFIG_BLK_DEV_DAC960 is not set
340# CONFIG_BLK_DEV_UMEM is not set
341# CONFIG_BLK_DEV_COW_COMMON is not set
342CONFIG_BLK_DEV_LOOP=m 43CONFIG_BLK_DEV_LOOP=m
343CONFIG_BLK_DEV_CRYPTOLOOP=m 44CONFIG_BLK_DEV_CRYPTOLOOP=m
344CONFIG_BLK_DEV_NBD=m 45CONFIG_BLK_DEV_NBD=m
345# CONFIG_BLK_DEV_SX8 is not set
346# CONFIG_BLK_DEV_UB is not set
347CONFIG_BLK_DEV_RAM=y 46CONFIG_BLK_DEV_RAM=y
348CONFIG_BLK_DEV_RAM_COUNT=16
349CONFIG_BLK_DEV_RAM_SIZE=4096
350CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
351# CONFIG_CDROM_PKTCDVD is not set
352# CONFIG_ATA_OVER_ETH is not set
353CONFIG_MISC_DEVICES=y
354# CONFIG_PHANTOM is not set
355# CONFIG_EEPROM_93CX6 is not set
356# CONFIG_SGI_IOC4 is not set
357# CONFIG_TIFM_CORE is not set
358CONFIG_IDE=y 47CONFIG_IDE=y
359CONFIG_IDE_MAX_HWIFS=4
360CONFIG_BLK_DEV_IDE=y
361
362#
363# Please see Documentation/ide.txt for help/info on IDE drives
364#
365# CONFIG_BLK_DEV_IDE_SATA is not set
366CONFIG_BLK_DEV_IDEDISK=y
367# CONFIG_IDEDISK_MULTI_MODE is not set
368CONFIG_BLK_DEV_IDECD=y 48CONFIG_BLK_DEV_IDECD=y
369# CONFIG_BLK_DEV_IDETAPE is not set
370CONFIG_BLK_DEV_IDEFLOPPY=y
371CONFIG_BLK_DEV_IDESCSI=m
372# CONFIG_BLK_DEV_IDEACPI is not set
373# CONFIG_IDE_TASK_IOCTL is not set
374CONFIG_IDE_PROC_FS=y
375
376#
377# IDE chipset support/bugfixes
378#
379# CONFIG_IDE_GENERIC is not set
380# CONFIG_BLK_DEV_IDEPNP is not set
381CONFIG_BLK_DEV_IDEPCI=y
382# CONFIG_IDEPCI_SHARE_IRQ is not set
383CONFIG_IDEPCI_PCIBUS_ORDER=y
384# CONFIG_BLK_DEV_OFFBOARD is not set
385CONFIG_BLK_DEV_GENERIC=y 49CONFIG_BLK_DEV_GENERIC=y
386# CONFIG_BLK_DEV_OPTI621 is not set
387CONFIG_BLK_DEV_IDEDMA_PCI=y
388# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
389# CONFIG_IDEDMA_ONLYDISK is not set
390# CONFIG_BLK_DEV_AEC62XX is not set
391# CONFIG_BLK_DEV_ALI15X3 is not set
392# CONFIG_BLK_DEV_AMD74XX is not set
393CONFIG_BLK_DEV_CMD64X=y 50CONFIG_BLK_DEV_CMD64X=y
394# CONFIG_BLK_DEV_TRIFLEX is not set
395# CONFIG_BLK_DEV_CY82C693 is not set
396# CONFIG_BLK_DEV_CS5520 is not set
397# CONFIG_BLK_DEV_CS5530 is not set
398# CONFIG_BLK_DEV_HPT34X is not set
399# CONFIG_BLK_DEV_HPT366 is not set
400# CONFIG_BLK_DEV_JMICRON is not set
401# CONFIG_BLK_DEV_SC1200 is not set
402CONFIG_BLK_DEV_PIIX=y 51CONFIG_BLK_DEV_PIIX=y
403# CONFIG_BLK_DEV_IT8213 is not set
404# CONFIG_BLK_DEV_IT821X is not set
405# CONFIG_BLK_DEV_NS87415 is not set
406# CONFIG_BLK_DEV_PDC202XX_OLD is not set
407# CONFIG_BLK_DEV_PDC202XX_NEW is not set
408# CONFIG_BLK_DEV_SVWKS is not set
409# CONFIG_BLK_DEV_SIIMAGE is not set
410# CONFIG_BLK_DEV_SLC90E66 is not set
411# CONFIG_BLK_DEV_TRM290 is not set
412# CONFIG_BLK_DEV_VIA82CXXX is not set
413# CONFIG_BLK_DEV_TC86C001 is not set
414# CONFIG_IDE_ARM is not set
415CONFIG_BLK_DEV_IDEDMA=y
416# CONFIG_IDEDMA_IVB is not set
417# CONFIG_BLK_DEV_HD is not set
418
419#
420# SCSI device support
421#
422# CONFIG_RAID_ATTRS is not set
423CONFIG_SCSI=y 52CONFIG_SCSI=y
424CONFIG_SCSI_DMA=y
425# CONFIG_SCSI_TGT is not set
426CONFIG_SCSI_NETLINK=y
427CONFIG_SCSI_PROC_FS=y
428
429#
430# SCSI support type (disk, tape, CD-ROM)
431#
432CONFIG_BLK_DEV_SD=y 53CONFIG_BLK_DEV_SD=y
433CONFIG_CHR_DEV_ST=m 54CONFIG_CHR_DEV_ST=m
434# CONFIG_CHR_DEV_OSST is not set
435CONFIG_BLK_DEV_SR=m 55CONFIG_BLK_DEV_SR=m
436# CONFIG_BLK_DEV_SR_VENDOR is not set
437CONFIG_CHR_DEV_SG=m 56CONFIG_CHR_DEV_SG=m
438# CONFIG_CHR_DEV_SCH is not set
439
440#
441# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
442#
443# CONFIG_SCSI_MULTI_LUN is not set
444# CONFIG_SCSI_CONSTANTS is not set
445# CONFIG_SCSI_LOGGING is not set
446# CONFIG_SCSI_SCAN_ASYNC is not set
447CONFIG_SCSI_WAIT_SCAN=m
448
449#
450# SCSI Transports
451#
452CONFIG_SCSI_SPI_ATTRS=y
453CONFIG_SCSI_FC_ATTRS=y
454# CONFIG_SCSI_ISCSI_ATTRS is not set
455# CONFIG_SCSI_SAS_ATTRS is not set
456# CONFIG_SCSI_SAS_LIBSAS is not set
457
458#
459# SCSI low-level drivers
460#
461# CONFIG_ISCSI_TCP is not set
462# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
463# CONFIG_SCSI_3W_9XXX is not set
464# CONFIG_SCSI_ACARD is not set
465# CONFIG_SCSI_AACRAID is not set
466# CONFIG_SCSI_AIC7XXX is not set
467# CONFIG_SCSI_AIC7XXX_OLD is not set
468# CONFIG_SCSI_AIC79XX is not set
469# CONFIG_SCSI_AIC94XX is not set
470# CONFIG_SCSI_ARCMSR is not set
471# CONFIG_MEGARAID_NEWGEN is not set
472# CONFIG_MEGARAID_LEGACY is not set
473# CONFIG_MEGARAID_SAS is not set
474# CONFIG_SCSI_HPTIOP is not set
475# CONFIG_SCSI_DMX3191D is not set
476# CONFIG_SCSI_FUTURE_DOMAIN is not set
477# CONFIG_SCSI_IPS is not set
478# CONFIG_SCSI_INITIO is not set
479# CONFIG_SCSI_INIA100 is not set
480# CONFIG_SCSI_STEX is not set
481CONFIG_SCSI_SYM53C8XX_2=y 57CONFIG_SCSI_SYM53C8XX_2=y
482CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
483CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
484CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
485CONFIG_SCSI_SYM53C8XX_MMIO=y
486CONFIG_SCSI_QLOGIC_1280=y 58CONFIG_SCSI_QLOGIC_1280=y
487# CONFIG_SCSI_QLA_FC is not set
488# CONFIG_SCSI_QLA_ISCSI is not set
489# CONFIG_SCSI_LPFC is not set
490# CONFIG_SCSI_DC395x is not set
491# CONFIG_SCSI_DC390T is not set
492# CONFIG_SCSI_DEBUG is not set
493# CONFIG_SCSI_SRP is not set
494# CONFIG_ATA is not set
495CONFIG_MD=y 59CONFIG_MD=y
496CONFIG_BLK_DEV_MD=m 60CONFIG_BLK_DEV_MD=m
497CONFIG_MD_LINEAR=m 61CONFIG_MD_LINEAR=m
498CONFIG_MD_RAID0=m 62CONFIG_MD_RAID0=m
499CONFIG_MD_RAID1=m 63CONFIG_MD_RAID1=m
500# CONFIG_MD_RAID10 is not set
501# CONFIG_MD_RAID456 is not set
502CONFIG_MD_MULTIPATH=m 64CONFIG_MD_MULTIPATH=m
503# CONFIG_MD_FAULTY is not set
504CONFIG_BLK_DEV_DM=m 65CONFIG_BLK_DEV_DM=m
505# CONFIG_DM_DEBUG is not set
506CONFIG_DM_CRYPT=m 66CONFIG_DM_CRYPT=m
507CONFIG_DM_SNAPSHOT=m 67CONFIG_DM_SNAPSHOT=m
508CONFIG_DM_MIRROR=m 68CONFIG_DM_MIRROR=m
509CONFIG_DM_ZERO=m 69CONFIG_DM_ZERO=m
510# CONFIG_DM_MULTIPATH is not set
511# CONFIG_DM_DELAY is not set
512
513#
514# Fusion MPT device support
515#
516CONFIG_FUSION=y 70CONFIG_FUSION=y
517CONFIG_FUSION_SPI=y 71CONFIG_FUSION_SPI=y
518CONFIG_FUSION_FC=y 72CONFIG_FUSION_FC=y
519# CONFIG_FUSION_SAS is not set
520CONFIG_FUSION_MAX_SGE=128
521CONFIG_FUSION_CTL=y 73CONFIG_FUSION_CTL=y
522
523#
524# IEEE 1394 (FireWire) support
525#
526# CONFIG_FIREWIRE is not set
527# CONFIG_IEEE1394 is not set
528# CONFIG_I2O is not set
529CONFIG_NETDEVICES=y 74CONFIG_NETDEVICES=y
530# CONFIG_NETDEVICES_MULTIQUEUE is not set
531CONFIG_DUMMY=m 75CONFIG_DUMMY=m
532# CONFIG_BONDING is not set
533# CONFIG_MACVLAN is not set
534# CONFIG_EQUALIZER is not set
535# CONFIG_TUN is not set
536# CONFIG_NET_SB1000 is not set
537# CONFIG_ARCNET is not set
538# CONFIG_PHYLIB is not set
539CONFIG_NET_ETHERNET=y 76CONFIG_NET_ETHERNET=y
540CONFIG_MII=m
541# CONFIG_HAPPYMEAL is not set
542# CONFIG_SUNGEM is not set
543# CONFIG_CASSINI is not set
544# CONFIG_NET_VENDOR_3COM is not set
545CONFIG_NET_TULIP=y 77CONFIG_NET_TULIP=y
546# CONFIG_DE2104X is not set
547CONFIG_TULIP=m 78CONFIG_TULIP=m
548# CONFIG_TULIP_MWI is not set
549# CONFIG_TULIP_MMIO is not set
550# CONFIG_TULIP_NAPI is not set
551# CONFIG_DE4X5 is not set
552# CONFIG_WINBOND_840 is not set
553# CONFIG_DM9102 is not set
554# CONFIG_ULI526X is not set
555# CONFIG_HP100 is not set
556CONFIG_NET_PCI=y 79CONFIG_NET_PCI=y
557# CONFIG_PCNET32 is not set
558# CONFIG_AMD8111_ETH is not set
559# CONFIG_ADAPTEC_STARFIRE is not set
560# CONFIG_B44 is not set
561# CONFIG_FORCEDETH is not set
562# CONFIG_DGRS is not set
563CONFIG_EEPRO100=m
564CONFIG_E100=m 80CONFIG_E100=m
565# CONFIG_FEALNX is not set
566# CONFIG_NATSEMI is not set
567# CONFIG_NE2K_PCI is not set
568# CONFIG_8139CP is not set
569# CONFIG_8139TOO is not set
570# CONFIG_SIS900 is not set
571# CONFIG_EPIC100 is not set
572# CONFIG_SUNDANCE is not set
573# CONFIG_VIA_RHINE is not set
574# CONFIG_SC92031 is not set
575CONFIG_NETDEV_1000=y
576# CONFIG_ACENIC is not set
577# CONFIG_DL2K is not set
578CONFIG_E1000=y 81CONFIG_E1000=y
579# CONFIG_E1000_NAPI is not set
580# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
581# CONFIG_NS83820 is not set
582# CONFIG_HAMACHI is not set
583# CONFIG_YELLOWFIN is not set
584# CONFIG_R8169 is not set
585# CONFIG_SIS190 is not set
586# CONFIG_SKGE is not set
587# CONFIG_SKY2 is not set
588# CONFIG_VIA_VELOCITY is not set
589CONFIG_TIGON3=y 82CONFIG_TIGON3=y
590# CONFIG_BNX2 is not set
591# CONFIG_QLA3XXX is not set
592# CONFIG_ATL1 is not set
593CONFIG_NETDEV_10000=y
594# CONFIG_CHELSIO_T1 is not set
595# CONFIG_CHELSIO_T3 is not set
596# CONFIG_IXGB is not set
597# CONFIG_S2IO is not set
598# CONFIG_MYRI10GE is not set
599# CONFIG_NETXEN_NIC is not set
600# CONFIG_MLX4_CORE is not set
601# CONFIG_TR is not set
602
603#
604# Wireless LAN
605#
606# CONFIG_WLAN_PRE80211 is not set
607# CONFIG_WLAN_80211 is not set
608
609#
610# USB Network Adapters
611#
612# CONFIG_USB_CATC is not set
613# CONFIG_USB_KAWETH is not set
614# CONFIG_USB_PEGASUS is not set
615# CONFIG_USB_RTL8150 is not set
616# CONFIG_USB_USBNET_MII is not set
617# CONFIG_USB_USBNET is not set
618# CONFIG_WAN is not set
619# CONFIG_FDDI is not set
620# CONFIG_HIPPI is not set
621# CONFIG_PPP is not set
622# CONFIG_SLIP is not set
623# CONFIG_NET_FC is not set
624# CONFIG_SHAPER is not set
625CONFIG_NETCONSOLE=y 83CONFIG_NETCONSOLE=y
626CONFIG_NETPOLL=y
627# CONFIG_NETPOLL_TRAP is not set
628CONFIG_NET_POLL_CONTROLLER=y
629# CONFIG_ISDN is not set
630# CONFIG_PHONE is not set
631
632#
633# Input device support
634#
635CONFIG_INPUT=y
636# CONFIG_INPUT_FF_MEMLESS is not set
637# CONFIG_INPUT_POLLDEV is not set
638
639#
640# Userland interfaces
641#
642CONFIG_INPUT_MOUSEDEV=y
643CONFIG_INPUT_MOUSEDEV_PSAUX=y
644CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
645CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
646# CONFIG_INPUT_JOYDEV is not set
647# CONFIG_INPUT_TSDEV is not set
648# CONFIG_INPUT_EVDEV is not set
649# CONFIG_INPUT_EVBUG is not set
650
651#
652# Input Device Drivers
653#
654CONFIG_INPUT_KEYBOARD=y
655CONFIG_KEYBOARD_ATKBD=y
656# CONFIG_KEYBOARD_SUNKBD is not set
657# CONFIG_KEYBOARD_LKKBD is not set
658# CONFIG_KEYBOARD_XTKBD is not set
659# CONFIG_KEYBOARD_NEWTON is not set
660# CONFIG_KEYBOARD_STOWAWAY is not set
661CONFIG_INPUT_MOUSE=y
662CONFIG_MOUSE_PS2=y
663CONFIG_MOUSE_PS2_ALPS=y
664CONFIG_MOUSE_PS2_LOGIPS2PP=y
665CONFIG_MOUSE_PS2_SYNAPTICS=y
666CONFIG_MOUSE_PS2_LIFEBOOK=y
667CONFIG_MOUSE_PS2_TRACKPOINT=y
668# CONFIG_MOUSE_PS2_TOUCHKIT is not set
669# CONFIG_MOUSE_SERIAL is not set
670# CONFIG_MOUSE_APPLETOUCH is not set
671# CONFIG_MOUSE_VSXXXAA is not set
672# CONFIG_INPUT_JOYSTICK is not set
673# CONFIG_INPUT_TABLET is not set
674# CONFIG_INPUT_TOUCHSCREEN is not set
675# CONFIG_INPUT_MISC is not set
676
677#
678# Hardware I/O ports
679#
680CONFIG_SERIO=y
681CONFIG_SERIO_I8042=y
682# CONFIG_SERIO_SERPORT is not set 84# CONFIG_SERIO_SERPORT is not set
683# CONFIG_SERIO_PCIPS2 is not set
684CONFIG_SERIO_LIBPS2=y
685# CONFIG_SERIO_RAW is not set
686CONFIG_GAMEPORT=m 85CONFIG_GAMEPORT=m
687# CONFIG_GAMEPORT_NS558 is not set
688# CONFIG_GAMEPORT_L4 is not set
689# CONFIG_GAMEPORT_EMU10K1 is not set
690# CONFIG_GAMEPORT_FM801 is not set
691
692#
693# Character devices
694#
695CONFIG_VT=y
696CONFIG_VT_CONSOLE=y
697CONFIG_HW_CONSOLE=y
698# CONFIG_VT_HW_CONSOLE_BINDING is not set
699CONFIG_SERIAL_NONSTANDARD=y 86CONFIG_SERIAL_NONSTANDARD=y
700# CONFIG_COMPUTONE is not set
701# CONFIG_ROCKETPORT is not set
702# CONFIG_CYCLADES is not set
703# CONFIG_DIGIEPCA is not set
704# CONFIG_MOXA_INTELLIO is not set
705# CONFIG_MOXA_SMARTIO is not set
706# CONFIG_MOXA_SMARTIO_NEW is not set
707# CONFIG_ISI is not set
708# CONFIG_SYNCLINKMP is not set
709# CONFIG_SYNCLINK_GT is not set
710# CONFIG_N_HDLC is not set
711# CONFIG_SPECIALIX is not set
712# CONFIG_SX is not set
713# CONFIG_RIO is not set
714# CONFIG_STALDRV is not set
715
716#
717# Serial drivers
718#
719CONFIG_SERIAL_8250=y 87CONFIG_SERIAL_8250=y
720CONFIG_SERIAL_8250_CONSOLE=y 88CONFIG_SERIAL_8250_CONSOLE=y
721CONFIG_SERIAL_8250_PCI=y
722CONFIG_SERIAL_8250_PNP=y
723CONFIG_SERIAL_8250_NR_UARTS=6 89CONFIG_SERIAL_8250_NR_UARTS=6
724CONFIG_SERIAL_8250_RUNTIME_UARTS=4
725CONFIG_SERIAL_8250_EXTENDED=y 90CONFIG_SERIAL_8250_EXTENDED=y
726CONFIG_SERIAL_8250_SHARE_IRQ=y 91CONFIG_SERIAL_8250_SHARE_IRQ=y
727# CONFIG_SERIAL_8250_DETECT_IRQ is not set
728# CONFIG_SERIAL_8250_RSA is not set
729
730#
731# Non-8250 serial port support
732#
733CONFIG_SERIAL_CORE=y
734CONFIG_SERIAL_CORE_CONSOLE=y
735# CONFIG_SERIAL_JSM is not set
736CONFIG_UNIX98_PTYS=y
737CONFIG_LEGACY_PTYS=y
738CONFIG_LEGACY_PTY_COUNT=256
739# CONFIG_IPMI_HANDLER is not set
740# CONFIG_WATCHDOG is not set
741# CONFIG_HW_RANDOM is not set 92# CONFIG_HW_RANDOM is not set
742CONFIG_EFI_RTC=y 93CONFIG_EFI_RTC=y
743# CONFIG_R3964 is not set 94CONFIG_RAW_DRIVER=m
744# CONFIG_APPLICOM is not set 95CONFIG_HPET=y
745CONFIG_AGP=m 96CONFIG_AGP=m
746CONFIG_AGP_I460=m 97CONFIG_AGP_I460=m
747CONFIG_DRM=m 98CONFIG_DRM=m
@@ -750,386 +101,45 @@ CONFIG_DRM_R128=m
750CONFIG_DRM_RADEON=m 101CONFIG_DRM_RADEON=m
751CONFIG_DRM_MGA=m 102CONFIG_DRM_MGA=m
752CONFIG_DRM_SIS=m 103CONFIG_DRM_SIS=m
753# CONFIG_DRM_VIA is not set
754# CONFIG_DRM_SAVAGE is not set
755CONFIG_RAW_DRIVER=m
756CONFIG_MAX_RAW_DEVS=256
757CONFIG_HPET=y
758# CONFIG_HPET_RTC_IRQ is not set
759CONFIG_HPET_MMAP=y
760# CONFIG_HANGCHECK_TIMER is not set
761# CONFIG_TCG_TPM is not set
762CONFIG_DEVPORT=y
763# CONFIG_I2C is not set
764
765#
766# SPI support
767#
768# CONFIG_SPI is not set
769# CONFIG_SPI_MASTER is not set
770# CONFIG_W1 is not set
771# CONFIG_POWER_SUPPLY is not set
772CONFIG_HWMON=y
773# CONFIG_HWMON_VID is not set
774# CONFIG_SENSORS_ABITUGURU is not set
775# CONFIG_SENSORS_F71805F is not set
776# CONFIG_SENSORS_PC87427 is not set
777# CONFIG_SENSORS_SMSC47M1 is not set
778# CONFIG_SENSORS_SMSC47B397 is not set
779# CONFIG_SENSORS_VT1211 is not set
780# CONFIG_SENSORS_W83627HF is not set
781# CONFIG_HWMON_DEBUG_CHIP is not set
782
783#
784# Multifunction device drivers
785#
786# CONFIG_MFD_SM501 is not set
787
788#
789# Multimedia devices
790#
791# CONFIG_VIDEO_DEV is not set
792# CONFIG_DVB_CORE is not set
793CONFIG_DAB=y
794# CONFIG_USB_DABUSB is not set
795
796#
797# Graphics support
798#
799# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
800
801#
802# Display device support
803#
804# CONFIG_DISPLAY_SUPPORT is not set
805# CONFIG_VGASTATE is not set
806# CONFIG_FB is not set
807
808#
809# Console display driver support
810#
811CONFIG_VGA_CONSOLE=y
812# CONFIG_VGACON_SOFT_SCROLLBACK is not set
813CONFIG_DUMMY_CONSOLE=y
814
815#
816# Sound
817#
818# CONFIG_SOUND is not set
819CONFIG_HID_SUPPORT=y
820CONFIG_HID=y
821# CONFIG_HID_DEBUG is not set
822
823#
824# USB Input Devices
825#
826CONFIG_USB_HID=y
827# CONFIG_USB_HIDINPUT_POWERBOOK is not set
828# CONFIG_HID_FF is not set
829# CONFIG_USB_HIDDEV is not set
830CONFIG_USB_SUPPORT=y
831CONFIG_USB_ARCH_HAS_HCD=y
832CONFIG_USB_ARCH_HAS_OHCI=y
833CONFIG_USB_ARCH_HAS_EHCI=y
834CONFIG_USB=y 104CONFIG_USB=y
835# CONFIG_USB_DEBUG is not set
836
837#
838# Miscellaneous USB options
839#
840CONFIG_USB_DEVICEFS=y 105CONFIG_USB_DEVICEFS=y
841CONFIG_USB_DEVICE_CLASS=y
842# CONFIG_USB_DYNAMIC_MINORS is not set
843# CONFIG_USB_SUSPEND is not set
844# CONFIG_USB_PERSIST is not set
845# CONFIG_USB_OTG is not set
846
847#
848# USB Host Controller Drivers
849#
850CONFIG_USB_EHCI_HCD=m 106CONFIG_USB_EHCI_HCD=m
851# CONFIG_USB_EHCI_SPLIT_ISO is not set
852# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
853# CONFIG_USB_EHCI_TT_NEWSCHED is not set
854# CONFIG_USB_ISP116X_HCD is not set
855CONFIG_USB_OHCI_HCD=m 107CONFIG_USB_OHCI_HCD=m
856# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
857# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
858CONFIG_USB_OHCI_LITTLE_ENDIAN=y
859CONFIG_USB_UHCI_HCD=y 108CONFIG_USB_UHCI_HCD=y
860# CONFIG_USB_SL811_HCD is not set
861# CONFIG_USB_R8A66597_HCD is not set
862
863#
864# USB Device Class drivers
865#
866# CONFIG_USB_ACM is not set
867# CONFIG_USB_PRINTER is not set
868
869#
870# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
871#
872
873#
874# may also be needed; see USB_STORAGE Help for more information
875#
876CONFIG_USB_STORAGE=m 109CONFIG_USB_STORAGE=m
877# CONFIG_USB_STORAGE_DEBUG is not set
878# CONFIG_USB_STORAGE_DATAFAB is not set
879# CONFIG_USB_STORAGE_FREECOM is not set
880# CONFIG_USB_STORAGE_ISD200 is not set
881# CONFIG_USB_STORAGE_DPCM is not set
882# CONFIG_USB_STORAGE_USBAT is not set
883# CONFIG_USB_STORAGE_SDDR09 is not set
884# CONFIG_USB_STORAGE_SDDR55 is not set
885# CONFIG_USB_STORAGE_JUMPSHOT is not set
886# CONFIG_USB_STORAGE_ALAUDA is not set
887# CONFIG_USB_STORAGE_KARMA is not set
888# CONFIG_USB_LIBUSUAL is not set
889
890#
891# USB Imaging devices
892#
893# CONFIG_USB_MDC800 is not set
894# CONFIG_USB_MICROTEK is not set
895# CONFIG_USB_MON is not set
896
897#
898# USB port drivers
899#
900
901#
902# USB Serial Converter support
903#
904# CONFIG_USB_SERIAL is not set
905
906#
907# USB Miscellaneous drivers
908#
909# CONFIG_USB_EMI62 is not set
910# CONFIG_USB_EMI26 is not set
911# CONFIG_USB_ADUTUX is not set
912# CONFIG_USB_AUERSWALD is not set
913# CONFIG_USB_RIO500 is not set
914# CONFIG_USB_LEGOTOWER is not set
915# CONFIG_USB_LCD is not set
916# CONFIG_USB_BERRY_CHARGE is not set
917# CONFIG_USB_LED is not set
918# CONFIG_USB_CYPRESS_CY7C63 is not set
919# CONFIG_USB_CYTHERM is not set
920# CONFIG_USB_PHIDGET is not set
921# CONFIG_USB_IDMOUSE is not set
922# CONFIG_USB_FTDI_ELAN is not set
923# CONFIG_USB_APPLEDISPLAY is not set
924# CONFIG_USB_SISUSBVGA is not set
925# CONFIG_USB_LD is not set
926# CONFIG_USB_TRANCEVIBRATOR is not set
927# CONFIG_USB_IOWARRIOR is not set
928# CONFIG_USB_TEST is not set
929
930#
931# USB DSL modem support
932#
933
934#
935# USB Gadget Support
936#
937# CONFIG_USB_GADGET is not set
938# CONFIG_MMC is not set
939
940#
941# LED devices
942#
943# CONFIG_NEW_LEDS is not set
944
945#
946# LED drivers
947#
948
949#
950# LED Triggers
951#
952# CONFIG_INFINIBAND is not set
953
954#
955# Real Time Clock
956#
957# CONFIG_RTC_CLASS is not set
958
959#
960# DMA Engine support
961#
962# CONFIG_DMA_ENGINE is not set
963
964#
965# DMA Clients
966#
967
968#
969# DMA Devices
970#
971
972#
973# Userspace I/O
974#
975# CONFIG_UIO is not set
976# CONFIG_MSPEC is not set
977
978#
979# File systems
980#
981CONFIG_EXT2_FS=y 110CONFIG_EXT2_FS=y
982CONFIG_EXT2_FS_XATTR=y 111CONFIG_EXT2_FS_XATTR=y
983CONFIG_EXT2_FS_POSIX_ACL=y 112CONFIG_EXT2_FS_POSIX_ACL=y
984CONFIG_EXT2_FS_SECURITY=y 113CONFIG_EXT2_FS_SECURITY=y
985# CONFIG_EXT2_FS_XIP is not set
986CONFIG_EXT3_FS=y 114CONFIG_EXT3_FS=y
987CONFIG_EXT3_FS_XATTR=y
988CONFIG_EXT3_FS_POSIX_ACL=y 115CONFIG_EXT3_FS_POSIX_ACL=y
989CONFIG_EXT3_FS_SECURITY=y 116CONFIG_EXT3_FS_SECURITY=y
990# CONFIG_EXT4DEV_FS is not set
991CONFIG_JBD=y
992# CONFIG_JBD_DEBUG is not set
993CONFIG_FS_MBCACHE=y
994CONFIG_REISERFS_FS=y 117CONFIG_REISERFS_FS=y
995# CONFIG_REISERFS_CHECK is not set
996# CONFIG_REISERFS_PROC_INFO is not set
997CONFIG_REISERFS_FS_XATTR=y 118CONFIG_REISERFS_FS_XATTR=y
998CONFIG_REISERFS_FS_POSIX_ACL=y 119CONFIG_REISERFS_FS_POSIX_ACL=y
999CONFIG_REISERFS_FS_SECURITY=y 120CONFIG_REISERFS_FS_SECURITY=y
1000# CONFIG_JFS_FS is not set
1001CONFIG_FS_POSIX_ACL=y
1002CONFIG_XFS_FS=y 121CONFIG_XFS_FS=y
1003# CONFIG_XFS_QUOTA is not set
1004# CONFIG_XFS_SECURITY is not set
1005# CONFIG_XFS_POSIX_ACL is not set
1006# CONFIG_XFS_RT is not set
1007# CONFIG_GFS2_FS is not set
1008# CONFIG_OCFS2_FS is not set
1009# CONFIG_MINIX_FS is not set
1010# CONFIG_ROMFS_FS is not set
1011CONFIG_INOTIFY=y
1012CONFIG_INOTIFY_USER=y
1013# CONFIG_QUOTA is not set
1014CONFIG_DNOTIFY=y
1015CONFIG_AUTOFS_FS=y 122CONFIG_AUTOFS_FS=y
1016CONFIG_AUTOFS4_FS=y 123CONFIG_AUTOFS4_FS=y
1017# CONFIG_FUSE_FS is not set
1018
1019#
1020# CD-ROM/DVD Filesystems
1021#
1022CONFIG_ISO9660_FS=m 124CONFIG_ISO9660_FS=m
1023CONFIG_JOLIET=y 125CONFIG_JOLIET=y
1024# CONFIG_ZISOFS is not set
1025CONFIG_UDF_FS=m 126CONFIG_UDF_FS=m
1026CONFIG_UDF_NLS=y
1027
1028#
1029# DOS/FAT/NT Filesystems
1030#
1031CONFIG_FAT_FS=y
1032# CONFIG_MSDOS_FS is not set
1033CONFIG_VFAT_FS=y 127CONFIG_VFAT_FS=y
1034CONFIG_FAT_DEFAULT_CODEPAGE=437
1035CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1036CONFIG_NTFS_FS=m 128CONFIG_NTFS_FS=m
1037# CONFIG_NTFS_DEBUG is not set
1038# CONFIG_NTFS_RW is not set
1039
1040#
1041# Pseudo filesystems
1042#
1043CONFIG_PROC_FS=y
1044CONFIG_PROC_KCORE=y 129CONFIG_PROC_KCORE=y
1045CONFIG_PROC_SYSCTL=y
1046CONFIG_SYSFS=y
1047CONFIG_TMPFS=y 130CONFIG_TMPFS=y
1048# CONFIG_TMPFS_POSIX_ACL is not set
1049CONFIG_HUGETLBFS=y 131CONFIG_HUGETLBFS=y
1050CONFIG_HUGETLB_PAGE=y
1051CONFIG_RAMFS=y
1052# CONFIG_CONFIGFS_FS is not set
1053
1054#
1055# Miscellaneous filesystems
1056#
1057# CONFIG_ADFS_FS is not set
1058# CONFIG_AFFS_FS is not set
1059# CONFIG_HFS_FS is not set
1060# CONFIG_HFSPLUS_FS is not set
1061# CONFIG_BEFS_FS is not set
1062# CONFIG_BFS_FS is not set
1063# CONFIG_EFS_FS is not set
1064# CONFIG_CRAMFS is not set
1065# CONFIG_VXFS_FS is not set
1066# CONFIG_HPFS_FS is not set
1067# CONFIG_QNX4FS_FS is not set
1068# CONFIG_SYSV_FS is not set
1069# CONFIG_UFS_FS is not set
1070
1071#
1072# Network File Systems
1073#
1074CONFIG_NFS_FS=m 132CONFIG_NFS_FS=m
1075CONFIG_NFS_V3=y 133CONFIG_NFS_V3=y
1076# CONFIG_NFS_V3_ACL is not set
1077CONFIG_NFS_V4=y 134CONFIG_NFS_V4=y
1078CONFIG_NFS_DIRECTIO=y
1079CONFIG_NFSD=m 135CONFIG_NFSD=m
1080CONFIG_NFSD_V3=y
1081# CONFIG_NFSD_V3_ACL is not set
1082CONFIG_NFSD_V4=y 136CONFIG_NFSD_V4=y
1083CONFIG_NFSD_TCP=y
1084CONFIG_LOCKD=m
1085CONFIG_LOCKD_V4=y
1086CONFIG_EXPORTFS=m
1087CONFIG_NFS_COMMON=y
1088CONFIG_SUNRPC=m
1089CONFIG_SUNRPC_GSS=m
1090# CONFIG_SUNRPC_BIND34 is not set
1091CONFIG_RPCSEC_GSS_KRB5=y
1092# CONFIG_RPCSEC_GSS_SPKM3 is not set
1093CONFIG_SMB_FS=m 137CONFIG_SMB_FS=m
1094CONFIG_SMB_NLS_DEFAULT=y 138CONFIG_SMB_NLS_DEFAULT=y
1095CONFIG_SMB_NLS_REMOTE="cp437"
1096CONFIG_CIFS=m 139CONFIG_CIFS=m
1097# CONFIG_CIFS_STATS is not set
1098# CONFIG_CIFS_WEAK_PW_HASH is not set
1099# CONFIG_CIFS_XATTR is not set
1100# CONFIG_CIFS_DEBUG2 is not set
1101# CONFIG_CIFS_EXPERIMENTAL is not set
1102# CONFIG_NCP_FS is not set
1103# CONFIG_CODA_FS is not set
1104# CONFIG_AFS_FS is not set
1105
1106#
1107# Partition Types
1108#
1109CONFIG_PARTITION_ADVANCED=y 140CONFIG_PARTITION_ADVANCED=y
1110# CONFIG_ACORN_PARTITION is not set
1111# CONFIG_OSF_PARTITION is not set
1112# CONFIG_AMIGA_PARTITION is not set
1113# CONFIG_ATARI_PARTITION is not set
1114# CONFIG_MAC_PARTITION is not set
1115CONFIG_MSDOS_PARTITION=y
1116# CONFIG_BSD_DISKLABEL is not set
1117# CONFIG_MINIX_SUBPARTITION is not set
1118# CONFIG_SOLARIS_X86_PARTITION is not set
1119# CONFIG_UNIXWARE_DISKLABEL is not set
1120# CONFIG_LDM_PARTITION is not set
1121CONFIG_SGI_PARTITION=y 141CONFIG_SGI_PARTITION=y
1122# CONFIG_ULTRIX_PARTITION is not set
1123# CONFIG_SUN_PARTITION is not set
1124# CONFIG_KARMA_PARTITION is not set
1125CONFIG_EFI_PARTITION=y 142CONFIG_EFI_PARTITION=y
1126# CONFIG_SYSV68_PARTITION is not set
1127
1128#
1129# Native Language Support
1130#
1131CONFIG_NLS=y
1132CONFIG_NLS_DEFAULT="iso8859-1"
1133CONFIG_NLS_CODEPAGE_437=y 143CONFIG_NLS_CODEPAGE_437=y
1134CONFIG_NLS_CODEPAGE_737=m 144CONFIG_NLS_CODEPAGE_737=m
1135CONFIG_NLS_CODEPAGE_775=m 145CONFIG_NLS_CODEPAGE_775=m
@@ -1153,7 +163,6 @@ CONFIG_NLS_CODEPAGE_874=m
1153CONFIG_NLS_ISO8859_8=m 163CONFIG_NLS_ISO8859_8=m
1154CONFIG_NLS_CODEPAGE_1250=m 164CONFIG_NLS_CODEPAGE_1250=m
1155CONFIG_NLS_CODEPAGE_1251=m 165CONFIG_NLS_CODEPAGE_1251=m
1156# CONFIG_NLS_ASCII is not set
1157CONFIG_NLS_ISO8859_1=y 166CONFIG_NLS_ISO8859_1=y
1158CONFIG_NLS_ISO8859_2=m 167CONFIG_NLS_ISO8859_2=m
1159CONFIG_NLS_ISO8859_3=m 168CONFIG_NLS_ISO8859_3=m
@@ -1168,113 +177,10 @@ CONFIG_NLS_ISO8859_15=m
1168CONFIG_NLS_KOI8_R=m 177CONFIG_NLS_KOI8_R=m
1169CONFIG_NLS_KOI8_U=m 178CONFIG_NLS_KOI8_U=m
1170CONFIG_NLS_UTF8=m 179CONFIG_NLS_UTF8=m
1171
1172#
1173# Distributed Lock Manager
1174#
1175# CONFIG_DLM is not set
1176
1177#
1178# Library routines
1179#
1180CONFIG_BITREVERSE=y
1181# CONFIG_CRC_CCITT is not set
1182# CONFIG_CRC16 is not set
1183# CONFIG_CRC_ITU_T is not set
1184CONFIG_CRC32=y
1185# CONFIG_CRC7 is not set
1186# CONFIG_LIBCRC32C is not set
1187CONFIG_PLIST=y
1188CONFIG_HAS_IOMEM=y
1189CONFIG_HAS_IOPORT=y
1190CONFIG_HAS_DMA=y
1191CONFIG_GENERIC_HARDIRQS=y
1192CONFIG_GENERIC_IRQ_PROBE=y
1193CONFIG_GENERIC_PENDING_IRQ=y
1194CONFIG_IRQ_PER_CPU=y
1195
1196#
1197# Instrumentation Support
1198#
1199# CONFIG_PROFILING is not set
1200# CONFIG_KPROBES is not set
1201
1202#
1203# Kernel hacking
1204#
1205# CONFIG_PRINTK_TIME is not set
1206CONFIG_ENABLE_MUST_CHECK=y
1207CONFIG_MAGIC_SYSRQ=y 180CONFIG_MAGIC_SYSRQ=y
1208# CONFIG_UNUSED_SYMBOLS is not set
1209# CONFIG_DEBUG_FS is not set
1210# CONFIG_HEADERS_CHECK is not set
1211CONFIG_DEBUG_KERNEL=y 181CONFIG_DEBUG_KERNEL=y
1212# CONFIG_DEBUG_SHIRQ is not set
1213CONFIG_DETECT_SOFTLOCKUP=y
1214CONFIG_SCHED_DEBUG=y
1215# CONFIG_SCHEDSTATS is not set
1216# CONFIG_TIMER_STATS is not set
1217# CONFIG_DEBUG_SLAB is not set
1218# CONFIG_DEBUG_RT_MUTEXES is not set
1219# CONFIG_RT_MUTEX_TESTER is not set
1220# CONFIG_DEBUG_SPINLOCK is not set
1221CONFIG_DEBUG_MUTEXES=y 182CONFIG_DEBUG_MUTEXES=y
1222# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1223# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1224# CONFIG_DEBUG_KOBJECT is not set
1225# CONFIG_DEBUG_INFO is not set
1226# CONFIG_DEBUG_VM is not set
1227# CONFIG_DEBUG_LIST is not set
1228CONFIG_FORCED_INLINING=y
1229# CONFIG_RCU_TORTURE_TEST is not set
1230# CONFIG_FAULT_INJECTION is not set
1231CONFIG_IA64_GRANULE_16MB=y 183CONFIG_IA64_GRANULE_16MB=y
1232# CONFIG_IA64_GRANULE_64MB is not set
1233# CONFIG_IA64_PRINT_HAZARDS is not set
1234# CONFIG_DISABLE_VHPT is not set
1235# CONFIG_IA64_DEBUG_CMPXCHG is not set
1236# CONFIG_IA64_DEBUG_IRQ is not set
1237
1238#
1239# Security options
1240#
1241# CONFIG_KEYS is not set
1242# CONFIG_SECURITY is not set
1243CONFIG_CRYPTO=y
1244CONFIG_CRYPTO_ALGAPI=y
1245CONFIG_CRYPTO_BLKCIPHER=m
1246CONFIG_CRYPTO_MANAGER=m
1247# CONFIG_CRYPTO_HMAC is not set
1248# CONFIG_CRYPTO_XCBC is not set
1249# CONFIG_CRYPTO_NULL is not set
1250# CONFIG_CRYPTO_MD4 is not set
1251CONFIG_CRYPTO_MD5=y
1252# CONFIG_CRYPTO_SHA1 is not set
1253# CONFIG_CRYPTO_SHA256 is not set
1254# CONFIG_CRYPTO_SHA512 is not set
1255# CONFIG_CRYPTO_WP512 is not set
1256# CONFIG_CRYPTO_TGR192 is not set
1257# CONFIG_CRYPTO_GF128MUL is not set
1258CONFIG_CRYPTO_ECB=m 184CONFIG_CRYPTO_ECB=m
1259CONFIG_CRYPTO_CBC=m
1260CONFIG_CRYPTO_PCBC=m 185CONFIG_CRYPTO_PCBC=m
1261# CONFIG_CRYPTO_LRW is not set 186CONFIG_CRYPTO_MD5=y
1262# CONFIG_CRYPTO_CRYPTD is not set
1263CONFIG_CRYPTO_DES=m
1264# CONFIG_CRYPTO_FCRYPT is not set
1265# CONFIG_CRYPTO_BLOWFISH is not set
1266# CONFIG_CRYPTO_TWOFISH is not set
1267# CONFIG_CRYPTO_SERPENT is not set
1268# CONFIG_CRYPTO_AES is not set
1269# CONFIG_CRYPTO_CAST5 is not set
1270# CONFIG_CRYPTO_CAST6 is not set
1271# CONFIG_CRYPTO_TEA is not set
1272# CONFIG_CRYPTO_ARC4 is not set
1273# CONFIG_CRYPTO_KHAZAD is not set
1274# CONFIG_CRYPTO_ANUBIS is not set
1275# CONFIG_CRYPTO_DEFLATE is not set
1276# CONFIG_CRYPTO_MICHAEL_MIC is not set
1277# CONFIG_CRYPTO_CRC32C is not set
1278# CONFIG_CRYPTO_CAMELLIA is not set
1279# CONFIG_CRYPTO_TEST is not set
1280CONFIG_CRYPTO_HW=y
diff --git a/arch/ia64/configs/xen_domu_defconfig b/arch/ia64/configs/xen_domu_defconfig
index 0bb0714dc19d..2bf76e418bc5 100644
--- a/arch/ia64/configs/xen_domu_defconfig
+++ b/arch/ia64/configs/xen_domu_defconfig
@@ -1,1037 +1,101 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.29-rc1
4# Fri Jan 16 11:49:59 2009
5#
6CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
7
8#
9# General setup
10#
11CONFIG_EXPERIMENTAL=y 1CONFIG_EXPERIMENTAL=y
12CONFIG_LOCK_KERNEL=y
13CONFIG_INIT_ENV_ARG_LIMIT=32
14CONFIG_LOCALVERSION=""
15CONFIG_LOCALVERSION_AUTO=y
16CONFIG_SWAP=y
17CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
18CONFIG_SYSVIPC_SYSCTL=y
19CONFIG_POSIX_MQUEUE=y 3CONFIG_POSIX_MQUEUE=y
20# CONFIG_BSD_PROCESS_ACCT is not set
21# CONFIG_TASKSTATS is not set
22# CONFIG_AUDIT is not set
23CONFIG_IKCONFIG=y 4CONFIG_IKCONFIG=y
24CONFIG_IKCONFIG_PROC=y 5CONFIG_IKCONFIG_PROC=y
25CONFIG_LOG_BUF_SHIFT=20 6CONFIG_LOG_BUF_SHIFT=20
26CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
27# CONFIG_GROUP_SCHED is not set
28
29#
30# Control Group support
31#
32# CONFIG_CGROUPS is not set
33CONFIG_SYSFS_DEPRECATED=y
34CONFIG_SYSFS_DEPRECATED_V2=y 7CONFIG_SYSFS_DEPRECATED_V2=y
35# CONFIG_RELAY is not set
36CONFIG_NAMESPACES=y
37# CONFIG_UTS_NS is not set
38# CONFIG_IPC_NS is not set
39# CONFIG_USER_NS is not set
40# CONFIG_PID_NS is not set
41CONFIG_BLK_DEV_INITRD=y 8CONFIG_BLK_DEV_INITRD=y
42CONFIG_INITRAMFS_SOURCE=""
43CONFIG_CC_OPTIMIZE_FOR_SIZE=y
44CONFIG_SYSCTL=y
45# CONFIG_EMBEDDED is not set
46CONFIG_SYSCTL_SYSCALL=y
47CONFIG_KALLSYMS=y
48CONFIG_KALLSYMS_ALL=y 9CONFIG_KALLSYMS_ALL=y
49CONFIG_KALLSYMS_STRIP_GENERATED=y
50# CONFIG_KALLSYMS_EXTRA_PASS is not set
51CONFIG_HOTPLUG=y
52CONFIG_PRINTK=y
53CONFIG_BUG=y
54CONFIG_ELF_CORE=y
55CONFIG_COMPAT_BRK=y
56CONFIG_BASE_FULL=y
57CONFIG_FUTEX=y
58CONFIG_ANON_INODES=y
59CONFIG_EPOLL=y
60CONFIG_SIGNALFD=y
61CONFIG_TIMERFD=y
62CONFIG_EVENTFD=y
63CONFIG_SHMEM=y
64CONFIG_AIO=y
65CONFIG_VM_EVENT_COUNTERS=y
66CONFIG_PCI_QUIRKS=y
67CONFIG_SLUB_DEBUG=y
68# CONFIG_SLAB is not set
69CONFIG_SLUB=y
70# CONFIG_SLOB is not set
71# CONFIG_PROFILING is not set
72CONFIG_HAVE_OPROFILE=y
73# CONFIG_KPROBES is not set
74CONFIG_HAVE_KPROBES=y
75CONFIG_HAVE_KRETPROBES=y
76CONFIG_HAVE_ARCH_TRACEHOOK=y
77CONFIG_HAVE_DMA_ATTRS=y
78CONFIG_USE_GENERIC_SMP_HELPERS=y
79# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
80CONFIG_SLABINFO=y
81CONFIG_RT_MUTEXES=y
82CONFIG_BASE_SMALL=0
83CONFIG_MODULES=y 10CONFIG_MODULES=y
84# CONFIG_MODULE_FORCE_LOAD is not set
85CONFIG_MODULE_UNLOAD=y 11CONFIG_MODULE_UNLOAD=y
86# CONFIG_MODULE_FORCE_UNLOAD is not set
87CONFIG_MODVERSIONS=y 12CONFIG_MODVERSIONS=y
88CONFIG_MODULE_SRCVERSION_ALL=y 13CONFIG_MODULE_SRCVERSION_ALL=y
89CONFIG_STOP_MACHINE=y
90CONFIG_BLOCK=y
91# CONFIG_BLK_DEV_IO_TRACE is not set
92# CONFIG_BLK_DEV_BSG is not set 14# CONFIG_BLK_DEV_BSG is not set
93# CONFIG_BLK_DEV_INTEGRITY is not set
94
95#
96# IO Schedulers
97#
98CONFIG_IOSCHED_NOOP=y
99CONFIG_IOSCHED_AS=y
100CONFIG_IOSCHED_DEADLINE=y
101CONFIG_IOSCHED_CFQ=y
102CONFIG_DEFAULT_AS=y
103# CONFIG_DEFAULT_DEADLINE is not set
104# CONFIG_DEFAULT_CFQ is not set
105# CONFIG_DEFAULT_NOOP is not set
106CONFIG_DEFAULT_IOSCHED="anticipatory"
107CONFIG_CLASSIC_RCU=y
108# CONFIG_TREE_RCU is not set
109# CONFIG_PREEMPT_RCU is not set
110# CONFIG_TREE_RCU_TRACE is not set
111# CONFIG_PREEMPT_RCU_TRACE is not set
112CONFIG_FREEZER=y
113
114#
115# Processor type and features
116#
117CONFIG_IA64=y
118CONFIG_64BIT=y
119CONFIG_ZONE_DMA=y
120CONFIG_QUICKLIST=y
121CONFIG_MMU=y
122CONFIG_SWIOTLB=y
123CONFIG_IOMMU_HELPER=y
124CONFIG_RWSEM_XCHGADD_ALGORITHM=y
125CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
126CONFIG_GENERIC_FIND_NEXT_BIT=y
127CONFIG_GENERIC_CALIBRATE_DELAY=y
128CONFIG_GENERIC_TIME=y
129CONFIG_GENERIC_TIME_VSYSCALL=y
130CONFIG_HAVE_SETUP_PER_CPU_AREA=y
131CONFIG_DMI=y
132CONFIG_EFI=y
133CONFIG_GENERIC_IOMAP=y
134CONFIG_SCHED_OMIT_FRAME_POINTER=y
135CONFIG_AUDIT_ARCH=y
136CONFIG_PARAVIRT_GUEST=y 15CONFIG_PARAVIRT_GUEST=y
137CONFIG_PARAVIRT=y
138CONFIG_XEN=y
139CONFIG_XEN_XENCOMM=y
140CONFIG_NO_IDLE_HZ=y
141# CONFIG_IA64_GENERIC is not set
142# CONFIG_IA64_DIG is not set
143# CONFIG_IA64_DIG_VTD is not set
144# CONFIG_IA64_HP_ZX1 is not set
145# CONFIG_IA64_HP_ZX1_SWIOTLB is not set
146# CONFIG_IA64_SGI_SN2 is not set
147# CONFIG_IA64_SGI_UV is not set
148# CONFIG_IA64_HP_SIM is not set
149CONFIG_IA64_XEN_GUEST=y 16CONFIG_IA64_XEN_GUEST=y
150# CONFIG_ITANIUM is not set
151CONFIG_MCKINLEY=y 17CONFIG_MCKINLEY=y
152# CONFIG_IA64_PAGE_SIZE_4KB is not set
153# CONFIG_IA64_PAGE_SIZE_8KB is not set
154CONFIG_IA64_PAGE_SIZE_16KB=y
155# CONFIG_IA64_PAGE_SIZE_64KB is not set
156CONFIG_PGTABLE_3=y
157# CONFIG_PGTABLE_4 is not set
158CONFIG_HZ=250
159# CONFIG_HZ_100 is not set
160CONFIG_HZ_250=y
161# CONFIG_HZ_300 is not set
162# CONFIG_HZ_1000 is not set
163# CONFIG_SCHED_HRTICK is not set
164CONFIG_IA64_L1_CACHE_SHIFT=7
165CONFIG_IA64_CYCLONE=y 18CONFIG_IA64_CYCLONE=y
166CONFIG_IOSAPIC=y
167CONFIG_FORCE_MAX_ZONEORDER=17
168# CONFIG_VIRT_CPU_ACCOUNTING is not set
169CONFIG_SMP=y 19CONFIG_SMP=y
170CONFIG_NR_CPUS=16 20CONFIG_NR_CPUS=16
171CONFIG_HOTPLUG_CPU=y 21CONFIG_HOTPLUG_CPU=y
172CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
173CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
174# CONFIG_SCHED_SMT is not set
175CONFIG_PERMIT_BSP_REMOVE=y 22CONFIG_PERMIT_BSP_REMOVE=y
176CONFIG_FORCE_CPEI_RETARGET=y 23CONFIG_FORCE_CPEI_RETARGET=y
177CONFIG_PREEMPT_NONE=y
178# CONFIG_PREEMPT_VOLUNTARY is not set
179# CONFIG_PREEMPT is not set
180CONFIG_SELECT_MEMORY_MODEL=y
181CONFIG_FLATMEM_MANUAL=y
182# CONFIG_DISCONTIGMEM_MANUAL is not set
183# CONFIG_SPARSEMEM_MANUAL is not set
184CONFIG_FLATMEM=y
185CONFIG_FLAT_NODE_MEM_MAP=y
186CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
187CONFIG_PAGEFLAGS_EXTENDED=y
188CONFIG_SPLIT_PTLOCK_CPUS=4
189CONFIG_MIGRATION=y
190CONFIG_PHYS_ADDR_T_64BIT=y
191CONFIG_ZONE_DMA_FLAG=1
192CONFIG_BOUNCE=y
193CONFIG_NR_QUICK=1
194CONFIG_VIRT_TO_BUS=y
195CONFIG_UNEVICTABLE_LRU=y
196CONFIG_ARCH_SELECT_MEMORY_MODEL=y
197CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
198CONFIG_ARCH_FLATMEM_ENABLE=y
199CONFIG_ARCH_SPARSEMEM_ENABLE=y
200CONFIG_ARCH_POPULATES_NODE_MAP=y
201CONFIG_VIRTUAL_MEM_MAP=y
202CONFIG_HOLES_IN_ZONE=y
203# CONFIG_IA32_SUPPORT is not set
204# CONFIG_COMPAT_FOR_U64_ALIGNMENT is not set
205CONFIG_IA64_MCA_RECOVERY=y 24CONFIG_IA64_MCA_RECOVERY=y
206CONFIG_PERFMON=y 25CONFIG_PERFMON=y
207CONFIG_IA64_PALINFO=y 26CONFIG_IA64_PALINFO=y
208# CONFIG_IA64_MC_ERR_INJECT is not set
209# CONFIG_IA64_ESI is not set
210# CONFIG_IA64_HP_AML_NFW is not set
211CONFIG_KEXEC=y 27CONFIG_KEXEC=y
212# CONFIG_CRASH_DUMP is not set
213
214#
215# Firmware Drivers
216#
217# CONFIG_FIRMWARE_MEMMAP is not set
218CONFIG_EFI_VARS=y 28CONFIG_EFI_VARS=y
219CONFIG_EFI_PCDP=y
220CONFIG_DMIID=y
221CONFIG_BINFMT_ELF=y
222# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
223# CONFIG_HAVE_AOUT is not set
224CONFIG_BINFMT_MISC=m 29CONFIG_BINFMT_MISC=m
225
226#
227# Power management and ACPI options
228#
229CONFIG_PM=y
230# CONFIG_PM_DEBUG is not set
231CONFIG_PM_SLEEP=y
232CONFIG_SUSPEND=y
233CONFIG_SUSPEND_FREEZER=y
234CONFIG_ACPI=y
235CONFIG_ACPI_SLEEP=y
236CONFIG_ACPI_PROCFS=y 30CONFIG_ACPI_PROCFS=y
237CONFIG_ACPI_PROCFS_POWER=y
238CONFIG_ACPI_SYSFS_POWER=y
239CONFIG_ACPI_PROC_EVENT=y
240CONFIG_ACPI_BUTTON=m 31CONFIG_ACPI_BUTTON=m
241CONFIG_ACPI_FAN=m 32CONFIG_ACPI_FAN=m
242# CONFIG_ACPI_DOCK is not set
243CONFIG_ACPI_PROCESSOR=m 33CONFIG_ACPI_PROCESSOR=m
244CONFIG_ACPI_HOTPLUG_CPU=y
245CONFIG_ACPI_THERMAL=m
246# CONFIG_ACPI_CUSTOM_DSDT is not set
247CONFIG_ACPI_BLACKLIST_YEAR=0
248# CONFIG_ACPI_DEBUG is not set
249# CONFIG_ACPI_PCI_SLOT is not set
250CONFIG_ACPI_SYSTEM=y
251CONFIG_ACPI_CONTAINER=m 34CONFIG_ACPI_CONTAINER=m
252
253#
254# CPU Frequency scaling
255#
256# CONFIG_CPU_FREQ is not set
257
258#
259# Bus options (PCI, PCMCIA)
260#
261CONFIG_PCI=y
262CONFIG_PCI_DOMAINS=y
263CONFIG_PCI_SYSCALL=y
264# CONFIG_PCIEPORTBUS is not set
265CONFIG_ARCH_SUPPORTS_MSI=y
266# CONFIG_PCI_MSI is not set
267CONFIG_PCI_LEGACY=y
268# CONFIG_PCI_DEBUG is not set
269# CONFIG_PCI_STUB is not set
270CONFIG_HOTPLUG_PCI=m 35CONFIG_HOTPLUG_PCI=m
271# CONFIG_HOTPLUG_PCI_FAKE is not set
272CONFIG_HOTPLUG_PCI_ACPI=m 36CONFIG_HOTPLUG_PCI_ACPI=m
273# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set
274# CONFIG_HOTPLUG_PCI_CPCI is not set
275# CONFIG_HOTPLUG_PCI_SHPC is not set
276# CONFIG_PCCARD is not set
277CONFIG_NET=y
278
279#
280# Networking options
281#
282# CONFIG_NET_NS is not set
283CONFIG_COMPAT_NET_DEV_OPS=y
284CONFIG_PACKET=y 37CONFIG_PACKET=y
285# CONFIG_PACKET_MMAP is not set
286CONFIG_UNIX=y 38CONFIG_UNIX=y
287CONFIG_XFRM=y
288# CONFIG_XFRM_USER is not set
289# CONFIG_XFRM_SUB_POLICY is not set
290# CONFIG_XFRM_MIGRATE is not set
291# CONFIG_XFRM_STATISTICS is not set
292# CONFIG_NET_KEY is not set
293CONFIG_INET=y 39CONFIG_INET=y
294CONFIG_IP_MULTICAST=y 40CONFIG_IP_MULTICAST=y
295# CONFIG_IP_ADVANCED_ROUTER is not set
296CONFIG_IP_FIB_HASH=y
297# CONFIG_IP_PNP is not set
298# CONFIG_NET_IPIP is not set
299# CONFIG_NET_IPGRE is not set
300# CONFIG_IP_MROUTE is not set
301CONFIG_ARPD=y 41CONFIG_ARPD=y
302CONFIG_SYN_COOKIES=y 42CONFIG_SYN_COOKIES=y
303# CONFIG_INET_AH is not set
304# CONFIG_INET_ESP is not set
305# CONFIG_INET_IPCOMP is not set
306# CONFIG_INET_XFRM_TUNNEL is not set
307# CONFIG_INET_TUNNEL is not set
308CONFIG_INET_XFRM_MODE_TRANSPORT=y
309CONFIG_INET_XFRM_MODE_TUNNEL=y
310CONFIG_INET_XFRM_MODE_BEET=y
311# CONFIG_INET_LRO is not set 43# CONFIG_INET_LRO is not set
312CONFIG_INET_DIAG=y
313CONFIG_INET_TCP_DIAG=y
314# CONFIG_TCP_CONG_ADVANCED is not set
315CONFIG_TCP_CONG_CUBIC=y
316CONFIG_DEFAULT_TCP_CONG="cubic"
317# CONFIG_TCP_MD5SIG is not set
318# CONFIG_IPV6 is not set 44# CONFIG_IPV6 is not set
319# CONFIG_NETWORK_SECMARK is not set
320# CONFIG_NETFILTER is not set
321# CONFIG_IP_DCCP is not set
322# CONFIG_IP_SCTP is not set
323# CONFIG_TIPC is not set
324# CONFIG_ATM is not set
325# CONFIG_BRIDGE is not set
326# CONFIG_NET_DSA is not set
327# CONFIG_VLAN_8021Q is not set
328# CONFIG_DECNET is not set
329# CONFIG_LLC2 is not set
330# CONFIG_IPX is not set
331# CONFIG_ATALK is not set
332# CONFIG_X25 is not set
333# CONFIG_LAPB is not set
334# CONFIG_ECONET is not set
335# CONFIG_WAN_ROUTER is not set
336# CONFIG_NET_SCHED is not set
337# CONFIG_DCB is not set
338
339#
340# Network testing
341#
342# CONFIG_NET_PKTGEN is not set
343# CONFIG_HAMRADIO is not set
344# CONFIG_CAN is not set
345# CONFIG_IRDA is not set
346# CONFIG_BT is not set
347# CONFIG_AF_RXRPC is not set
348# CONFIG_PHONET is not set
349# CONFIG_WIRELESS is not set
350# CONFIG_WIMAX is not set
351# CONFIG_RFKILL is not set
352# CONFIG_NET_9P is not set
353
354#
355# Device Drivers
356#
357
358#
359# Generic Driver Options
360#
361CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 45CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
362CONFIG_STANDALONE=y
363CONFIG_PREVENT_FIRMWARE_BUILD=y
364CONFIG_FW_LOADER=y
365CONFIG_FIRMWARE_IN_KERNEL=y
366CONFIG_EXTRA_FIRMWARE=""
367# CONFIG_DEBUG_DRIVER is not set
368# CONFIG_DEBUG_DEVRES is not set
369# CONFIG_SYS_HYPERVISOR is not set
370# CONFIG_CONNECTOR is not set
371# CONFIG_MTD is not set
372# CONFIG_PARPORT is not set
373CONFIG_PNP=y
374CONFIG_PNP_DEBUG_MESSAGES=y
375
376#
377# Protocols
378#
379CONFIG_PNPACPI=y
380CONFIG_BLK_DEV=y
381# CONFIG_BLK_CPQ_DA is not set
382# CONFIG_BLK_CPQ_CISS_DA is not set
383# CONFIG_BLK_DEV_DAC960 is not set
384# CONFIG_BLK_DEV_UMEM is not set
385# CONFIG_BLK_DEV_COW_COMMON is not set
386CONFIG_BLK_DEV_LOOP=m 46CONFIG_BLK_DEV_LOOP=m
387CONFIG_BLK_DEV_CRYPTOLOOP=m 47CONFIG_BLK_DEV_CRYPTOLOOP=m
388CONFIG_BLK_DEV_NBD=m 48CONFIG_BLK_DEV_NBD=m
389# CONFIG_BLK_DEV_SX8 is not set
390# CONFIG_BLK_DEV_UB is not set
391CONFIG_BLK_DEV_RAM=y 49CONFIG_BLK_DEV_RAM=y
392CONFIG_BLK_DEV_RAM_COUNT=16
393CONFIG_BLK_DEV_RAM_SIZE=4096
394# CONFIG_BLK_DEV_XIP is not set
395# CONFIG_CDROM_PKTCDVD is not set
396# CONFIG_ATA_OVER_ETH is not set
397CONFIG_XEN_BLKDEV_FRONTEND=y
398# CONFIG_BLK_DEV_HD is not set
399CONFIG_MISC_DEVICES=y
400# CONFIG_PHANTOM is not set
401# CONFIG_EEPROM_93CX6 is not set
402# CONFIG_SGI_IOC4 is not set
403# CONFIG_TIFM_CORE is not set
404# CONFIG_ICS932S401 is not set
405# CONFIG_ENCLOSURE_SERVICES is not set
406# CONFIG_HP_ILO is not set
407# CONFIG_C2PORT is not set
408CONFIG_HAVE_IDE=y
409CONFIG_IDE=y 50CONFIG_IDE=y
410
411#
412# Please see Documentation/ide/ide.txt for help/info on IDE drives
413#
414CONFIG_IDE_TIMINGS=y
415CONFIG_IDE_ATAPI=y
416# CONFIG_BLK_DEV_IDE_SATA is not set
417CONFIG_IDE_GD=y
418CONFIG_IDE_GD_ATA=y
419# CONFIG_IDE_GD_ATAPI is not set
420CONFIG_BLK_DEV_IDECD=y 51CONFIG_BLK_DEV_IDECD=y
421CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
422# CONFIG_BLK_DEV_IDETAPE is not set
423# CONFIG_BLK_DEV_IDEACPI is not set
424# CONFIG_IDE_TASK_IOCTL is not set
425CONFIG_IDE_PROC_FS=y
426
427#
428# IDE chipset support/bugfixes
429#
430# CONFIG_IDE_GENERIC is not set
431# CONFIG_BLK_DEV_PLATFORM is not set
432# CONFIG_BLK_DEV_IDEPNP is not set
433CONFIG_BLK_DEV_IDEDMA_SFF=y
434
435#
436# PCI IDE chipsets support
437#
438CONFIG_BLK_DEV_IDEPCI=y
439CONFIG_IDEPCI_PCIBUS_ORDER=y
440# CONFIG_BLK_DEV_OFFBOARD is not set
441CONFIG_BLK_DEV_GENERIC=y 52CONFIG_BLK_DEV_GENERIC=y
442# CONFIG_BLK_DEV_OPTI621 is not set
443CONFIG_BLK_DEV_IDEDMA_PCI=y
444# CONFIG_BLK_DEV_AEC62XX is not set
445# CONFIG_BLK_DEV_ALI15X3 is not set
446# CONFIG_BLK_DEV_AMD74XX is not set
447CONFIG_BLK_DEV_CMD64X=y 53CONFIG_BLK_DEV_CMD64X=y
448# CONFIG_BLK_DEV_TRIFLEX is not set
449# CONFIG_BLK_DEV_CS5520 is not set
450# CONFIG_BLK_DEV_CS5530 is not set
451# CONFIG_BLK_DEV_HPT366 is not set
452# CONFIG_BLK_DEV_JMICRON is not set
453# CONFIG_BLK_DEV_SC1200 is not set
454CONFIG_BLK_DEV_PIIX=y 54CONFIG_BLK_DEV_PIIX=y
455# CONFIG_BLK_DEV_IT8172 is not set
456# CONFIG_BLK_DEV_IT8213 is not set
457# CONFIG_BLK_DEV_IT821X is not set
458# CONFIG_BLK_DEV_NS87415 is not set
459# CONFIG_BLK_DEV_PDC202XX_OLD is not set
460# CONFIG_BLK_DEV_PDC202XX_NEW is not set
461# CONFIG_BLK_DEV_SVWKS is not set
462# CONFIG_BLK_DEV_SIIMAGE is not set
463# CONFIG_BLK_DEV_SLC90E66 is not set
464# CONFIG_BLK_DEV_TRM290 is not set
465# CONFIG_BLK_DEV_VIA82CXXX is not set
466# CONFIG_BLK_DEV_TC86C001 is not set
467CONFIG_BLK_DEV_IDEDMA=y
468
469#
470# SCSI device support
471#
472# CONFIG_RAID_ATTRS is not set
473CONFIG_SCSI=y 55CONFIG_SCSI=y
474CONFIG_SCSI_DMA=y
475# CONFIG_SCSI_TGT is not set
476CONFIG_SCSI_NETLINK=y
477CONFIG_SCSI_PROC_FS=y
478
479#
480# SCSI support type (disk, tape, CD-ROM)
481#
482CONFIG_BLK_DEV_SD=y 56CONFIG_BLK_DEV_SD=y
483CONFIG_CHR_DEV_ST=m 57CONFIG_CHR_DEV_ST=m
484# CONFIG_CHR_DEV_OSST is not set
485CONFIG_BLK_DEV_SR=m 58CONFIG_BLK_DEV_SR=m
486# CONFIG_BLK_DEV_SR_VENDOR is not set
487CONFIG_CHR_DEV_SG=m 59CONFIG_CHR_DEV_SG=m
488# CONFIG_CHR_DEV_SCH is not set
489
490#
491# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
492#
493# CONFIG_SCSI_MULTI_LUN is not set
494# CONFIG_SCSI_CONSTANTS is not set
495# CONFIG_SCSI_LOGGING is not set
496# CONFIG_SCSI_SCAN_ASYNC is not set
497CONFIG_SCSI_WAIT_SCAN=m
498
499#
500# SCSI Transports
501#
502CONFIG_SCSI_SPI_ATTRS=y
503CONFIG_SCSI_FC_ATTRS=y
504# CONFIG_SCSI_ISCSI_ATTRS is not set
505# CONFIG_SCSI_SAS_LIBSAS is not set
506# CONFIG_SCSI_SRP_ATTRS is not set
507CONFIG_SCSI_LOWLEVEL=y
508# CONFIG_ISCSI_TCP is not set
509# CONFIG_SCSI_CXGB3_ISCSI is not set
510# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
511# CONFIG_SCSI_3W_9XXX is not set
512# CONFIG_SCSI_ACARD is not set
513# CONFIG_SCSI_AACRAID is not set
514# CONFIG_SCSI_AIC7XXX is not set
515# CONFIG_SCSI_AIC7XXX_OLD is not set
516# CONFIG_SCSI_AIC79XX is not set
517# CONFIG_SCSI_AIC94XX is not set
518# CONFIG_SCSI_DPT_I2O is not set
519# CONFIG_SCSI_ADVANSYS is not set
520# CONFIG_SCSI_ARCMSR is not set
521# CONFIG_MEGARAID_NEWGEN is not set
522# CONFIG_MEGARAID_LEGACY is not set
523# CONFIG_MEGARAID_SAS is not set
524# CONFIG_SCSI_HPTIOP is not set
525# CONFIG_LIBFC is not set
526# CONFIG_FCOE is not set
527# CONFIG_SCSI_DMX3191D is not set
528# CONFIG_SCSI_FUTURE_DOMAIN is not set
529# CONFIG_SCSI_IPS is not set
530# CONFIG_SCSI_INITIO is not set
531# CONFIG_SCSI_INIA100 is not set
532# CONFIG_SCSI_MVSAS is not set
533# CONFIG_SCSI_STEX is not set
534CONFIG_SCSI_SYM53C8XX_2=y 60CONFIG_SCSI_SYM53C8XX_2=y
535CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
536CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
537CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
538CONFIG_SCSI_SYM53C8XX_MMIO=y
539CONFIG_SCSI_QLOGIC_1280=y 61CONFIG_SCSI_QLOGIC_1280=y
540# CONFIG_SCSI_QLA_FC is not set
541# CONFIG_SCSI_QLA_ISCSI is not set
542# CONFIG_SCSI_LPFC is not set
543# CONFIG_SCSI_DC395x is not set
544# CONFIG_SCSI_DC390T is not set
545# CONFIG_SCSI_DEBUG is not set
546# CONFIG_SCSI_SRP is not set
547# CONFIG_SCSI_DH is not set
548# CONFIG_ATA is not set
549CONFIG_MD=y 62CONFIG_MD=y
550CONFIG_BLK_DEV_MD=m 63CONFIG_BLK_DEV_MD=m
551CONFIG_MD_LINEAR=m 64CONFIG_MD_LINEAR=m
552CONFIG_MD_RAID0=m 65CONFIG_MD_RAID0=m
553CONFIG_MD_RAID1=m 66CONFIG_MD_RAID1=m
554# CONFIG_MD_RAID10 is not set
555# CONFIG_MD_RAID456 is not set
556CONFIG_MD_MULTIPATH=m 67CONFIG_MD_MULTIPATH=m
557# CONFIG_MD_FAULTY is not set
558CONFIG_BLK_DEV_DM=m 68CONFIG_BLK_DEV_DM=m
559# CONFIG_DM_DEBUG is not set
560CONFIG_DM_CRYPT=m 69CONFIG_DM_CRYPT=m
561CONFIG_DM_SNAPSHOT=m 70CONFIG_DM_SNAPSHOT=m
562CONFIG_DM_MIRROR=m 71CONFIG_DM_MIRROR=m
563CONFIG_DM_ZERO=m 72CONFIG_DM_ZERO=m
564# CONFIG_DM_MULTIPATH is not set
565# CONFIG_DM_DELAY is not set
566# CONFIG_DM_UEVENT is not set
567CONFIG_FUSION=y 73CONFIG_FUSION=y
568CONFIG_FUSION_SPI=y 74CONFIG_FUSION_SPI=y
569CONFIG_FUSION_FC=y 75CONFIG_FUSION_FC=y
570# CONFIG_FUSION_SAS is not set
571CONFIG_FUSION_MAX_SGE=128
572CONFIG_FUSION_CTL=y 76CONFIG_FUSION_CTL=y
573# CONFIG_FUSION_LOGGING is not set
574
575#
576# IEEE 1394 (FireWire) support
577#
578
579#
580# Enable only one of the two stacks, unless you know what you are doing
581#
582# CONFIG_FIREWIRE is not set
583# CONFIG_IEEE1394 is not set
584# CONFIG_I2O is not set
585CONFIG_NETDEVICES=y 77CONFIG_NETDEVICES=y
586CONFIG_DUMMY=m 78CONFIG_DUMMY=m
587# CONFIG_BONDING is not set
588# CONFIG_MACVLAN is not set
589# CONFIG_EQUALIZER is not set
590# CONFIG_TUN is not set
591# CONFIG_VETH is not set
592# CONFIG_NET_SB1000 is not set
593# CONFIG_ARCNET is not set
594CONFIG_PHYLIB=y
595
596#
597# MII PHY device drivers
598#
599# CONFIG_MARVELL_PHY is not set
600# CONFIG_DAVICOM_PHY is not set
601# CONFIG_QSEMI_PHY is not set
602# CONFIG_LXT_PHY is not set
603# CONFIG_CICADA_PHY is not set
604# CONFIG_VITESSE_PHY is not set
605# CONFIG_SMSC_PHY is not set
606# CONFIG_BROADCOM_PHY is not set
607# CONFIG_ICPLUS_PHY is not set
608# CONFIG_REALTEK_PHY is not set
609# CONFIG_NATIONAL_PHY is not set
610# CONFIG_STE10XP is not set
611# CONFIG_LSI_ET1011C_PHY is not set
612# CONFIG_FIXED_PHY is not set
613# CONFIG_MDIO_BITBANG is not set
614CONFIG_NET_ETHERNET=y 79CONFIG_NET_ETHERNET=y
615CONFIG_MII=m
616# CONFIG_HAPPYMEAL is not set
617# CONFIG_SUNGEM is not set
618# CONFIG_CASSINI is not set
619# CONFIG_NET_VENDOR_3COM is not set
620CONFIG_NET_TULIP=y 80CONFIG_NET_TULIP=y
621# CONFIG_DE2104X is not set
622CONFIG_TULIP=m 81CONFIG_TULIP=m
623# CONFIG_TULIP_MWI is not set
624# CONFIG_TULIP_MMIO is not set
625# CONFIG_TULIP_NAPI is not set
626# CONFIG_DE4X5 is not set
627# CONFIG_WINBOND_840 is not set
628# CONFIG_DM9102 is not set
629# CONFIG_ULI526X is not set
630# CONFIG_HP100 is not set
631# CONFIG_IBM_NEW_EMAC_ZMII is not set
632# CONFIG_IBM_NEW_EMAC_RGMII is not set
633# CONFIG_IBM_NEW_EMAC_TAH is not set
634# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
635# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
636# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
637# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
638CONFIG_NET_PCI=y 82CONFIG_NET_PCI=y
639# CONFIG_PCNET32 is not set
640# CONFIG_AMD8111_ETH is not set
641# CONFIG_ADAPTEC_STARFIRE is not set
642# CONFIG_B44 is not set
643# CONFIG_FORCEDETH is not set
644CONFIG_E100=m 83CONFIG_E100=m
645# CONFIG_FEALNX is not set
646# CONFIG_NATSEMI is not set
647# CONFIG_NE2K_PCI is not set
648# CONFIG_8139CP is not set
649# CONFIG_8139TOO is not set
650# CONFIG_R6040 is not set
651# CONFIG_SIS900 is not set
652# CONFIG_EPIC100 is not set
653# CONFIG_SMSC9420 is not set
654# CONFIG_SUNDANCE is not set
655# CONFIG_TLAN is not set
656# CONFIG_VIA_RHINE is not set
657# CONFIG_SC92031 is not set
658# CONFIG_ATL2 is not set
659CONFIG_NETDEV_1000=y
660# CONFIG_ACENIC is not set
661# CONFIG_DL2K is not set
662CONFIG_E1000=y 84CONFIG_E1000=y
663# CONFIG_E1000E is not set
664# CONFIG_IP1000 is not set
665# CONFIG_IGB is not set
666# CONFIG_NS83820 is not set
667# CONFIG_HAMACHI is not set
668# CONFIG_YELLOWFIN is not set
669# CONFIG_R8169 is not set
670# CONFIG_SIS190 is not set
671# CONFIG_SKGE is not set
672# CONFIG_SKY2 is not set
673# CONFIG_VIA_VELOCITY is not set
674CONFIG_TIGON3=y 85CONFIG_TIGON3=y
675# CONFIG_BNX2 is not set
676# CONFIG_QLA3XXX is not set
677# CONFIG_ATL1 is not set
678# CONFIG_ATL1E is not set
679# CONFIG_JME is not set
680CONFIG_NETDEV_10000=y
681# CONFIG_CHELSIO_T1 is not set
682CONFIG_CHELSIO_T3_DEPENDS=y
683# CONFIG_CHELSIO_T3 is not set
684# CONFIG_ENIC is not set
685# CONFIG_IXGBE is not set
686# CONFIG_IXGB is not set
687# CONFIG_S2IO is not set
688# CONFIG_MYRI10GE is not set
689# CONFIG_NETXEN_NIC is not set
690# CONFIG_NIU is not set
691# CONFIG_MLX4_EN is not set
692# CONFIG_MLX4_CORE is not set
693# CONFIG_TEHUTI is not set
694# CONFIG_BNX2X is not set
695# CONFIG_QLGE is not set
696# CONFIG_SFC is not set
697# CONFIG_TR is not set
698
699#
700# Wireless LAN
701#
702# CONFIG_WLAN_PRE80211 is not set
703# CONFIG_WLAN_80211 is not set
704# CONFIG_IWLWIFI_LEDS is not set
705
706#
707# Enable WiMAX (Networking options) to see the WiMAX drivers
708#
709
710#
711# USB Network Adapters
712#
713# CONFIG_USB_CATC is not set
714# CONFIG_USB_KAWETH is not set
715# CONFIG_USB_PEGASUS is not set
716# CONFIG_USB_RTL8150 is not set
717# CONFIG_USB_USBNET is not set
718# CONFIG_WAN is not set
719CONFIG_XEN_NETDEV_FRONTEND=y
720# CONFIG_FDDI is not set
721# CONFIG_HIPPI is not set
722# CONFIG_PPP is not set
723# CONFIG_SLIP is not set
724# CONFIG_NET_FC is not set
725CONFIG_NETCONSOLE=y 86CONFIG_NETCONSOLE=y
726# CONFIG_NETCONSOLE_DYNAMIC is not set
727CONFIG_NETPOLL=y
728# CONFIG_NETPOLL_TRAP is not set
729CONFIG_NET_POLL_CONTROLLER=y
730# CONFIG_ISDN is not set
731# CONFIG_PHONE is not set
732
733#
734# Input device support
735#
736CONFIG_INPUT=y
737# CONFIG_INPUT_FF_MEMLESS is not set
738# CONFIG_INPUT_POLLDEV is not set
739
740#
741# Userland interfaces
742#
743CONFIG_INPUT_MOUSEDEV=y
744CONFIG_INPUT_MOUSEDEV_PSAUX=y
745CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
746CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
747# CONFIG_INPUT_JOYDEV is not set
748# CONFIG_INPUT_EVDEV is not set
749# CONFIG_INPUT_EVBUG is not set
750
751#
752# Input Device Drivers
753#
754CONFIG_INPUT_KEYBOARD=y
755CONFIG_KEYBOARD_ATKBD=y
756# CONFIG_KEYBOARD_SUNKBD is not set
757# CONFIG_KEYBOARD_LKKBD is not set
758# CONFIG_KEYBOARD_XTKBD is not set
759# CONFIG_KEYBOARD_NEWTON is not set
760# CONFIG_KEYBOARD_STOWAWAY is not set
761CONFIG_INPUT_MOUSE=y
762CONFIG_MOUSE_PS2=y
763CONFIG_MOUSE_PS2_ALPS=y
764CONFIG_MOUSE_PS2_LOGIPS2PP=y
765CONFIG_MOUSE_PS2_SYNAPTICS=y
766CONFIG_MOUSE_PS2_LIFEBOOK=y
767CONFIG_MOUSE_PS2_TRACKPOINT=y
768# CONFIG_MOUSE_PS2_ELANTECH is not set
769# CONFIG_MOUSE_PS2_TOUCHKIT is not set
770# CONFIG_MOUSE_SERIAL is not set
771# CONFIG_MOUSE_APPLETOUCH is not set
772# CONFIG_MOUSE_BCM5974 is not set
773# CONFIG_MOUSE_VSXXXAA is not set
774# CONFIG_INPUT_JOYSTICK is not set
775# CONFIG_INPUT_TABLET is not set
776# CONFIG_INPUT_TOUCHSCREEN is not set
777# CONFIG_INPUT_MISC is not set
778
779#
780# Hardware I/O ports
781#
782CONFIG_SERIO=y
783CONFIG_SERIO_I8042=y
784# CONFIG_SERIO_SERPORT is not set 87# CONFIG_SERIO_SERPORT is not set
785# CONFIG_SERIO_PCIPS2 is not set
786CONFIG_SERIO_LIBPS2=y
787# CONFIG_SERIO_RAW is not set
788CONFIG_GAMEPORT=m 88CONFIG_GAMEPORT=m
789# CONFIG_GAMEPORT_NS558 is not set
790# CONFIG_GAMEPORT_L4 is not set
791# CONFIG_GAMEPORT_EMU10K1 is not set
792# CONFIG_GAMEPORT_FM801 is not set
793
794#
795# Character devices
796#
797CONFIG_VT=y
798CONFIG_CONSOLE_TRANSLATIONS=y
799CONFIG_VT_CONSOLE=y
800CONFIG_HW_CONSOLE=y
801# CONFIG_VT_HW_CONSOLE_BINDING is not set
802CONFIG_DEVKMEM=y
803CONFIG_SERIAL_NONSTANDARD=y 89CONFIG_SERIAL_NONSTANDARD=y
804# CONFIG_COMPUTONE is not set
805# CONFIG_ROCKETPORT is not set
806# CONFIG_CYCLADES is not set
807# CONFIG_DIGIEPCA is not set
808# CONFIG_MOXA_INTELLIO is not set
809# CONFIG_MOXA_SMARTIO is not set
810# CONFIG_ISI is not set
811# CONFIG_SYNCLINKMP is not set
812# CONFIG_SYNCLINK_GT is not set
813# CONFIG_N_HDLC is not set
814# CONFIG_RISCOM8 is not set
815# CONFIG_SPECIALIX is not set
816# CONFIG_SX is not set
817# CONFIG_RIO is not set
818# CONFIG_STALDRV is not set
819# CONFIG_NOZOMI is not set
820
821#
822# Serial drivers
823#
824CONFIG_SERIAL_8250=y 90CONFIG_SERIAL_8250=y
825CONFIG_SERIAL_8250_CONSOLE=y 91CONFIG_SERIAL_8250_CONSOLE=y
826CONFIG_SERIAL_8250_PCI=y
827CONFIG_SERIAL_8250_PNP=y
828CONFIG_SERIAL_8250_NR_UARTS=6 92CONFIG_SERIAL_8250_NR_UARTS=6
829CONFIG_SERIAL_8250_RUNTIME_UARTS=4
830CONFIG_SERIAL_8250_EXTENDED=y 93CONFIG_SERIAL_8250_EXTENDED=y
831CONFIG_SERIAL_8250_SHARE_IRQ=y 94CONFIG_SERIAL_8250_SHARE_IRQ=y
832# CONFIG_SERIAL_8250_DETECT_IRQ is not set
833# CONFIG_SERIAL_8250_RSA is not set
834
835#
836# Non-8250 serial port support
837#
838CONFIG_SERIAL_CORE=y
839CONFIG_SERIAL_CORE_CONSOLE=y
840# CONFIG_SERIAL_JSM is not set
841CONFIG_UNIX98_PTYS=y
842# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
843CONFIG_LEGACY_PTYS=y
844CONFIG_LEGACY_PTY_COUNT=256
845CONFIG_HVC_DRIVER=y
846CONFIG_HVC_IRQ=y
847CONFIG_HVC_XEN=y
848# CONFIG_IPMI_HANDLER is not set
849# CONFIG_HW_RANDOM is not set 95# CONFIG_HW_RANDOM is not set
850CONFIG_EFI_RTC=y 96CONFIG_EFI_RTC=y
851# CONFIG_R3964 is not set
852# CONFIG_APPLICOM is not set
853CONFIG_RAW_DRIVER=m 97CONFIG_RAW_DRIVER=m
854CONFIG_MAX_RAW_DEVS=256
855CONFIG_HPET=y 98CONFIG_HPET=y
856CONFIG_HPET_MMAP=y
857# CONFIG_HANGCHECK_TIMER is not set
858# CONFIG_TCG_TPM is not set
859CONFIG_DEVPORT=y
860CONFIG_I2C=m
861CONFIG_I2C_BOARDINFO=y
862# CONFIG_I2C_CHARDEV is not set
863CONFIG_I2C_HELPER_AUTO=y
864CONFIG_I2C_ALGOBIT=m
865
866#
867# I2C Hardware Bus support
868#
869
870#
871# PC SMBus host controller drivers
872#
873# CONFIG_I2C_ALI1535 is not set
874# CONFIG_I2C_ALI1563 is not set
875# CONFIG_I2C_ALI15X3 is not set
876# CONFIG_I2C_AMD756 is not set
877# CONFIG_I2C_AMD8111 is not set
878# CONFIG_I2C_I801 is not set
879# CONFIG_I2C_ISCH is not set
880# CONFIG_I2C_PIIX4 is not set
881# CONFIG_I2C_NFORCE2 is not set
882# CONFIG_I2C_SIS5595 is not set
883# CONFIG_I2C_SIS630 is not set
884# CONFIG_I2C_SIS96X is not set
885# CONFIG_I2C_VIA is not set
886# CONFIG_I2C_VIAPRO is not set
887
888#
889# I2C system bus drivers (mostly embedded / system-on-chip)
890#
891# CONFIG_I2C_OCORES is not set
892# CONFIG_I2C_SIMTEC is not set
893
894#
895# External I2C/SMBus adapter drivers
896#
897# CONFIG_I2C_PARPORT_LIGHT is not set
898# CONFIG_I2C_TAOS_EVM is not set
899# CONFIG_I2C_TINY_USB is not set
900
901#
902# Graphics adapter I2C/DDC channel drivers
903#
904# CONFIG_I2C_VOODOO3 is not set
905
906#
907# Other I2C/SMBus bus drivers
908#
909# CONFIG_I2C_PCA_PLATFORM is not set
910# CONFIG_I2C_STUB is not set
911
912#
913# Miscellaneous I2C Chip support
914#
915# CONFIG_DS1682 is not set
916# CONFIG_AT24 is not set
917# CONFIG_SENSORS_EEPROM is not set
918# CONFIG_SENSORS_PCF8574 is not set
919# CONFIG_PCF8575 is not set
920# CONFIG_SENSORS_PCA9539 is not set
921# CONFIG_SENSORS_PCF8591 is not set
922# CONFIG_SENSORS_MAX6875 is not set
923# CONFIG_SENSORS_TSL2550 is not set
924# CONFIG_I2C_DEBUG_CORE is not set
925# CONFIG_I2C_DEBUG_ALGO is not set
926# CONFIG_I2C_DEBUG_BUS is not set
927# CONFIG_I2C_DEBUG_CHIP is not set
928# CONFIG_SPI is not set
929# CONFIG_W1 is not set
930CONFIG_POWER_SUPPLY=y
931# CONFIG_POWER_SUPPLY_DEBUG is not set
932# CONFIG_PDA_POWER is not set
933# CONFIG_BATTERY_DS2760 is not set
934# CONFIG_BATTERY_BQ27x00 is not set
935CONFIG_HWMON=y
936# CONFIG_HWMON_VID is not set
937# CONFIG_SENSORS_AD7414 is not set
938# CONFIG_SENSORS_AD7418 is not set
939# CONFIG_SENSORS_ADM1021 is not set
940# CONFIG_SENSORS_ADM1025 is not set
941# CONFIG_SENSORS_ADM1026 is not set
942# CONFIG_SENSORS_ADM1029 is not set
943# CONFIG_SENSORS_ADM1031 is not set
944# CONFIG_SENSORS_ADM9240 is not set
945# CONFIG_SENSORS_ADT7462 is not set
946# CONFIG_SENSORS_ADT7470 is not set
947# CONFIG_SENSORS_ADT7473 is not set
948# CONFIG_SENSORS_ATXP1 is not set
949# CONFIG_SENSORS_DS1621 is not set
950# CONFIG_SENSORS_I5K_AMB is not set
951# CONFIG_SENSORS_F71805F is not set
952# CONFIG_SENSORS_F71882FG is not set
953# CONFIG_SENSORS_F75375S is not set
954# CONFIG_SENSORS_GL518SM is not set
955# CONFIG_SENSORS_GL520SM is not set
956# CONFIG_SENSORS_IT87 is not set
957# CONFIG_SENSORS_LM63 is not set
958# CONFIG_SENSORS_LM75 is not set
959# CONFIG_SENSORS_LM77 is not set
960# CONFIG_SENSORS_LM78 is not set
961# CONFIG_SENSORS_LM80 is not set
962# CONFIG_SENSORS_LM83 is not set
963# CONFIG_SENSORS_LM85 is not set
964# CONFIG_SENSORS_LM87 is not set
965# CONFIG_SENSORS_LM90 is not set
966# CONFIG_SENSORS_LM92 is not set
967# CONFIG_SENSORS_LM93 is not set
968# CONFIG_SENSORS_LTC4245 is not set
969# CONFIG_SENSORS_MAX1619 is not set
970# CONFIG_SENSORS_MAX6650 is not set
971# CONFIG_SENSORS_PC87360 is not set
972# CONFIG_SENSORS_PC87427 is not set
973# CONFIG_SENSORS_SIS5595 is not set
974# CONFIG_SENSORS_DME1737 is not set
975# CONFIG_SENSORS_SMSC47M1 is not set
976# CONFIG_SENSORS_SMSC47M192 is not set
977# CONFIG_SENSORS_SMSC47B397 is not set
978# CONFIG_SENSORS_ADS7828 is not set
979# CONFIG_SENSORS_THMC50 is not set
980# CONFIG_SENSORS_VIA686A is not set
981# CONFIG_SENSORS_VT1211 is not set
982# CONFIG_SENSORS_VT8231 is not set
983# CONFIG_SENSORS_W83781D is not set
984# CONFIG_SENSORS_W83791D is not set
985# CONFIG_SENSORS_W83792D is not set
986# CONFIG_SENSORS_W83793 is not set
987# CONFIG_SENSORS_W83L785TS is not set
988# CONFIG_SENSORS_W83L786NG is not set
989# CONFIG_SENSORS_W83627HF is not set
990# CONFIG_SENSORS_W83627EHF is not set
991# CONFIG_SENSORS_LIS3LV02D is not set
992# CONFIG_HWMON_DEBUG_CHIP is not set
993CONFIG_THERMAL=m
994# CONFIG_THERMAL_HWMON is not set
995# CONFIG_WATCHDOG is not set
996CONFIG_SSB_POSSIBLE=y
997
998#
999# Sonics Silicon Backplane
1000#
1001# CONFIG_SSB is not set
1002
1003#
1004# Multifunction device drivers
1005#
1006# CONFIG_MFD_CORE is not set
1007# CONFIG_MFD_SM501 is not set
1008# CONFIG_HTC_PASIC3 is not set
1009# CONFIG_MFD_TMIO is not set
1010# CONFIG_MFD_WM8400 is not set
1011# CONFIG_MFD_WM8350_I2C is not set
1012# CONFIG_MFD_PCF50633 is not set
1013# CONFIG_REGULATOR is not set
1014
1015#
1016# Multimedia devices
1017#
1018
1019#
1020# Multimedia core support
1021#
1022# CONFIG_VIDEO_DEV is not set
1023# CONFIG_DVB_CORE is not set
1024# CONFIG_VIDEO_MEDIA is not set
1025
1026#
1027# Multimedia drivers
1028#
1029CONFIG_DAB=y
1030# CONFIG_USB_DABUSB is not set
1031
1032#
1033# Graphics support
1034#
1035CONFIG_AGP=m 99CONFIG_AGP=m
1036CONFIG_DRM=m 100CONFIG_DRM=m
1037CONFIG_DRM_TDFX=m 101CONFIG_DRM_TDFX=m
@@ -1039,338 +103,53 @@ CONFIG_DRM_R128=m
1039CONFIG_DRM_RADEON=m 103CONFIG_DRM_RADEON=m
1040CONFIG_DRM_MGA=m 104CONFIG_DRM_MGA=m
1041CONFIG_DRM_SIS=m 105CONFIG_DRM_SIS=m
1042# CONFIG_DRM_VIA is not set
1043# CONFIG_DRM_SAVAGE is not set
1044# CONFIG_VGASTATE is not set
1045# CONFIG_VIDEO_OUTPUT_CONTROL is not set
1046# CONFIG_FB is not set
1047# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
1048
1049#
1050# Display device support
1051#
1052# CONFIG_DISPLAY_SUPPORT is not set
1053
1054#
1055# Console display driver support
1056#
1057CONFIG_VGA_CONSOLE=y
1058# CONFIG_VGACON_SOFT_SCROLLBACK is not set
1059CONFIG_DUMMY_CONSOLE=y
1060# CONFIG_SOUND is not set
1061CONFIG_HID_SUPPORT=y
1062CONFIG_HID=y
1063# CONFIG_HID_DEBUG is not set
1064# CONFIG_HIDRAW is not set
1065
1066#
1067# USB Input Devices
1068#
1069CONFIG_USB_HID=y
1070# CONFIG_HID_PID is not set
1071# CONFIG_USB_HIDDEV is not set
1072
1073#
1074# Special HID drivers
1075#
1076CONFIG_HID_COMPAT=y
1077CONFIG_HID_A4TECH=y
1078CONFIG_HID_APPLE=y
1079CONFIG_HID_BELKIN=y
1080CONFIG_HID_CHERRY=y
1081CONFIG_HID_CHICONY=y
1082CONFIG_HID_CYPRESS=y
1083CONFIG_HID_EZKEY=y
1084CONFIG_HID_GYRATION=y 106CONFIG_HID_GYRATION=y
1085CONFIG_HID_LOGITECH=y
1086# CONFIG_LOGITECH_FF is not set
1087# CONFIG_LOGIRUMBLEPAD2_FF is not set
1088CONFIG_HID_MICROSOFT=y
1089CONFIG_HID_MONTEREY=y
1090CONFIG_HID_NTRIG=y 107CONFIG_HID_NTRIG=y
1091CONFIG_HID_PANTHERLORD=y 108CONFIG_HID_PANTHERLORD=y
1092# CONFIG_PANTHERLORD_FF is not set
1093CONFIG_HID_PETALYNX=y 109CONFIG_HID_PETALYNX=y
1094CONFIG_HID_SAMSUNG=y 110CONFIG_HID_SAMSUNG=y
1095CONFIG_HID_SONY=y 111CONFIG_HID_SONY=y
1096CONFIG_HID_SUNPLUS=y 112CONFIG_HID_SUNPLUS=y
1097# CONFIG_GREENASIA_FF is not set
1098CONFIG_HID_TOPSEED=y 113CONFIG_HID_TOPSEED=y
1099# CONFIG_THRUSTMASTER_FF is not set
1100# CONFIG_ZEROPLUS_FF is not set
1101CONFIG_USB_SUPPORT=y
1102CONFIG_USB_ARCH_HAS_HCD=y
1103CONFIG_USB_ARCH_HAS_OHCI=y
1104CONFIG_USB_ARCH_HAS_EHCI=y
1105CONFIG_USB=y 114CONFIG_USB=y
1106# CONFIG_USB_DEBUG is not set
1107# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1108
1109#
1110# Miscellaneous USB options
1111#
1112CONFIG_USB_DEVICEFS=y 115CONFIG_USB_DEVICEFS=y
1113CONFIG_USB_DEVICE_CLASS=y
1114# CONFIG_USB_DYNAMIC_MINORS is not set
1115# CONFIG_USB_SUSPEND is not set
1116# CONFIG_USB_OTG is not set
1117# CONFIG_USB_MON is not set
1118# CONFIG_USB_WUSB is not set
1119# CONFIG_USB_WUSB_CBAF is not set
1120
1121#
1122# USB Host Controller Drivers
1123#
1124# CONFIG_USB_C67X00_HCD is not set
1125CONFIG_USB_EHCI_HCD=m 116CONFIG_USB_EHCI_HCD=m
1126# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1127# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1128# CONFIG_USB_OXU210HP_HCD is not set
1129# CONFIG_USB_ISP116X_HCD is not set
1130# CONFIG_USB_ISP1760_HCD is not set
1131CONFIG_USB_OHCI_HCD=m 117CONFIG_USB_OHCI_HCD=m
1132# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
1133# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
1134CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1135CONFIG_USB_UHCI_HCD=y 118CONFIG_USB_UHCI_HCD=y
1136# CONFIG_USB_SL811_HCD is not set
1137# CONFIG_USB_R8A66597_HCD is not set
1138# CONFIG_USB_WHCI_HCD is not set
1139# CONFIG_USB_HWA_HCD is not set
1140
1141#
1142# USB Device Class drivers
1143#
1144# CONFIG_USB_ACM is not set
1145# CONFIG_USB_PRINTER is not set
1146# CONFIG_USB_WDM is not set
1147# CONFIG_USB_TMC is not set
1148
1149#
1150# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
1151#
1152
1153#
1154# see USB_STORAGE Help for more information
1155#
1156CONFIG_USB_STORAGE=m 119CONFIG_USB_STORAGE=m
1157# CONFIG_USB_STORAGE_DEBUG is not set
1158# CONFIG_USB_STORAGE_DATAFAB is not set
1159# CONFIG_USB_STORAGE_FREECOM is not set
1160# CONFIG_USB_STORAGE_ISD200 is not set
1161# CONFIG_USB_STORAGE_USBAT is not set
1162# CONFIG_USB_STORAGE_SDDR09 is not set
1163# CONFIG_USB_STORAGE_SDDR55 is not set
1164# CONFIG_USB_STORAGE_JUMPSHOT is not set
1165# CONFIG_USB_STORAGE_ALAUDA is not set
1166# CONFIG_USB_STORAGE_ONETOUCH is not set
1167# CONFIG_USB_STORAGE_KARMA is not set
1168# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1169# CONFIG_USB_LIBUSUAL is not set
1170
1171#
1172# USB Imaging devices
1173#
1174# CONFIG_USB_MDC800 is not set
1175# CONFIG_USB_MICROTEK is not set
1176
1177#
1178# USB port drivers
1179#
1180# CONFIG_USB_SERIAL is not set
1181
1182#
1183# USB Miscellaneous drivers
1184#
1185# CONFIG_USB_EMI62 is not set
1186# CONFIG_USB_EMI26 is not set
1187# CONFIG_USB_ADUTUX is not set
1188# CONFIG_USB_SEVSEG is not set
1189# CONFIG_USB_RIO500 is not set
1190# CONFIG_USB_LEGOTOWER is not set
1191# CONFIG_USB_LCD is not set
1192# CONFIG_USB_BERRY_CHARGE is not set
1193# CONFIG_USB_LED is not set
1194# CONFIG_USB_CYPRESS_CY7C63 is not set
1195# CONFIG_USB_CYTHERM is not set
1196# CONFIG_USB_PHIDGET is not set
1197# CONFIG_USB_IDMOUSE is not set
1198# CONFIG_USB_FTDI_ELAN is not set
1199# CONFIG_USB_APPLEDISPLAY is not set
1200# CONFIG_USB_SISUSBVGA is not set
1201# CONFIG_USB_LD is not set
1202# CONFIG_USB_TRANCEVIBRATOR is not set
1203# CONFIG_USB_IOWARRIOR is not set
1204# CONFIG_USB_TEST is not set
1205# CONFIG_USB_ISIGHTFW is not set
1206# CONFIG_USB_VST is not set
1207# CONFIG_USB_GADGET is not set
1208
1209#
1210# OTG and related infrastructure
1211#
1212# CONFIG_UWB is not set
1213# CONFIG_MMC is not set
1214# CONFIG_MEMSTICK is not set
1215# CONFIG_NEW_LEDS is not set
1216# CONFIG_ACCESSIBILITY is not set
1217# CONFIG_INFINIBAND is not set
1218# CONFIG_RTC_CLASS is not set
1219# CONFIG_DMADEVICES is not set
1220# CONFIG_UIO is not set
1221CONFIG_XEN_BALLOON=y
1222CONFIG_XEN_SCRUB_PAGES=y
1223CONFIG_XENFS=y
1224CONFIG_XEN_COMPAT_XENFS=y
1225# CONFIG_STAGING is not set
1226# CONFIG_MSPEC is not set
1227
1228#
1229# File systems
1230#
1231CONFIG_EXT2_FS=y 120CONFIG_EXT2_FS=y
1232CONFIG_EXT2_FS_XATTR=y 121CONFIG_EXT2_FS_XATTR=y
1233CONFIG_EXT2_FS_POSIX_ACL=y 122CONFIG_EXT2_FS_POSIX_ACL=y
1234CONFIG_EXT2_FS_SECURITY=y 123CONFIG_EXT2_FS_SECURITY=y
1235# CONFIG_EXT2_FS_XIP is not set
1236CONFIG_EXT3_FS=y 124CONFIG_EXT3_FS=y
1237CONFIG_EXT3_FS_XATTR=y
1238CONFIG_EXT3_FS_POSIX_ACL=y 125CONFIG_EXT3_FS_POSIX_ACL=y
1239CONFIG_EXT3_FS_SECURITY=y 126CONFIG_EXT3_FS_SECURITY=y
1240# CONFIG_EXT4_FS is not set
1241CONFIG_JBD=y
1242CONFIG_FS_MBCACHE=y
1243CONFIG_REISERFS_FS=y 127CONFIG_REISERFS_FS=y
1244# CONFIG_REISERFS_CHECK is not set
1245# CONFIG_REISERFS_PROC_INFO is not set
1246CONFIG_REISERFS_FS_XATTR=y 128CONFIG_REISERFS_FS_XATTR=y
1247CONFIG_REISERFS_FS_POSIX_ACL=y 129CONFIG_REISERFS_FS_POSIX_ACL=y
1248CONFIG_REISERFS_FS_SECURITY=y 130CONFIG_REISERFS_FS_SECURITY=y
1249# CONFIG_JFS_FS is not set
1250CONFIG_FS_POSIX_ACL=y
1251CONFIG_FILE_LOCKING=y
1252CONFIG_XFS_FS=y 131CONFIG_XFS_FS=y
1253# CONFIG_XFS_QUOTA is not set
1254# CONFIG_XFS_POSIX_ACL is not set
1255# CONFIG_XFS_RT is not set
1256# CONFIG_XFS_DEBUG is not set
1257# CONFIG_GFS2_FS is not set
1258# CONFIG_OCFS2_FS is not set
1259# CONFIG_BTRFS_FS is not set
1260CONFIG_DNOTIFY=y
1261CONFIG_INOTIFY=y
1262CONFIG_INOTIFY_USER=y
1263# CONFIG_QUOTA is not set
1264CONFIG_AUTOFS_FS=y 132CONFIG_AUTOFS_FS=y
1265CONFIG_AUTOFS4_FS=y 133CONFIG_AUTOFS4_FS=y
1266# CONFIG_FUSE_FS is not set
1267
1268#
1269# CD-ROM/DVD Filesystems
1270#
1271CONFIG_ISO9660_FS=m 134CONFIG_ISO9660_FS=m
1272CONFIG_JOLIET=y 135CONFIG_JOLIET=y
1273# CONFIG_ZISOFS is not set
1274CONFIG_UDF_FS=m 136CONFIG_UDF_FS=m
1275CONFIG_UDF_NLS=y
1276
1277#
1278# DOS/FAT/NT Filesystems
1279#
1280CONFIG_FAT_FS=y
1281# CONFIG_MSDOS_FS is not set
1282CONFIG_VFAT_FS=y 137CONFIG_VFAT_FS=y
1283CONFIG_FAT_DEFAULT_CODEPAGE=437
1284CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1285CONFIG_NTFS_FS=m 138CONFIG_NTFS_FS=m
1286# CONFIG_NTFS_DEBUG is not set
1287# CONFIG_NTFS_RW is not set
1288
1289#
1290# Pseudo filesystems
1291#
1292CONFIG_PROC_FS=y
1293CONFIG_PROC_KCORE=y 139CONFIG_PROC_KCORE=y
1294CONFIG_PROC_SYSCTL=y
1295CONFIG_PROC_PAGE_MONITOR=y
1296CONFIG_SYSFS=y
1297CONFIG_TMPFS=y 140CONFIG_TMPFS=y
1298# CONFIG_TMPFS_POSIX_ACL is not set
1299CONFIG_HUGETLBFS=y 141CONFIG_HUGETLBFS=y
1300CONFIG_HUGETLB_PAGE=y
1301# CONFIG_CONFIGFS_FS is not set
1302CONFIG_MISC_FILESYSTEMS=y
1303# CONFIG_ADFS_FS is not set
1304# CONFIG_AFFS_FS is not set
1305# CONFIG_HFS_FS is not set
1306# CONFIG_HFSPLUS_FS is not set
1307# CONFIG_BEFS_FS is not set
1308# CONFIG_BFS_FS is not set
1309# CONFIG_EFS_FS is not set
1310# CONFIG_CRAMFS is not set
1311# CONFIG_SQUASHFS is not set
1312# CONFIG_VXFS_FS is not set
1313# CONFIG_MINIX_FS is not set
1314# CONFIG_OMFS_FS is not set
1315# CONFIG_HPFS_FS is not set
1316# CONFIG_QNX4FS_FS is not set
1317# CONFIG_ROMFS_FS is not set
1318# CONFIG_SYSV_FS is not set
1319# CONFIG_UFS_FS is not set
1320CONFIG_NETWORK_FILESYSTEMS=y
1321CONFIG_NFS_FS=m 142CONFIG_NFS_FS=m
1322CONFIG_NFS_V3=y 143CONFIG_NFS_V3=y
1323# CONFIG_NFS_V3_ACL is not set
1324CONFIG_NFS_V4=y 144CONFIG_NFS_V4=y
1325CONFIG_NFSD=m 145CONFIG_NFSD=m
1326CONFIG_NFSD_V3=y
1327# CONFIG_NFSD_V3_ACL is not set
1328CONFIG_NFSD_V4=y 146CONFIG_NFSD_V4=y
1329CONFIG_LOCKD=m
1330CONFIG_LOCKD_V4=y
1331CONFIG_EXPORTFS=m
1332CONFIG_NFS_COMMON=y
1333CONFIG_SUNRPC=m
1334CONFIG_SUNRPC_GSS=m
1335# CONFIG_SUNRPC_REGISTER_V4 is not set
1336CONFIG_RPCSEC_GSS_KRB5=m
1337# CONFIG_RPCSEC_GSS_SPKM3 is not set
1338CONFIG_SMB_FS=m 147CONFIG_SMB_FS=m
1339CONFIG_SMB_NLS_DEFAULT=y 148CONFIG_SMB_NLS_DEFAULT=y
1340CONFIG_SMB_NLS_REMOTE="cp437"
1341CONFIG_CIFS=m 149CONFIG_CIFS=m
1342# CONFIG_CIFS_STATS is not set
1343# CONFIG_CIFS_WEAK_PW_HASH is not set
1344# CONFIG_CIFS_XATTR is not set
1345# CONFIG_CIFS_DEBUG2 is not set
1346# CONFIG_CIFS_EXPERIMENTAL is not set
1347# CONFIG_NCP_FS is not set
1348# CONFIG_CODA_FS is not set
1349# CONFIG_AFS_FS is not set
1350
1351#
1352# Partition Types
1353#
1354CONFIG_PARTITION_ADVANCED=y 150CONFIG_PARTITION_ADVANCED=y
1355# CONFIG_ACORN_PARTITION is not set
1356# CONFIG_OSF_PARTITION is not set
1357# CONFIG_AMIGA_PARTITION is not set
1358# CONFIG_ATARI_PARTITION is not set
1359# CONFIG_MAC_PARTITION is not set
1360CONFIG_MSDOS_PARTITION=y
1361# CONFIG_BSD_DISKLABEL is not set
1362# CONFIG_MINIX_SUBPARTITION is not set
1363# CONFIG_SOLARIS_X86_PARTITION is not set
1364# CONFIG_UNIXWARE_DISKLABEL is not set
1365# CONFIG_LDM_PARTITION is not set
1366CONFIG_SGI_PARTITION=y 151CONFIG_SGI_PARTITION=y
1367# CONFIG_ULTRIX_PARTITION is not set
1368# CONFIG_SUN_PARTITION is not set
1369# CONFIG_KARMA_PARTITION is not set
1370CONFIG_EFI_PARTITION=y 152CONFIG_EFI_PARTITION=y
1371# CONFIG_SYSV68_PARTITION is not set
1372CONFIG_NLS=y
1373CONFIG_NLS_DEFAULT="iso8859-1"
1374CONFIG_NLS_CODEPAGE_437=y 153CONFIG_NLS_CODEPAGE_437=y
1375CONFIG_NLS_CODEPAGE_737=m 154CONFIG_NLS_CODEPAGE_737=m
1376CONFIG_NLS_CODEPAGE_775=m 155CONFIG_NLS_CODEPAGE_775=m
@@ -1394,7 +173,6 @@ CONFIG_NLS_CODEPAGE_874=m
1394CONFIG_NLS_ISO8859_8=m 173CONFIG_NLS_ISO8859_8=m
1395CONFIG_NLS_CODEPAGE_1250=m 174CONFIG_NLS_CODEPAGE_1250=m
1396CONFIG_NLS_CODEPAGE_1251=m 175CONFIG_NLS_CODEPAGE_1251=m
1397# CONFIG_NLS_ASCII is not set
1398CONFIG_NLS_ISO8859_1=y 176CONFIG_NLS_ISO8859_1=y
1399CONFIG_NLS_ISO8859_2=m 177CONFIG_NLS_ISO8859_2=m
1400CONFIG_NLS_ISO8859_3=m 178CONFIG_NLS_ISO8859_3=m
@@ -1409,193 +187,12 @@ CONFIG_NLS_ISO8859_15=m
1409CONFIG_NLS_KOI8_R=m 187CONFIG_NLS_KOI8_R=m
1410CONFIG_NLS_KOI8_U=m 188CONFIG_NLS_KOI8_U=m
1411CONFIG_NLS_UTF8=m 189CONFIG_NLS_UTF8=m
1412# CONFIG_DLM is not set
1413
1414#
1415# Kernel hacking
1416#
1417# CONFIG_PRINTK_TIME is not set
1418CONFIG_ENABLE_WARN_DEPRECATED=y
1419CONFIG_ENABLE_MUST_CHECK=y
1420CONFIG_FRAME_WARN=2048
1421CONFIG_MAGIC_SYSRQ=y 190CONFIG_MAGIC_SYSRQ=y
1422# CONFIG_UNUSED_SYMBOLS is not set
1423# CONFIG_DEBUG_FS is not set
1424# CONFIG_HEADERS_CHECK is not set
1425CONFIG_DEBUG_KERNEL=y 191CONFIG_DEBUG_KERNEL=y
1426# CONFIG_DEBUG_SHIRQ is not set
1427CONFIG_DETECT_SOFTLOCKUP=y
1428# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1429CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1430CONFIG_SCHED_DEBUG=y
1431# CONFIG_SCHEDSTATS is not set
1432# CONFIG_TIMER_STATS is not set
1433# CONFIG_DEBUG_OBJECTS is not set
1434# CONFIG_SLUB_DEBUG_ON is not set
1435# CONFIG_SLUB_STATS is not set
1436# CONFIG_DEBUG_RT_MUTEXES is not set
1437# CONFIG_RT_MUTEX_TESTER is not set
1438# CONFIG_DEBUG_SPINLOCK is not set
1439CONFIG_DEBUG_MUTEXES=y 192CONFIG_DEBUG_MUTEXES=y
1440# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1441# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1442# CONFIG_DEBUG_KOBJECT is not set
1443# CONFIG_DEBUG_INFO is not set
1444# CONFIG_DEBUG_VM is not set
1445# CONFIG_DEBUG_WRITECOUNT is not set
1446CONFIG_DEBUG_MEMORY_INIT=y
1447# CONFIG_DEBUG_LIST is not set
1448# CONFIG_DEBUG_SG is not set
1449# CONFIG_DEBUG_NOTIFIERS is not set
1450# CONFIG_BOOT_PRINTK_DELAY is not set
1451# CONFIG_RCU_TORTURE_TEST is not set
1452# CONFIG_RCU_CPU_STALL_DETECTOR is not set 193# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1453# CONFIG_BACKTRACE_SELF_TEST is not set
1454# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1455# CONFIG_FAULT_INJECTION is not set
1456# CONFIG_SYSCTL_SYSCALL_CHECK is not set
1457
1458#
1459# Tracers
1460#
1461# CONFIG_SCHED_TRACER is not set
1462# CONFIG_CONTEXT_SWITCH_TRACER is not set
1463# CONFIG_BOOT_TRACER is not set
1464# CONFIG_TRACE_BRANCH_PROFILING is not set
1465# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1466# CONFIG_SAMPLES is not set
1467CONFIG_IA64_GRANULE_16MB=y 194CONFIG_IA64_GRANULE_16MB=y
1468# CONFIG_IA64_GRANULE_64MB is not set
1469# CONFIG_IA64_PRINT_HAZARDS is not set
1470# CONFIG_DISABLE_VHPT is not set
1471# CONFIG_IA64_DEBUG_CMPXCHG is not set
1472# CONFIG_IA64_DEBUG_IRQ is not set
1473
1474#
1475# Security options
1476#
1477# CONFIG_KEYS is not set
1478# CONFIG_SECURITY is not set
1479# CONFIG_SECURITYFS is not set
1480# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1481CONFIG_CRYPTO=y
1482
1483#
1484# Crypto core or helper
1485#
1486# CONFIG_CRYPTO_FIPS is not set
1487CONFIG_CRYPTO_ALGAPI=y
1488CONFIG_CRYPTO_ALGAPI2=y
1489CONFIG_CRYPTO_AEAD2=y
1490CONFIG_CRYPTO_BLKCIPHER=m
1491CONFIG_CRYPTO_BLKCIPHER2=y
1492CONFIG_CRYPTO_HASH=y
1493CONFIG_CRYPTO_HASH2=y
1494CONFIG_CRYPTO_RNG2=y
1495CONFIG_CRYPTO_MANAGER=m
1496CONFIG_CRYPTO_MANAGER2=y
1497# CONFIG_CRYPTO_GF128MUL is not set
1498# CONFIG_CRYPTO_NULL is not set
1499# CONFIG_CRYPTO_CRYPTD is not set
1500# CONFIG_CRYPTO_AUTHENC is not set
1501# CONFIG_CRYPTO_TEST is not set
1502
1503#
1504# Authenticated Encryption with Associated Data
1505#
1506# CONFIG_CRYPTO_CCM is not set
1507# CONFIG_CRYPTO_GCM is not set
1508# CONFIG_CRYPTO_SEQIV is not set
1509
1510#
1511# Block modes
1512#
1513CONFIG_CRYPTO_CBC=m
1514# CONFIG_CRYPTO_CTR is not set
1515# CONFIG_CRYPTO_CTS is not set
1516CONFIG_CRYPTO_ECB=m 195CONFIG_CRYPTO_ECB=m
1517# CONFIG_CRYPTO_LRW is not set
1518CONFIG_CRYPTO_PCBC=m 196CONFIG_CRYPTO_PCBC=m
1519# CONFIG_CRYPTO_XTS is not set
1520
1521#
1522# Hash modes
1523#
1524# CONFIG_CRYPTO_HMAC is not set
1525# CONFIG_CRYPTO_XCBC is not set
1526
1527#
1528# Digest
1529#
1530# CONFIG_CRYPTO_CRC32C is not set
1531# CONFIG_CRYPTO_MD4 is not set
1532CONFIG_CRYPTO_MD5=y 197CONFIG_CRYPTO_MD5=y
1533# CONFIG_CRYPTO_MICHAEL_MIC is not set
1534# CONFIG_CRYPTO_RMD128 is not set
1535# CONFIG_CRYPTO_RMD160 is not set
1536# CONFIG_CRYPTO_RMD256 is not set
1537# CONFIG_CRYPTO_RMD320 is not set
1538# CONFIG_CRYPTO_SHA1 is not set
1539# CONFIG_CRYPTO_SHA256 is not set
1540# CONFIG_CRYPTO_SHA512 is not set
1541# CONFIG_CRYPTO_TGR192 is not set
1542# CONFIG_CRYPTO_WP512 is not set
1543
1544#
1545# Ciphers
1546#
1547# CONFIG_CRYPTO_AES is not set
1548# CONFIG_CRYPTO_ANUBIS is not set
1549# CONFIG_CRYPTO_ARC4 is not set
1550# CONFIG_CRYPTO_BLOWFISH is not set
1551# CONFIG_CRYPTO_CAMELLIA is not set
1552# CONFIG_CRYPTO_CAST5 is not set
1553# CONFIG_CRYPTO_CAST6 is not set
1554CONFIG_CRYPTO_DES=m
1555# CONFIG_CRYPTO_FCRYPT is not set
1556# CONFIG_CRYPTO_KHAZAD is not set
1557# CONFIG_CRYPTO_SALSA20 is not set
1558# CONFIG_CRYPTO_SEED is not set
1559# CONFIG_CRYPTO_SERPENT is not set
1560# CONFIG_CRYPTO_TEA is not set
1561# CONFIG_CRYPTO_TWOFISH is not set
1562
1563#
1564# Compression
1565#
1566# CONFIG_CRYPTO_DEFLATE is not set
1567# CONFIG_CRYPTO_LZO is not set
1568
1569#
1570# Random Number Generation
1571#
1572# CONFIG_CRYPTO_ANSI_CPRNG is not set 198# CONFIG_CRYPTO_ANSI_CPRNG is not set
1573CONFIG_CRYPTO_HW=y
1574# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1575CONFIG_HAVE_KVM=y
1576CONFIG_VIRTUALIZATION=y
1577# CONFIG_KVM is not set
1578# CONFIG_VIRTIO_PCI is not set
1579# CONFIG_VIRTIO_BALLOON is not set
1580
1581#
1582# Library routines
1583#
1584CONFIG_BITREVERSE=y
1585CONFIG_GENERIC_FIND_LAST_BIT=y
1586# CONFIG_CRC_CCITT is not set
1587# CONFIG_CRC16 is not set
1588# CONFIG_CRC_T10DIF is not set
1589CONFIG_CRC_ITU_T=m
1590CONFIG_CRC32=y
1591# CONFIG_CRC7 is not set
1592# CONFIG_LIBCRC32C is not set
1593CONFIG_PLIST=y
1594CONFIG_HAS_IOMEM=y
1595CONFIG_HAS_IOPORT=y
1596CONFIG_HAS_DMA=y
1597CONFIG_GENERIC_HARDIRQS=y
1598CONFIG_GENERIC_IRQ_PROBE=y
1599CONFIG_GENERIC_PENDING_IRQ=y
1600CONFIG_IRQ_PER_CPU=y
1601# CONFIG_IOMMU_API is not set
diff --git a/arch/ia64/configs/zx1_defconfig b/arch/ia64/configs/zx1_defconfig
index 514f0635dafe..1d42827f9fa4 100644
--- a/arch/ia64/configs/zx1_defconfig
+++ b/arch/ia64/configs/zx1_defconfig
@@ -1,1462 +1,121 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.21-rc3
4# Thu Mar 8 11:04:20 2007
5#
6CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
7
8#
9# Code maturity level options
10#
11CONFIG_EXPERIMENTAL=y 1CONFIG_EXPERIMENTAL=y
12CONFIG_LOCK_KERNEL=y
13CONFIG_INIT_ENV_ARG_LIMIT=32
14
15#
16# General setup
17#
18CONFIG_LOCALVERSION=""
19CONFIG_LOCALVERSION_AUTO=y
20CONFIG_SWAP=y
21CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
22# CONFIG_IPC_NS is not set
23CONFIG_SYSVIPC_SYSCTL=y
24# CONFIG_POSIX_MQUEUE is not set
25CONFIG_BSD_PROCESS_ACCT=y 3CONFIG_BSD_PROCESS_ACCT=y
26# CONFIG_BSD_PROCESS_ACCT_V3 is not set
27# CONFIG_TASKSTATS is not set
28# CONFIG_UTS_NS is not set
29# CONFIG_AUDIT is not set
30# CONFIG_IKCONFIG is not set
31# CONFIG_CPUSETS is not set
32CONFIG_SYSFS_DEPRECATED=y
33# CONFIG_RELAY is not set
34CONFIG_BLK_DEV_INITRD=y 4CONFIG_BLK_DEV_INITRD=y
35CONFIG_INITRAMFS_SOURCE="" 5CONFIG_KPROBES=y
36CONFIG_CC_OPTIMIZE_FOR_SIZE=y
37CONFIG_SYSCTL=y
38# CONFIG_EMBEDDED is not set
39CONFIG_SYSCTL_SYSCALL=y
40CONFIG_KALLSYMS=y
41# CONFIG_KALLSYMS_ALL is not set
42# CONFIG_KALLSYMS_EXTRA_PASS is not set
43CONFIG_HOTPLUG=y
44CONFIG_PRINTK=y
45CONFIG_BUG=y
46CONFIG_ELF_CORE=y
47CONFIG_BASE_FULL=y
48CONFIG_FUTEX=y
49CONFIG_EPOLL=y
50CONFIG_SHMEM=y
51CONFIG_SLUB=y
52CONFIG_VM_EVENT_COUNTERS=y
53CONFIG_RT_MUTEXES=y
54# CONFIG_TINY_SHMEM is not set
55CONFIG_BASE_SMALL=0
56# CONFIG_SLOB is not set
57
58#
59# Loadable module support
60#
61CONFIG_MODULES=y 6CONFIG_MODULES=y
62# CONFIG_MODULE_UNLOAD is not set
63# CONFIG_MODVERSIONS is not set
64# CONFIG_MODULE_SRCVERSION_ALL is not set
65# CONFIG_KMOD is not set
66CONFIG_STOP_MACHINE=y
67
68#
69# Block layer
70#
71CONFIG_BLOCK=y
72# CONFIG_BLK_DEV_IO_TRACE is not set
73
74#
75# IO Schedulers
76#
77CONFIG_IOSCHED_NOOP=y
78CONFIG_IOSCHED_AS=y
79CONFIG_IOSCHED_DEADLINE=y
80CONFIG_IOSCHED_CFQ=y
81CONFIG_DEFAULT_AS=y
82# CONFIG_DEFAULT_DEADLINE is not set
83# CONFIG_DEFAULT_CFQ is not set
84# CONFIG_DEFAULT_NOOP is not set
85CONFIG_DEFAULT_IOSCHED="anticipatory"
86
87#
88# Processor type and features
89#
90CONFIG_IA64=y
91CONFIG_64BIT=y
92CONFIG_ZONE_DMA=y
93CONFIG_MMU=y
94CONFIG_RWSEM_XCHGADD_ALGORITHM=y
95# CONFIG_ARCH_HAS_ILOG2_U32 is not set
96# CONFIG_ARCH_HAS_ILOG2_U64 is not set
97CONFIG_GENERIC_FIND_NEXT_BIT=y
98CONFIG_GENERIC_CALIBRATE_DELAY=y
99CONFIG_GENERIC_TIME=y
100CONFIG_DMI=y
101CONFIG_EFI=y
102CONFIG_GENERIC_IOMAP=y
103CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
104CONFIG_AUDIT_ARCH=y
105# CONFIG_IA64_GENERIC is not set
106# CONFIG_IA64_DIG is not set
107CONFIG_IA64_HP_ZX1=y 7CONFIG_IA64_HP_ZX1=y
108# CONFIG_IA64_HP_ZX1_SWIOTLB is not set
109# CONFIG_IA64_SGI_SN2 is not set
110# CONFIG_IA64_HP_SIM is not set
111# CONFIG_ITANIUM is not set
112CONFIG_MCKINLEY=y 8CONFIG_MCKINLEY=y
113# CONFIG_IA64_PAGE_SIZE_4KB is not set
114# CONFIG_IA64_PAGE_SIZE_8KB is not set
115CONFIG_IA64_PAGE_SIZE_16KB=y
116# CONFIG_IA64_PAGE_SIZE_64KB is not set
117CONFIG_PGTABLE_3=y
118# CONFIG_PGTABLE_4 is not set
119# CONFIG_HZ_100 is not set
120CONFIG_HZ_250=y
121# CONFIG_HZ_300 is not set
122# CONFIG_HZ_1000 is not set
123CONFIG_HZ=250
124CONFIG_IA64_L1_CACHE_SHIFT=7
125# CONFIG_IA64_CYCLONE is not set
126CONFIG_IOSAPIC=y
127CONFIG_FORCE_MAX_ZONEORDER=17
128CONFIG_SMP=y 9CONFIG_SMP=y
129CONFIG_NR_CPUS=16 10CONFIG_NR_CPUS=16
130CONFIG_HOTPLUG_CPU=y 11CONFIG_HOTPLUG_CPU=y
131CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
132# CONFIG_SCHED_SMT is not set
133# CONFIG_PERMIT_BSP_REMOVE is not set
134# CONFIG_PREEMPT is not set
135CONFIG_SELECT_MEMORY_MODEL=y
136CONFIG_FLATMEM_MANUAL=y 12CONFIG_FLATMEM_MANUAL=y
137# CONFIG_DISCONTIGMEM_MANUAL is not set
138# CONFIG_SPARSEMEM_MANUAL is not set
139CONFIG_FLATMEM=y
140CONFIG_FLAT_NODE_MEM_MAP=y
141# CONFIG_SPARSEMEM_STATIC is not set
142CONFIG_SPLIT_PTLOCK_CPUS=4
143CONFIG_RESOURCES_64BIT=y
144CONFIG_ZONE_DMA_FLAG=1
145CONFIG_ARCH_SELECT_MEMORY_MODEL=y
146CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
147CONFIG_ARCH_FLATMEM_ENABLE=y
148CONFIG_ARCH_SPARSEMEM_ENABLE=y
149CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
150CONFIG_ARCH_POPULATES_NODE_MAP=y
151CONFIG_VIRTUAL_MEM_MAP=y
152CONFIG_HOLES_IN_ZONE=y
153CONFIG_IA32_SUPPORT=y
154CONFIG_COMPAT=y
155CONFIG_IA64_MCA_RECOVERY=y 13CONFIG_IA64_MCA_RECOVERY=y
156CONFIG_PERFMON=y 14CONFIG_PERFMON=y
157CONFIG_IA64_PALINFO=y 15CONFIG_IA64_PALINFO=y
158# CONFIG_IA64_ESI is not set
159# CONFIG_KEXEC is not set
160CONFIG_CRASH_DUMP=y 16CONFIG_CRASH_DUMP=y
161
162#
163# Firmware Drivers
164#
165CONFIG_EFI_VARS=y 17CONFIG_EFI_VARS=y
166CONFIG_EFI_PCDP=y
167CONFIG_BINFMT_ELF=y
168CONFIG_BINFMT_MISC=y 18CONFIG_BINFMT_MISC=y
169
170#
171# Power management and ACPI
172#
173CONFIG_PM=y
174CONFIG_PM_LEGACY=y
175# CONFIG_PM_DEBUG is not set
176# CONFIG_PM_SYSFS_DEPRECATED is not set
177
178#
179# ACPI (Advanced Configuration and Power Interface) Support
180#
181CONFIG_ACPI=y
182CONFIG_ACPI_PROCFS=y 19CONFIG_ACPI_PROCFS=y
183CONFIG_ACPI_BUTTON=y
184CONFIG_ACPI_FAN=y
185# CONFIG_ACPI_DOCK is not set
186CONFIG_ACPI_PROCESSOR=y
187CONFIG_ACPI_HOTPLUG_CPU=y
188CONFIG_ACPI_THERMAL=y
189CONFIG_ACPI_BLACKLIST_YEAR=0
190# CONFIG_ACPI_DEBUG is not set
191CONFIG_ACPI_EC=y
192CONFIG_ACPI_POWER=y
193CONFIG_ACPI_SYSTEM=y
194CONFIG_ACPI_CONTAINER=y
195
196#
197# CPU Frequency scaling
198#
199# CONFIG_CPU_FREQ is not set
200
201#
202# Bus options (PCI, PCMCIA)
203#
204CONFIG_PCI=y
205CONFIG_PCI_DOMAINS=y
206# CONFIG_PCIEPORTBUS is not set
207# CONFIG_PCI_MSI is not set
208# CONFIG_PCI_DEBUG is not set
209
210#
211# PCI Hotplug Support
212#
213CONFIG_HOTPLUG_PCI=y 20CONFIG_HOTPLUG_PCI=y
214# CONFIG_HOTPLUG_PCI_FAKE is not set
215CONFIG_HOTPLUG_PCI_ACPI=y 21CONFIG_HOTPLUG_PCI_ACPI=y
216# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set
217# CONFIG_HOTPLUG_PCI_CPCI is not set
218# CONFIG_HOTPLUG_PCI_SHPC is not set
219
220#
221# PCCARD (PCMCIA/CardBus) support
222#
223# CONFIG_PCCARD is not set
224
225#
226# Networking
227#
228CONFIG_NET=y
229
230#
231# Networking options
232#
233# CONFIG_NETDEBUG is not set
234CONFIG_PACKET=y 22CONFIG_PACKET=y
235# CONFIG_PACKET_MMAP is not set
236CONFIG_UNIX=y 23CONFIG_UNIX=y
237CONFIG_XFRM=y
238# CONFIG_XFRM_USER is not set
239# CONFIG_XFRM_SUB_POLICY is not set
240# CONFIG_XFRM_MIGRATE is not set
241# CONFIG_NET_KEY is not set
242CONFIG_INET=y 24CONFIG_INET=y
243CONFIG_IP_MULTICAST=y 25CONFIG_IP_MULTICAST=y
244# CONFIG_IP_ADVANCED_ROUTER is not set
245CONFIG_IP_FIB_HASH=y
246# CONFIG_IP_PNP is not set
247# CONFIG_NET_IPIP is not set
248# CONFIG_NET_IPGRE is not set
249# CONFIG_IP_MROUTE is not set
250# CONFIG_ARPD is not set
251# CONFIG_SYN_COOKIES is not set
252# CONFIG_INET_AH is not set
253# CONFIG_INET_ESP is not set
254# CONFIG_INET_IPCOMP is not set
255# CONFIG_INET_XFRM_TUNNEL is not set
256# CONFIG_INET_TUNNEL is not set
257CONFIG_INET_XFRM_MODE_TRANSPORT=y
258CONFIG_INET_XFRM_MODE_TUNNEL=y
259CONFIG_INET_XFRM_MODE_BEET=y
260CONFIG_INET_DIAG=y
261CONFIG_INET_TCP_DIAG=y
262# CONFIG_TCP_CONG_ADVANCED is not set
263CONFIG_TCP_CONG_CUBIC=y
264CONFIG_DEFAULT_TCP_CONG="cubic"
265# CONFIG_TCP_MD5SIG is not set
266
267#
268# IP: Virtual Server Configuration
269#
270# CONFIG_IP_VS is not set
271# CONFIG_IPV6 is not set 26# CONFIG_IPV6 is not set
272# CONFIG_INET6_XFRM_TUNNEL is not set
273# CONFIG_INET6_TUNNEL is not set
274# CONFIG_NETWORK_SECMARK is not set
275CONFIG_NETFILTER=y 27CONFIG_NETFILTER=y
276# CONFIG_NETFILTER_DEBUG is not set
277
278#
279# Core Netfilter Configuration
280#
281# CONFIG_NETFILTER_NETLINK is not set
282# CONFIG_NF_CONNTRACK_ENABLED is not set
283# CONFIG_NETFILTER_XTABLES is not set
284
285#
286# IP: Netfilter Configuration
287#
288# CONFIG_IP_NF_QUEUE is not set
289# CONFIG_IP_NF_IPTABLES is not set
290# CONFIG_IP_NF_ARPTABLES is not set
291
292#
293# DCCP Configuration (EXPERIMENTAL)
294#
295# CONFIG_IP_DCCP is not set
296
297#
298# SCTP Configuration (EXPERIMENTAL)
299#
300# CONFIG_IP_SCTP is not set
301
302#
303# TIPC Configuration (EXPERIMENTAL)
304#
305# CONFIG_TIPC is not set
306# CONFIG_ATM is not set
307# CONFIG_BRIDGE is not set
308# CONFIG_VLAN_8021Q is not set
309# CONFIG_DECNET is not set
310# CONFIG_LLC2 is not set
311# CONFIG_IPX is not set
312# CONFIG_ATALK is not set
313# CONFIG_X25 is not set
314# CONFIG_LAPB is not set
315# CONFIG_ECONET is not set
316# CONFIG_WAN_ROUTER is not set
317
318#
319# QoS and/or fair queueing
320#
321# CONFIG_NET_SCHED is not set
322
323#
324# Network testing
325#
326# CONFIG_NET_PKTGEN is not set
327# CONFIG_NET_TCPPROBE is not set
328# CONFIG_HAMRADIO is not set
329# CONFIG_IRDA is not set
330# CONFIG_BT is not set
331# CONFIG_IEEE80211 is not set
332
333#
334# Device Drivers
335#
336
337#
338# Generic Driver Options
339#
340CONFIG_STANDALONE=y
341CONFIG_PREVENT_FIRMWARE_BUILD=y
342# CONFIG_FW_LOADER is not set
343# CONFIG_DEBUG_DRIVER is not set
344# CONFIG_DEBUG_DEVRES is not set
345# CONFIG_SYS_HYPERVISOR is not set
346
347#
348# Connector - unified userspace <-> kernelspace linker
349#
350# CONFIG_CONNECTOR is not set
351
352#
353# Memory Technology Devices (MTD)
354#
355# CONFIG_MTD is not set
356
357#
358# Parallel port support
359#
360# CONFIG_PARPORT is not set
361
362#
363# Plug and Play support
364#
365CONFIG_PNP=y
366# CONFIG_PNP_DEBUG is not set
367
368#
369# Protocols
370#
371CONFIG_PNPACPI=y
372
373#
374# Block devices
375#
376# CONFIG_BLK_CPQ_DA is not set
377# CONFIG_BLK_CPQ_CISS_DA is not set
378# CONFIG_BLK_DEV_DAC960 is not set
379# CONFIG_BLK_DEV_UMEM is not set
380# CONFIG_BLK_DEV_COW_COMMON is not set
381CONFIG_BLK_DEV_LOOP=y 28CONFIG_BLK_DEV_LOOP=y
382# CONFIG_BLK_DEV_CRYPTOLOOP is not set
383# CONFIG_BLK_DEV_NBD is not set
384# CONFIG_BLK_DEV_SX8 is not set
385# CONFIG_BLK_DEV_UB is not set
386CONFIG_BLK_DEV_RAM=y 29CONFIG_BLK_DEV_RAM=y
387CONFIG_BLK_DEV_RAM_COUNT=16
388CONFIG_BLK_DEV_RAM_SIZE=4096
389CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
390# CONFIG_CDROM_PKTCDVD is not set
391# CONFIG_ATA_OVER_ETH is not set
392
393#
394# Misc devices
395#
396# CONFIG_SGI_IOC4 is not set
397# CONFIG_TIFM_CORE is not set
398
399#
400# ATA/ATAPI/MFM/RLL support
401#
402CONFIG_IDE=y 30CONFIG_IDE=y
403CONFIG_IDE_MAX_HWIFS=4
404CONFIG_BLK_DEV_IDE=y
405
406#
407# Please see Documentation/ide.txt for help/info on IDE drives
408#
409# CONFIG_BLK_DEV_IDE_SATA is not set
410CONFIG_BLK_DEV_IDEDISK=y
411# CONFIG_IDEDISK_MULTI_MODE is not set
412CONFIG_BLK_DEV_IDECD=y 31CONFIG_BLK_DEV_IDECD=y
413# CONFIG_BLK_DEV_IDETAPE is not set
414# CONFIG_BLK_DEV_IDEFLOPPY is not set
415# CONFIG_BLK_DEV_IDESCSI is not set
416# CONFIG_BLK_DEV_IDEACPI is not set
417# CONFIG_IDE_TASK_IOCTL is not set
418
419#
420# IDE chipset support/bugfixes
421#
422# CONFIG_IDE_GENERIC is not set
423# CONFIG_BLK_DEV_IDEPNP is not set
424CONFIG_BLK_DEV_IDEPCI=y
425CONFIG_IDEPCI_SHARE_IRQ=y
426# CONFIG_BLK_DEV_OFFBOARD is not set
427CONFIG_BLK_DEV_GENERIC=y 32CONFIG_BLK_DEV_GENERIC=y
428# CONFIG_BLK_DEV_OPTI621 is not set
429CONFIG_BLK_DEV_IDEDMA_PCI=y
430# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
431# CONFIG_IDEDMA_PCI_AUTO is not set
432# CONFIG_BLK_DEV_AEC62XX is not set
433# CONFIG_BLK_DEV_ALI15X3 is not set
434# CONFIG_BLK_DEV_AMD74XX is not set
435CONFIG_BLK_DEV_CMD64X=y 33CONFIG_BLK_DEV_CMD64X=y
436# CONFIG_BLK_DEV_TRIFLEX is not set
437# CONFIG_BLK_DEV_CY82C693 is not set
438# CONFIG_BLK_DEV_CS5520 is not set
439# CONFIG_BLK_DEV_CS5530 is not set
440# CONFIG_BLK_DEV_HPT34X is not set
441# CONFIG_BLK_DEV_HPT366 is not set
442# CONFIG_BLK_DEV_JMICRON is not set
443# CONFIG_BLK_DEV_SC1200 is not set
444# CONFIG_BLK_DEV_PIIX is not set
445# CONFIG_BLK_DEV_IT8213 is not set
446# CONFIG_BLK_DEV_IT821X is not set
447# CONFIG_BLK_DEV_NS87415 is not set
448# CONFIG_BLK_DEV_PDC202XX_OLD is not set
449# CONFIG_BLK_DEV_PDC202XX_NEW is not set
450# CONFIG_BLK_DEV_SVWKS is not set
451# CONFIG_BLK_DEV_SIIMAGE is not set
452# CONFIG_BLK_DEV_SLC90E66 is not set
453# CONFIG_BLK_DEV_TRM290 is not set
454# CONFIG_BLK_DEV_VIA82CXXX is not set
455# CONFIG_BLK_DEV_TC86C001 is not set
456# CONFIG_IDE_ARM is not set
457CONFIG_BLK_DEV_IDEDMA=y
458# CONFIG_IDEDMA_IVB is not set
459# CONFIG_IDEDMA_AUTO is not set
460# CONFIG_BLK_DEV_HD is not set
461
462#
463# SCSI device support
464#
465# CONFIG_RAID_ATTRS is not set
466CONFIG_SCSI=y 34CONFIG_SCSI=y
467# CONFIG_SCSI_TGT is not set
468CONFIG_SCSI_NETLINK=y
469CONFIG_SCSI_PROC_FS=y
470
471#
472# SCSI support type (disk, tape, CD-ROM)
473#
474CONFIG_BLK_DEV_SD=y 35CONFIG_BLK_DEV_SD=y
475CONFIG_CHR_DEV_ST=y 36CONFIG_CHR_DEV_ST=y
476CONFIG_CHR_DEV_OSST=y 37CONFIG_CHR_DEV_OSST=y
477CONFIG_BLK_DEV_SR=y 38CONFIG_BLK_DEV_SR=y
478CONFIG_BLK_DEV_SR_VENDOR=y 39CONFIG_BLK_DEV_SR_VENDOR=y
479CONFIG_CHR_DEV_SG=y 40CONFIG_CHR_DEV_SG=y
480# CONFIG_CHR_DEV_SCH is not set
481
482#
483# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
484#
485CONFIG_SCSI_MULTI_LUN=y 41CONFIG_SCSI_MULTI_LUN=y
486CONFIG_SCSI_CONSTANTS=y 42CONFIG_SCSI_CONSTANTS=y
487CONFIG_SCSI_LOGGING=y 43CONFIG_SCSI_LOGGING=y
488# CONFIG_SCSI_SCAN_ASYNC is not set
489
490#
491# SCSI Transports
492#
493CONFIG_SCSI_SPI_ATTRS=y
494CONFIG_SCSI_FC_ATTRS=y
495# CONFIG_SCSI_ISCSI_ATTRS is not set
496# CONFIG_SCSI_SAS_ATTRS is not set
497# CONFIG_SCSI_SAS_LIBSAS is not set
498
499#
500# SCSI low-level drivers
501#
502# CONFIG_ISCSI_TCP is not set
503# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
504# CONFIG_SCSI_3W_9XXX is not set
505# CONFIG_SCSI_ACARD is not set
506# CONFIG_SCSI_AACRAID is not set
507# CONFIG_SCSI_AIC7XXX is not set
508# CONFIG_SCSI_AIC7XXX_OLD is not set
509# CONFIG_SCSI_AIC79XX is not set
510# CONFIG_SCSI_AIC94XX is not set
511# CONFIG_SCSI_ARCMSR is not set
512# CONFIG_MEGARAID_NEWGEN is not set
513# CONFIG_MEGARAID_LEGACY is not set
514# CONFIG_MEGARAID_SAS is not set
515# CONFIG_SCSI_HPTIOP is not set
516# CONFIG_SCSI_DMX3191D is not set
517# CONFIG_SCSI_FUTURE_DOMAIN is not set
518# CONFIG_SCSI_IPS is not set
519# CONFIG_SCSI_INITIO is not set
520# CONFIG_SCSI_INIA100 is not set
521# CONFIG_SCSI_STEX is not set
522CONFIG_SCSI_SYM53C8XX_2=y 44CONFIG_SCSI_SYM53C8XX_2=y
523CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
524CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
525CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
526CONFIG_SCSI_SYM53C8XX_MMIO=y
527CONFIG_SCSI_QLOGIC_1280=y 45CONFIG_SCSI_QLOGIC_1280=y
528# CONFIG_SCSI_QLA_FC is not set
529# CONFIG_SCSI_QLA_ISCSI is not set
530# CONFIG_SCSI_LPFC is not set
531# CONFIG_SCSI_DC395x is not set
532# CONFIG_SCSI_DC390T is not set
533# CONFIG_SCSI_DEBUG is not set
534# CONFIG_SCSI_SRP is not set
535
536#
537# Serial ATA (prod) and Parallel ATA (experimental) drivers
538#
539# CONFIG_ATA is not set
540
541#
542# Multi-device support (RAID and LVM)
543#
544# CONFIG_MD is not set
545
546#
547# Fusion MPT device support
548#
549CONFIG_FUSION=y 46CONFIG_FUSION=y
550CONFIG_FUSION_SPI=y 47CONFIG_FUSION_SPI=y
551CONFIG_FUSION_FC=y 48CONFIG_FUSION_FC=y
552# CONFIG_FUSION_SAS is not set
553CONFIG_FUSION_MAX_SGE=128
554CONFIG_FUSION_CTL=m 49CONFIG_FUSION_CTL=m
555
556#
557# IEEE 1394 (FireWire) support
558#
559# CONFIG_IEEE1394 is not set
560
561#
562# I2O device support
563#
564# CONFIG_I2O is not set
565
566#
567# Network device support
568#
569CONFIG_NETDEVICES=y 50CONFIG_NETDEVICES=y
570CONFIG_DUMMY=y 51CONFIG_DUMMY=y
571# CONFIG_BONDING is not set
572# CONFIG_EQUALIZER is not set
573# CONFIG_TUN is not set
574# CONFIG_NET_SB1000 is not set
575
576#
577# ARCnet devices
578#
579# CONFIG_ARCNET is not set
580
581#
582# PHY device support
583#
584# CONFIG_PHYLIB is not set
585
586#
587# Ethernet (10 or 100Mbit)
588#
589CONFIG_NET_ETHERNET=y 52CONFIG_NET_ETHERNET=y
590CONFIG_MII=y
591# CONFIG_HAPPYMEAL is not set
592# CONFIG_SUNGEM is not set
593# CONFIG_CASSINI is not set
594# CONFIG_NET_VENDOR_3COM is not set
595
596#
597# Tulip family network device support
598#
599CONFIG_NET_TULIP=y 53CONFIG_NET_TULIP=y
600# CONFIG_DE2104X is not set
601CONFIG_TULIP=y 54CONFIG_TULIP=y
602CONFIG_TULIP_MWI=y 55CONFIG_TULIP_MWI=y
603CONFIG_TULIP_MMIO=y 56CONFIG_TULIP_MMIO=y
604CONFIG_TULIP_NAPI=y 57CONFIG_TULIP_NAPI=y
605CONFIG_TULIP_NAPI_HW_MITIGATION=y 58CONFIG_TULIP_NAPI_HW_MITIGATION=y
606# CONFIG_DE4X5 is not set
607# CONFIG_WINBOND_840 is not set
608# CONFIG_DM9102 is not set
609# CONFIG_ULI526X is not set
610# CONFIG_HP100 is not set
611CONFIG_NET_PCI=y 59CONFIG_NET_PCI=y
612# CONFIG_PCNET32 is not set
613# CONFIG_AMD8111_ETH is not set
614# CONFIG_ADAPTEC_STARFIRE is not set
615# CONFIG_B44 is not set
616# CONFIG_FORCEDETH is not set
617# CONFIG_DGRS is not set
618# CONFIG_EEPRO100 is not set
619CONFIG_E100=y 60CONFIG_E100=y
620# CONFIG_FEALNX is not set
621# CONFIG_NATSEMI is not set
622# CONFIG_NE2K_PCI is not set
623# CONFIG_8139CP is not set
624# CONFIG_8139TOO is not set
625# CONFIG_SIS900 is not set
626# CONFIG_EPIC100 is not set
627# CONFIG_SUNDANCE is not set
628# CONFIG_VIA_RHINE is not set
629# CONFIG_SC92031 is not set
630
631#
632# Ethernet (1000 Mbit)
633#
634# CONFIG_ACENIC is not set
635# CONFIG_DL2K is not set
636CONFIG_E1000=y 61CONFIG_E1000=y
637# CONFIG_E1000_NAPI is not set
638# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
639# CONFIG_NS83820 is not set
640# CONFIG_HAMACHI is not set
641# CONFIG_YELLOWFIN is not set
642# CONFIG_R8169 is not set
643# CONFIG_SIS190 is not set
644# CONFIG_SKGE is not set
645# CONFIG_SKY2 is not set
646# CONFIG_SK98LIN is not set
647# CONFIG_VIA_VELOCITY is not set
648CONFIG_TIGON3=y 62CONFIG_TIGON3=y
649# CONFIG_BNX2 is not set
650# CONFIG_QLA3XXX is not set
651# CONFIG_ATL1 is not set
652
653#
654# Ethernet (10000 Mbit)
655#
656# CONFIG_CHELSIO_T1 is not set
657# CONFIG_CHELSIO_T3 is not set
658# CONFIG_IXGB is not set
659# CONFIG_S2IO is not set
660# CONFIG_MYRI10GE is not set
661# CONFIG_NETXEN_NIC is not set
662
663#
664# Token Ring devices
665#
666# CONFIG_TR is not set
667
668#
669# Wireless LAN (non-hamradio)
670#
671# CONFIG_NET_RADIO is not set
672
673#
674# Wan interfaces
675#
676# CONFIG_WAN is not set
677# CONFIG_FDDI is not set
678# CONFIG_HIPPI is not set
679# CONFIG_PPP is not set
680# CONFIG_SLIP is not set
681# CONFIG_NET_FC is not set
682# CONFIG_SHAPER is not set
683# CONFIG_NETCONSOLE is not set
684# CONFIG_NETPOLL is not set
685# CONFIG_NET_POLL_CONTROLLER is not set
686
687#
688# ISDN subsystem
689#
690# CONFIG_ISDN is not set
691
692#
693# Telephony Support
694#
695# CONFIG_PHONE is not set
696
697#
698# Input device support
699#
700CONFIG_INPUT=y
701# CONFIG_INPUT_FF_MEMLESS is not set
702
703#
704# Userland interfaces
705#
706CONFIG_INPUT_MOUSEDEV=y
707CONFIG_INPUT_MOUSEDEV_PSAUX=y
708CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
709CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
710CONFIG_INPUT_JOYDEV=y 63CONFIG_INPUT_JOYDEV=y
711# CONFIG_INPUT_TSDEV is not set
712CONFIG_INPUT_EVDEV=y 64CONFIG_INPUT_EVDEV=y
713# CONFIG_INPUT_EVBUG is not set
714
715#
716# Input Device Drivers
717#
718# CONFIG_INPUT_KEYBOARD is not set 65# CONFIG_INPUT_KEYBOARD is not set
719# CONFIG_INPUT_MOUSE is not set 66# CONFIG_INPUT_MOUSE is not set
720# CONFIG_INPUT_JOYSTICK is not set
721# CONFIG_INPUT_TOUCHSCREEN is not set
722# CONFIG_INPUT_MISC is not set
723
724#
725# Hardware I/O ports
726#
727CONFIG_SERIO=y
728# CONFIG_SERIO_I8042 is not set 67# CONFIG_SERIO_I8042 is not set
729# CONFIG_SERIO_SERPORT is not set 68# CONFIG_SERIO_SERPORT is not set
730# CONFIG_SERIO_PCIPS2 is not set
731# CONFIG_SERIO_RAW is not set
732# CONFIG_GAMEPORT is not set
733
734#
735# Character devices
736#
737CONFIG_VT=y
738CONFIG_VT_CONSOLE=y
739CONFIG_HW_CONSOLE=y
740# CONFIG_VT_HW_CONSOLE_BINDING is not set
741# CONFIG_SERIAL_NONSTANDARD is not set
742
743#
744# Serial drivers
745#
746CONFIG_SERIAL_8250=y 69CONFIG_SERIAL_8250=y
747CONFIG_SERIAL_8250_CONSOLE=y 70CONFIG_SERIAL_8250_CONSOLE=y
748CONFIG_SERIAL_8250_PCI=y
749CONFIG_SERIAL_8250_PNP=y
750CONFIG_SERIAL_8250_NR_UARTS=8 71CONFIG_SERIAL_8250_NR_UARTS=8
751CONFIG_SERIAL_8250_RUNTIME_UARTS=4
752CONFIG_SERIAL_8250_EXTENDED=y 72CONFIG_SERIAL_8250_EXTENDED=y
753CONFIG_SERIAL_8250_SHARE_IRQ=y 73CONFIG_SERIAL_8250_SHARE_IRQ=y
754# CONFIG_SERIAL_8250_DETECT_IRQ is not set
755# CONFIG_SERIAL_8250_RSA is not set
756
757#
758# Non-8250 serial port support
759#
760CONFIG_SERIAL_CORE=y
761CONFIG_SERIAL_CORE_CONSOLE=y
762# CONFIG_SERIAL_JSM is not set
763CONFIG_UNIX98_PTYS=y
764CONFIG_LEGACY_PTYS=y
765CONFIG_LEGACY_PTY_COUNT=256
766
767#
768# IPMI
769#
770# CONFIG_IPMI_HANDLER is not set
771
772#
773# Watchdog Cards
774#
775# CONFIG_WATCHDOG is not set
776# CONFIG_HW_RANDOM is not set 74# CONFIG_HW_RANDOM is not set
777CONFIG_EFI_RTC=y 75CONFIG_EFI_RTC=y
778# CONFIG_DTLK is not set 76CONFIG_I2C_CHARDEV=y
779# CONFIG_R3964 is not set
780# CONFIG_APPLICOM is not set
781CONFIG_AGP=y 77CONFIG_AGP=y
782CONFIG_AGP_HP_ZX1=y 78CONFIG_AGP_HP_ZX1=y
783CONFIG_DRM=y 79CONFIG_DRM=y
784# CONFIG_DRM_TDFX is not set
785# CONFIG_DRM_R128 is not set
786CONFIG_DRM_RADEON=y 80CONFIG_DRM_RADEON=y
787# CONFIG_DRM_MGA is not set
788# CONFIG_DRM_SIS is not set
789# CONFIG_DRM_VIA is not set
790# CONFIG_DRM_SAVAGE is not set
791# CONFIG_RAW_DRIVER is not set
792# CONFIG_HPET is not set
793# CONFIG_HANGCHECK_TIMER is not set
794
795#
796# TPM devices
797#
798# CONFIG_TCG_TPM is not set
799
800#
801# I2C support
802#
803CONFIG_I2C=y
804CONFIG_I2C_CHARDEV=y
805
806#
807# I2C Algorithms
808#
809CONFIG_I2C_ALGOBIT=y
810CONFIG_I2C_ALGOPCF=y
811# CONFIG_I2C_ALGOPCA is not set
812
813#
814# I2C Hardware Bus support
815#
816# CONFIG_I2C_ALI1535 is not set
817# CONFIG_I2C_ALI1563 is not set
818# CONFIG_I2C_ALI15X3 is not set
819# CONFIG_I2C_AMD756 is not set
820# CONFIG_I2C_AMD8111 is not set
821# CONFIG_I2C_I801 is not set
822# CONFIG_I2C_I810 is not set
823# CONFIG_I2C_PIIX4 is not set
824# CONFIG_I2C_NFORCE2 is not set
825# CONFIG_I2C_OCORES is not set
826# CONFIG_I2C_PARPORT_LIGHT is not set
827# CONFIG_I2C_PASEMI is not set
828# CONFIG_I2C_PROSAVAGE is not set
829# CONFIG_I2C_SAVAGE4 is not set
830# CONFIG_I2C_SIS5595 is not set
831# CONFIG_I2C_SIS630 is not set
832# CONFIG_I2C_SIS96X is not set
833# CONFIG_I2C_STUB is not set
834# CONFIG_I2C_VIA is not set
835# CONFIG_I2C_VIAPRO is not set
836# CONFIG_I2C_VOODOO3 is not set
837# CONFIG_I2C_PCA_ISA is not set
838
839#
840# Miscellaneous I2C Chip support
841#
842# CONFIG_SENSORS_DS1337 is not set
843# CONFIG_SENSORS_DS1374 is not set
844# CONFIG_EEPROM_LEGACY is not set
845# CONFIG_SENSORS_PCF8574 is not set
846# CONFIG_SENSORS_PCA9539 is not set
847# CONFIG_SENSORS_PCF8591 is not set
848# CONFIG_SENSORS_MAX6875 is not set
849# CONFIG_I2C_DEBUG_CORE is not set
850# CONFIG_I2C_DEBUG_ALGO is not set
851# CONFIG_I2C_DEBUG_BUS is not set
852# CONFIG_I2C_DEBUG_CHIP is not set
853
854#
855# SPI support
856#
857# CONFIG_SPI is not set
858# CONFIG_SPI_MASTER is not set
859
860#
861# Dallas's 1-wire bus
862#
863# CONFIG_W1 is not set
864
865#
866# Hardware Monitoring support
867#
868# CONFIG_HWMON is not set
869# CONFIG_HWMON_VID is not set
870
871#
872# Multifunction device drivers
873#
874# CONFIG_MFD_SM501 is not set
875
876#
877# Multimedia devices
878#
879CONFIG_VIDEO_DEV=y
880CONFIG_VIDEO_V4L1=y
881CONFIG_VIDEO_V4L1_COMPAT=y
882CONFIG_VIDEO_V4L2=y
883
884#
885# Video Capture Adapters
886#
887
888#
889# Video Capture Adapters
890#
891# CONFIG_VIDEO_ADV_DEBUG is not set
892CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
893# CONFIG_VIDEO_VIVI is not set
894# CONFIG_VIDEO_BT848 is not set
895# CONFIG_VIDEO_CPIA is not set
896# CONFIG_VIDEO_CPIA2 is not set
897# CONFIG_VIDEO_SAA5246A is not set
898# CONFIG_VIDEO_SAA5249 is not set
899# CONFIG_TUNER_3036 is not set
900# CONFIG_VIDEO_STRADIS is not set
901# CONFIG_VIDEO_ZORAN is not set
902# CONFIG_VIDEO_SAA7134 is not set
903# CONFIG_VIDEO_MXB is not set
904# CONFIG_VIDEO_DPC is not set
905# CONFIG_VIDEO_HEXIUM_ORION is not set
906# CONFIG_VIDEO_HEXIUM_GEMINI is not set
907# CONFIG_VIDEO_CX88 is not set
908# CONFIG_VIDEO_CAFE_CCIC is not set
909
910#
911# V4L USB devices
912#
913# CONFIG_VIDEO_PVRUSB2 is not set
914# CONFIG_VIDEO_EM28XX is not set
915# CONFIG_VIDEO_USBVISION is not set
916# CONFIG_USB_VICAM is not set
917# CONFIG_USB_IBMCAM is not set
918# CONFIG_USB_KONICAWC is not set
919# CONFIG_USB_QUICKCAM_MESSENGER is not set
920# CONFIG_USB_ET61X251 is not set
921# CONFIG_VIDEO_OVCAMCHIP is not set
922# CONFIG_USB_W9968CF is not set
923# CONFIG_USB_OV511 is not set
924# CONFIG_USB_SE401 is not set
925# CONFIG_USB_SN9C102 is not set
926# CONFIG_USB_STV680 is not set
927# CONFIG_USB_ZC0301 is not set
928# CONFIG_USB_PWC is not set
929
930#
931# Radio Adapters
932#
933# CONFIG_RADIO_GEMTEK_PCI is not set
934# CONFIG_RADIO_MAXIRADIO is not set
935# CONFIG_RADIO_MAESTRO is not set
936# CONFIG_USB_DSBR is not set
937
938#
939# Digital Video Broadcasting Devices
940#
941# CONFIG_DVB is not set
942# CONFIG_USB_DABUSB is not set
943
944#
945# Graphics support
946#
947CONFIG_BACKLIGHT_LCD_SUPPORT=y
948CONFIG_BACKLIGHT_CLASS_DEVICE=y
949CONFIG_LCD_CLASS_DEVICE=m
950CONFIG_FB=y
951# CONFIG_FIRMWARE_EDID is not set
952CONFIG_FB_DDC=y
953CONFIG_FB_CFB_FILLRECT=y
954CONFIG_FB_CFB_COPYAREA=y
955CONFIG_FB_CFB_IMAGEBLIT=y
956# CONFIG_FB_SVGALIB is not set
957# CONFIG_FB_MACMODES is not set
958CONFIG_FB_BACKLIGHT=y
959CONFIG_FB_MODE_HELPERS=y
960# CONFIG_FB_TILEBLITTING is not set
961
962#
963# Frambuffer hardware drivers
964#
965# CONFIG_FB_CIRRUS is not set
966# CONFIG_FB_PM2 is not set
967# CONFIG_FB_CYBER2000 is not set
968# CONFIG_FB_ASILIANT is not set
969# CONFIG_FB_IMSTT is not set
970# CONFIG_FB_S1D13XXX is not set
971# CONFIG_FB_NVIDIA is not set
972# CONFIG_FB_RIVA is not set
973# CONFIG_FB_MATROX is not set
974CONFIG_FB_RADEON=y 81CONFIG_FB_RADEON=y
975CONFIG_FB_RADEON_I2C=y
976CONFIG_FB_RADEON_BACKLIGHT=y
977CONFIG_FB_RADEON_DEBUG=y 82CONFIG_FB_RADEON_DEBUG=y
978# CONFIG_FB_ATY128 is not set
979# CONFIG_FB_ATY is not set
980# CONFIG_FB_S3 is not set
981# CONFIG_FB_SAVAGE is not set
982# CONFIG_FB_SIS is not set
983# CONFIG_FB_NEOMAGIC is not set
984# CONFIG_FB_KYRO is not set
985# CONFIG_FB_3DFX is not set
986# CONFIG_FB_VOODOO1 is not set
987# CONFIG_FB_TRIDENT is not set
988# CONFIG_FB_VIRTUAL is not set
989
990#
991# Console display driver support
992#
993CONFIG_VGA_CONSOLE=y
994# CONFIG_VGACON_SOFT_SCROLLBACK is not set
995CONFIG_DUMMY_CONSOLE=y
996CONFIG_FRAMEBUFFER_CONSOLE=y
997# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
998# CONFIG_FONTS is not set
999CONFIG_FONT_8x8=y
1000CONFIG_FONT_8x16=y
1001
1002#
1003# Logo configuration
1004#
1005CONFIG_LOGO=y 83CONFIG_LOGO=y
1006# CONFIG_LOGO_LINUX_MONO is not set 84# CONFIG_LOGO_LINUX_MONO is not set
1007# CONFIG_LOGO_LINUX_VGA16 is not set 85# CONFIG_LOGO_LINUX_VGA16 is not set
1008CONFIG_LOGO_LINUX_CLUT224=y
1009
1010#
1011# Sound
1012#
1013CONFIG_SOUND=y 86CONFIG_SOUND=y
1014
1015#
1016# Advanced Linux Sound Architecture
1017#
1018CONFIG_SND=y 87CONFIG_SND=y
1019CONFIG_SND_TIMER=y
1020CONFIG_SND_PCM=y
1021CONFIG_SND_HWDEP=y
1022CONFIG_SND_RAWMIDI=y
1023CONFIG_SND_SEQUENCER=y 88CONFIG_SND_SEQUENCER=y
1024# CONFIG_SND_SEQ_DUMMY is not set
1025CONFIG_SND_OSSEMUL=y
1026CONFIG_SND_MIXER_OSS=y 89CONFIG_SND_MIXER_OSS=y
1027CONFIG_SND_PCM_OSS=y 90CONFIG_SND_PCM_OSS=y
1028CONFIG_SND_PCM_OSS_PLUGINS=y
1029CONFIG_SND_SEQUENCER_OSS=y 91CONFIG_SND_SEQUENCER_OSS=y
1030# CONFIG_SND_DYNAMIC_MINORS is not set
1031CONFIG_SND_SUPPORT_OLD_API=y
1032CONFIG_SND_VERBOSE_PROCFS=y
1033# CONFIG_SND_VERBOSE_PRINTK is not set
1034# CONFIG_SND_DEBUG is not set
1035
1036#
1037# Generic devices
1038#
1039CONFIG_SND_MPU401_UART=y
1040CONFIG_SND_OPL3_LIB=y
1041CONFIG_SND_AC97_CODEC=y
1042# CONFIG_SND_DUMMY is not set
1043# CONFIG_SND_VIRMIDI is not set
1044# CONFIG_SND_MTPAV is not set
1045# CONFIG_SND_SERIAL_U16550 is not set
1046# CONFIG_SND_MPU401 is not set
1047
1048#
1049# PCI devices
1050#
1051# CONFIG_SND_AD1889 is not set
1052# CONFIG_SND_ALS300 is not set
1053# CONFIG_SND_ALI5451 is not set
1054# CONFIG_SND_ATIIXP is not set
1055# CONFIG_SND_ATIIXP_MODEM is not set
1056# CONFIG_SND_AU8810 is not set
1057# CONFIG_SND_AU8820 is not set
1058# CONFIG_SND_AU8830 is not set
1059# CONFIG_SND_AZT3328 is not set
1060# CONFIG_SND_BT87X is not set
1061# CONFIG_SND_CA0106 is not set
1062# CONFIG_SND_CMIPCI is not set
1063# CONFIG_SND_CS4281 is not set
1064# CONFIG_SND_CS46XX is not set
1065# CONFIG_SND_DARLA20 is not set
1066# CONFIG_SND_GINA20 is not set
1067# CONFIG_SND_LAYLA20 is not set
1068# CONFIG_SND_DARLA24 is not set
1069# CONFIG_SND_GINA24 is not set
1070# CONFIG_SND_LAYLA24 is not set
1071# CONFIG_SND_MONA is not set
1072# CONFIG_SND_MIA is not set
1073# CONFIG_SND_ECHO3G is not set
1074# CONFIG_SND_INDIGO is not set
1075# CONFIG_SND_INDIGOIO is not set
1076# CONFIG_SND_INDIGODJ is not set
1077# CONFIG_SND_EMU10K1 is not set
1078# CONFIG_SND_EMU10K1X is not set
1079# CONFIG_SND_ENS1370 is not set
1080# CONFIG_SND_ENS1371 is not set
1081# CONFIG_SND_ES1938 is not set
1082# CONFIG_SND_ES1968 is not set
1083CONFIG_SND_FM801=y 92CONFIG_SND_FM801=y
1084# CONFIG_SND_FM801_TEA575X_BOOL is not set 93CONFIG_USB_HIDDEV=y
1085# CONFIG_SND_HDA_INTEL is not set
1086# CONFIG_SND_HDSP is not set
1087# CONFIG_SND_HDSPM is not set
1088# CONFIG_SND_ICE1712 is not set
1089# CONFIG_SND_ICE1724 is not set
1090# CONFIG_SND_INTEL8X0 is not set
1091# CONFIG_SND_INTEL8X0M is not set
1092# CONFIG_SND_KORG1212 is not set
1093# CONFIG_SND_MAESTRO3 is not set
1094# CONFIG_SND_MIXART is not set
1095# CONFIG_SND_NM256 is not set
1096# CONFIG_SND_PCXHR is not set
1097# CONFIG_SND_RIPTIDE is not set
1098# CONFIG_SND_RME32 is not set
1099# CONFIG_SND_RME96 is not set
1100# CONFIG_SND_RME9652 is not set
1101# CONFIG_SND_SONICVIBES is not set
1102# CONFIG_SND_TRIDENT is not set
1103# CONFIG_SND_VIA82XX is not set
1104# CONFIG_SND_VIA82XX_MODEM is not set
1105# CONFIG_SND_VX222 is not set
1106# CONFIG_SND_YMFPCI is not set
1107# CONFIG_SND_AC97_POWER_SAVE is not set
1108
1109#
1110# USB devices
1111#
1112# CONFIG_SND_USB_AUDIO is not set
1113
1114#
1115# SoC audio support
1116#
1117# CONFIG_SND_SOC is not set
1118
1119#
1120# Open Sound System
1121#
1122# CONFIG_SOUND_PRIME is not set
1123CONFIG_AC97_BUS=y
1124
1125#
1126# HID Devices
1127#
1128CONFIG_HID=y
1129# CONFIG_HID_DEBUG is not set
1130
1131#
1132# USB support
1133#
1134CONFIG_USB_ARCH_HAS_HCD=y
1135CONFIG_USB_ARCH_HAS_OHCI=y
1136CONFIG_USB_ARCH_HAS_EHCI=y
1137CONFIG_USB=y 94CONFIG_USB=y
1138# CONFIG_USB_DEBUG is not set 95CONFIG_USB_MON=y
1139
1140#
1141# Miscellaneous USB options
1142#
1143# CONFIG_USB_DEVICEFS is not set
1144# CONFIG_USB_DYNAMIC_MINORS is not set
1145# CONFIG_USB_SUSPEND is not set
1146# CONFIG_USB_OTG is not set
1147
1148#
1149# USB Host Controller Drivers
1150#
1151CONFIG_USB_EHCI_HCD=y 96CONFIG_USB_EHCI_HCD=y
1152# CONFIG_USB_EHCI_SPLIT_ISO is not set
1153# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1154# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1155# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
1156# CONFIG_USB_ISP116X_HCD is not set
1157CONFIG_USB_OHCI_HCD=y 97CONFIG_USB_OHCI_HCD=y
1158# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
1159# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
1160CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1161CONFIG_USB_UHCI_HCD=y 98CONFIG_USB_UHCI_HCD=y
1162# CONFIG_USB_SL811_HCD is not set
1163
1164#
1165# USB Device Class drivers
1166#
1167# CONFIG_USB_ACM is not set
1168# CONFIG_USB_PRINTER is not set
1169
1170#
1171# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1172#
1173
1174#
1175# may also be needed; see USB_STORAGE Help for more information
1176#
1177CONFIG_USB_STORAGE=y 99CONFIG_USB_STORAGE=y
1178# CONFIG_USB_STORAGE_DEBUG is not set
1179# CONFIG_USB_STORAGE_DATAFAB is not set
1180# CONFIG_USB_STORAGE_FREECOM is not set
1181# CONFIG_USB_STORAGE_ISD200 is not set
1182# CONFIG_USB_STORAGE_DPCM is not set
1183# CONFIG_USB_STORAGE_USBAT is not set
1184# CONFIG_USB_STORAGE_SDDR09 is not set
1185# CONFIG_USB_STORAGE_SDDR55 is not set
1186# CONFIG_USB_STORAGE_JUMPSHOT is not set
1187# CONFIG_USB_STORAGE_ALAUDA is not set
1188# CONFIG_USB_STORAGE_KARMA is not set
1189# CONFIG_USB_LIBUSUAL is not set
1190
1191#
1192# USB Input Devices
1193#
1194CONFIG_USB_HID=y
1195# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1196# CONFIG_HID_FF is not set
1197CONFIG_USB_HIDDEV=y
1198# CONFIG_USB_AIPTEK is not set
1199# CONFIG_USB_WACOM is not set
1200# CONFIG_USB_ACECAD is not set
1201# CONFIG_USB_KBTAB is not set
1202# CONFIG_USB_POWERMATE is not set
1203# CONFIG_USB_TOUCHSCREEN is not set
1204# CONFIG_USB_YEALINK is not set
1205# CONFIG_USB_XPAD is not set
1206# CONFIG_USB_ATI_REMOTE is not set
1207# CONFIG_USB_ATI_REMOTE2 is not set
1208# CONFIG_USB_KEYSPAN_REMOTE is not set
1209# CONFIG_USB_APPLETOUCH is not set
1210# CONFIG_USB_GTCO is not set
1211
1212#
1213# USB Imaging devices
1214#
1215# CONFIG_USB_MDC800 is not set
1216# CONFIG_USB_MICROTEK is not set
1217
1218#
1219# USB Network Adapters
1220#
1221# CONFIG_USB_CATC is not set
1222# CONFIG_USB_KAWETH is not set
1223# CONFIG_USB_PEGASUS is not set
1224# CONFIG_USB_RTL8150 is not set
1225# CONFIG_USB_USBNET_MII is not set
1226# CONFIG_USB_USBNET is not set
1227CONFIG_USB_MON=y
1228
1229#
1230# USB port drivers
1231#
1232
1233#
1234# USB Serial Converter support
1235#
1236# CONFIG_USB_SERIAL is not set
1237
1238#
1239# USB Miscellaneous drivers
1240#
1241# CONFIG_USB_EMI62 is not set
1242# CONFIG_USB_EMI26 is not set
1243# CONFIG_USB_ADUTUX is not set
1244# CONFIG_USB_AUERSWALD is not set
1245# CONFIG_USB_RIO500 is not set
1246# CONFIG_USB_LEGOTOWER is not set
1247# CONFIG_USB_LCD is not set
1248# CONFIG_USB_BERRY_CHARGE is not set
1249# CONFIG_USB_LED is not set
1250# CONFIG_USB_CYPRESS_CY7C63 is not set
1251# CONFIG_USB_CYTHERM is not set
1252# CONFIG_USB_PHIDGET is not set
1253# CONFIG_USB_IDMOUSE is not set
1254# CONFIG_USB_FTDI_ELAN is not set
1255# CONFIG_USB_APPLEDISPLAY is not set
1256# CONFIG_USB_SISUSBVGA is not set
1257# CONFIG_USB_LD is not set
1258# CONFIG_USB_TRANCEVIBRATOR is not set
1259# CONFIG_USB_IOWARRIOR is not set
1260
1261#
1262# USB DSL modem support
1263#
1264
1265#
1266# USB Gadget Support
1267#
1268# CONFIG_USB_GADGET is not set
1269
1270#
1271# MMC/SD Card support
1272#
1273# CONFIG_MMC is not set
1274
1275#
1276# LED devices
1277#
1278# CONFIG_NEW_LEDS is not set
1279
1280#
1281# LED drivers
1282#
1283
1284#
1285# LED Triggers
1286#
1287
1288#
1289# InfiniBand support
1290#
1291# CONFIG_INFINIBAND is not set
1292
1293#
1294# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
1295#
1296
1297#
1298# Real Time Clock
1299#
1300# CONFIG_RTC_CLASS is not set
1301
1302#
1303# DMA Engine support
1304#
1305# CONFIG_DMA_ENGINE is not set
1306
1307#
1308# DMA Clients
1309#
1310
1311#
1312# DMA Devices
1313#
1314
1315#
1316# Auxiliary Display support
1317#
1318
1319#
1320# Virtualization
1321#
1322# CONFIG_MSPEC is not set
1323
1324#
1325# File systems
1326#
1327CONFIG_EXT2_FS=y 100CONFIG_EXT2_FS=y
1328CONFIG_EXT2_FS_XATTR=y 101CONFIG_EXT2_FS_XATTR=y
1329# CONFIG_EXT2_FS_POSIX_ACL is not set
1330# CONFIG_EXT2_FS_SECURITY is not set
1331# CONFIG_EXT2_FS_XIP is not set
1332CONFIG_EXT3_FS=y 102CONFIG_EXT3_FS=y
1333CONFIG_EXT3_FS_XATTR=y
1334# CONFIG_EXT3_FS_POSIX_ACL is not set
1335# CONFIG_EXT3_FS_SECURITY is not set
1336# CONFIG_EXT4DEV_FS is not set
1337CONFIG_JBD=y
1338# CONFIG_JBD_DEBUG is not set
1339CONFIG_FS_MBCACHE=y
1340# CONFIG_REISERFS_FS is not set
1341# CONFIG_JFS_FS is not set
1342# CONFIG_FS_POSIX_ACL is not set
1343# CONFIG_XFS_FS is not set
1344# CONFIG_GFS2_FS is not set
1345# CONFIG_OCFS2_FS is not set
1346# CONFIG_MINIX_FS is not set
1347# CONFIG_ROMFS_FS is not set
1348# CONFIG_INOTIFY is not set
1349# CONFIG_QUOTA is not set
1350CONFIG_DNOTIFY=y
1351CONFIG_AUTOFS_FS=y 103CONFIG_AUTOFS_FS=y
1352# CONFIG_AUTOFS4_FS is not set
1353# CONFIG_FUSE_FS is not set
1354
1355#
1356# CD-ROM/DVD Filesystems
1357#
1358CONFIG_ISO9660_FS=y 104CONFIG_ISO9660_FS=y
1359CONFIG_JOLIET=y 105CONFIG_JOLIET=y
1360# CONFIG_ZISOFS is not set
1361CONFIG_UDF_FS=y 106CONFIG_UDF_FS=y
1362CONFIG_UDF_NLS=y
1363
1364#
1365# DOS/FAT/NT Filesystems
1366#
1367CONFIG_FAT_FS=y
1368CONFIG_MSDOS_FS=y 107CONFIG_MSDOS_FS=y
1369CONFIG_VFAT_FS=y 108CONFIG_VFAT_FS=y
1370CONFIG_FAT_DEFAULT_CODEPAGE=437
1371CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1372# CONFIG_NTFS_FS is not set
1373
1374#
1375# Pseudo filesystems
1376#
1377CONFIG_PROC_FS=y
1378CONFIG_PROC_KCORE=y 109CONFIG_PROC_KCORE=y
1379CONFIG_PROC_VMCORE=y
1380CONFIG_PROC_SYSCTL=y
1381CONFIG_SYSFS=y
1382CONFIG_TMPFS=y 110CONFIG_TMPFS=y
1383# CONFIG_TMPFS_POSIX_ACL is not set
1384CONFIG_HUGETLBFS=y 111CONFIG_HUGETLBFS=y
1385CONFIG_HUGETLB_PAGE=y
1386CONFIG_RAMFS=y
1387# CONFIG_CONFIGFS_FS is not set
1388
1389#
1390# Miscellaneous filesystems
1391#
1392# CONFIG_ADFS_FS is not set
1393# CONFIG_AFFS_FS is not set
1394# CONFIG_HFS_FS is not set
1395# CONFIG_HFSPLUS_FS is not set
1396# CONFIG_BEFS_FS is not set
1397# CONFIG_BFS_FS is not set
1398# CONFIG_EFS_FS is not set
1399# CONFIG_CRAMFS is not set
1400# CONFIG_VXFS_FS is not set
1401# CONFIG_HPFS_FS is not set
1402# CONFIG_QNX4FS_FS is not set
1403# CONFIG_SYSV_FS is not set
1404# CONFIG_UFS_FS is not set
1405
1406#
1407# Network File Systems
1408#
1409CONFIG_NFS_FS=y 112CONFIG_NFS_FS=y
1410CONFIG_NFS_V3=y 113CONFIG_NFS_V3=y
1411# CONFIG_NFS_V3_ACL is not set
1412CONFIG_NFS_V4=y 114CONFIG_NFS_V4=y
1413# CONFIG_NFS_DIRECTIO is not set
1414CONFIG_NFSD=y 115CONFIG_NFSD=y
1415CONFIG_NFSD_V3=y 116CONFIG_NFSD_V3=y
1416# CONFIG_NFSD_V3_ACL is not set
1417# CONFIG_NFSD_V4 is not set
1418# CONFIG_NFSD_TCP is not set
1419CONFIG_LOCKD=y
1420CONFIG_LOCKD_V4=y
1421CONFIG_EXPORTFS=y
1422CONFIG_NFS_COMMON=y
1423CONFIG_SUNRPC=y
1424CONFIG_SUNRPC_GSS=y
1425CONFIG_RPCSEC_GSS_KRB5=y
1426# CONFIG_RPCSEC_GSS_SPKM3 is not set
1427# CONFIG_SMB_FS is not set
1428# CONFIG_CIFS is not set
1429# CONFIG_NCP_FS is not set
1430# CONFIG_CODA_FS is not set
1431# CONFIG_AFS_FS is not set
1432# CONFIG_9P_FS is not set
1433
1434#
1435# Partition Types
1436#
1437CONFIG_PARTITION_ADVANCED=y 117CONFIG_PARTITION_ADVANCED=y
1438# CONFIG_ACORN_PARTITION is not set
1439# CONFIG_OSF_PARTITION is not set
1440# CONFIG_AMIGA_PARTITION is not set
1441# CONFIG_ATARI_PARTITION is not set
1442# CONFIG_MAC_PARTITION is not set
1443CONFIG_MSDOS_PARTITION=y
1444# CONFIG_BSD_DISKLABEL is not set
1445# CONFIG_MINIX_SUBPARTITION is not set
1446# CONFIG_SOLARIS_X86_PARTITION is not set
1447# CONFIG_UNIXWARE_DISKLABEL is not set
1448# CONFIG_LDM_PARTITION is not set
1449# CONFIG_SGI_PARTITION is not set
1450# CONFIG_ULTRIX_PARTITION is not set
1451# CONFIG_SUN_PARTITION is not set
1452# CONFIG_KARMA_PARTITION is not set
1453CONFIG_EFI_PARTITION=y 118CONFIG_EFI_PARTITION=y
1454
1455#
1456# Native Language Support
1457#
1458CONFIG_NLS=y
1459CONFIG_NLS_DEFAULT="iso8859-1"
1460CONFIG_NLS_CODEPAGE_437=y 119CONFIG_NLS_CODEPAGE_437=y
1461CONFIG_NLS_CODEPAGE_737=y 120CONFIG_NLS_CODEPAGE_737=y
1462CONFIG_NLS_CODEPAGE_775=y 121CONFIG_NLS_CODEPAGE_775=y
@@ -1478,9 +137,7 @@ CONFIG_NLS_CODEPAGE_932=y
1478CONFIG_NLS_CODEPAGE_949=y 137CONFIG_NLS_CODEPAGE_949=y
1479CONFIG_NLS_CODEPAGE_874=y 138CONFIG_NLS_CODEPAGE_874=y
1480CONFIG_NLS_ISO8859_8=y 139CONFIG_NLS_ISO8859_8=y
1481# CONFIG_NLS_CODEPAGE_1250 is not set
1482CONFIG_NLS_CODEPAGE_1251=y 140CONFIG_NLS_CODEPAGE_1251=y
1483# CONFIG_NLS_ASCII is not set
1484CONFIG_NLS_ISO8859_1=y 141CONFIG_NLS_ISO8859_1=y
1485CONFIG_NLS_ISO8859_2=y 142CONFIG_NLS_ISO8859_2=y
1486CONFIG_NLS_ISO8859_3=y 143CONFIG_NLS_ISO8859_3=y
@@ -1495,118 +152,9 @@ CONFIG_NLS_ISO8859_15=y
1495CONFIG_NLS_KOI8_R=y 152CONFIG_NLS_KOI8_R=y
1496CONFIG_NLS_KOI8_U=y 153CONFIG_NLS_KOI8_U=y
1497CONFIG_NLS_UTF8=y 154CONFIG_NLS_UTF8=y
1498
1499#
1500# Distributed Lock Manager
1501#
1502# CONFIG_DLM is not set
1503
1504#
1505# Library routines
1506#
1507CONFIG_BITREVERSE=y
1508# CONFIG_CRC_CCITT is not set
1509# CONFIG_CRC16 is not set
1510CONFIG_CRC32=y
1511# CONFIG_LIBCRC32C is not set
1512CONFIG_PLIST=y
1513CONFIG_HAS_IOMEM=y
1514CONFIG_HAS_IOPORT=y
1515CONFIG_GENERIC_HARDIRQS=y
1516CONFIG_GENERIC_IRQ_PROBE=y
1517CONFIG_GENERIC_PENDING_IRQ=y
1518CONFIG_IRQ_PER_CPU=y
1519
1520#
1521# Instrumentation Support
1522#
1523# CONFIG_PROFILING is not set
1524CONFIG_KPROBES=y
1525
1526#
1527# Kernel hacking
1528#
1529# CONFIG_PRINTK_TIME is not set
1530CONFIG_ENABLE_MUST_CHECK=y
1531CONFIG_MAGIC_SYSRQ=y 155CONFIG_MAGIC_SYSRQ=y
1532# CONFIG_UNUSED_SYMBOLS is not set
1533# CONFIG_DEBUG_FS is not set
1534# CONFIG_HEADERS_CHECK is not set
1535CONFIG_DEBUG_KERNEL=y 156CONFIG_DEBUG_KERNEL=y
1536# CONFIG_DEBUG_SHIRQ is not set
1537CONFIG_LOG_BUF_SHIFT=17
1538CONFIG_DETECT_SOFTLOCKUP=y
1539# CONFIG_SCHEDSTATS is not set
1540# CONFIG_TIMER_STATS is not set
1541# CONFIG_DEBUG_SLAB is not set
1542# CONFIG_DEBUG_RT_MUTEXES is not set
1543# CONFIG_RT_MUTEX_TESTER is not set
1544# CONFIG_DEBUG_SPINLOCK is not set
1545CONFIG_DEBUG_MUTEXES=y 157CONFIG_DEBUG_MUTEXES=y
1546# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1547# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1548# CONFIG_DEBUG_KOBJECT is not set
1549# CONFIG_DEBUG_INFO is not set
1550# CONFIG_DEBUG_VM is not set
1551# CONFIG_DEBUG_LIST is not set
1552CONFIG_FORCED_INLINING=y
1553# CONFIG_RCU_TORTURE_TEST is not set
1554# CONFIG_LKDTM is not set
1555# CONFIG_FAULT_INJECTION is not set
1556CONFIG_IA64_GRANULE_16MB=y
1557# CONFIG_IA64_GRANULE_64MB is not set
1558CONFIG_IA64_PRINT_HAZARDS=y 158CONFIG_IA64_PRINT_HAZARDS=y
1559# CONFIG_DISABLE_VHPT is not set
1560# CONFIG_IA64_DEBUG_CMPXCHG is not set
1561# CONFIG_IA64_DEBUG_IRQ is not set
1562CONFIG_SYSVIPC_COMPAT=y
1563
1564#
1565# Security options
1566#
1567# CONFIG_KEYS is not set
1568# CONFIG_SECURITY is not set
1569
1570#
1571# Cryptographic options
1572#
1573CONFIG_CRYPTO=y
1574CONFIG_CRYPTO_ALGAPI=y
1575CONFIG_CRYPTO_BLKCIPHER=y
1576CONFIG_CRYPTO_MANAGER=y
1577# CONFIG_CRYPTO_HMAC is not set
1578# CONFIG_CRYPTO_XCBC is not set
1579# CONFIG_CRYPTO_NULL is not set
1580# CONFIG_CRYPTO_MD4 is not set
1581CONFIG_CRYPTO_MD5=y
1582# CONFIG_CRYPTO_SHA1 is not set
1583# CONFIG_CRYPTO_SHA256 is not set
1584# CONFIG_CRYPTO_SHA512 is not set
1585# CONFIG_CRYPTO_WP512 is not set
1586# CONFIG_CRYPTO_TGR192 is not set
1587# CONFIG_CRYPTO_GF128MUL is not set
1588CONFIG_CRYPTO_ECB=m 159CONFIG_CRYPTO_ECB=m
1589CONFIG_CRYPTO_CBC=y
1590CONFIG_CRYPTO_PCBC=m 160CONFIG_CRYPTO_PCBC=m
1591# CONFIG_CRYPTO_LRW is not set
1592CONFIG_CRYPTO_DES=y
1593# CONFIG_CRYPTO_FCRYPT is not set
1594# CONFIG_CRYPTO_BLOWFISH is not set
1595# CONFIG_CRYPTO_TWOFISH is not set
1596# CONFIG_CRYPTO_SERPENT is not set
1597# CONFIG_CRYPTO_AES is not set
1598# CONFIG_CRYPTO_CAST5 is not set
1599# CONFIG_CRYPTO_CAST6 is not set
1600# CONFIG_CRYPTO_TEA is not set
1601# CONFIG_CRYPTO_ARC4 is not set
1602# CONFIG_CRYPTO_KHAZAD is not set
1603# CONFIG_CRYPTO_ANUBIS is not set
1604# CONFIG_CRYPTO_DEFLATE is not set
1605# CONFIG_CRYPTO_MICHAEL_MIC is not set
1606# CONFIG_CRYPTO_CRC32C is not set
1607# CONFIG_CRYPTO_CAMELLIA is not set
1608# CONFIG_CRYPTO_TEST is not set
1609
1610#
1611# Hardware crypto devices
1612#
diff --git a/arch/ia64/hp/common/aml_nfw.c b/arch/ia64/hp/common/aml_nfw.c
index 4abd2c79bb1d..22078486d35d 100644
--- a/arch/ia64/hp/common/aml_nfw.c
+++ b/arch/ia64/hp/common/aml_nfw.c
@@ -77,7 +77,7 @@ static void aml_nfw_execute(struct ia64_nfw_context *c)
77 c->arg[4], c->arg[5], c->arg[6], c->arg[7]); 77 c->arg[4], c->arg[5], c->arg[6], c->arg[7]);
78} 78}
79 79
80static void aml_nfw_read_arg(u8 *offset, u32 bit_width, acpi_integer *value) 80static void aml_nfw_read_arg(u8 *offset, u32 bit_width, u64 *value)
81{ 81{
82 switch (bit_width) { 82 switch (bit_width) {
83 case 8: 83 case 8:
@@ -95,7 +95,7 @@ static void aml_nfw_read_arg(u8 *offset, u32 bit_width, acpi_integer *value)
95 } 95 }
96} 96}
97 97
98static void aml_nfw_write_arg(u8 *offset, u32 bit_width, acpi_integer *value) 98static void aml_nfw_write_arg(u8 *offset, u32 bit_width, u64 *value)
99{ 99{
100 switch (bit_width) { 100 switch (bit_width) {
101 case 8: 101 case 8:
@@ -114,7 +114,7 @@ static void aml_nfw_write_arg(u8 *offset, u32 bit_width, acpi_integer *value)
114} 114}
115 115
116static acpi_status aml_nfw_handler(u32 function, acpi_physical_address address, 116static acpi_status aml_nfw_handler(u32 function, acpi_physical_address address,
117 u32 bit_width, acpi_integer *value, void *handler_context, 117 u32 bit_width, u64 *value, void *handler_context,
118 void *region_context) 118 void *region_context)
119{ 119{
120 struct ia64_nfw_context *context = handler_context; 120 struct ia64_nfw_context *context = handler_context;
diff --git a/arch/ia64/hp/common/sba_iommu.c b/arch/ia64/hp/common/sba_iommu.c
index e14c492a8a93..4ce8d1358fee 100644
--- a/arch/ia64/hp/common/sba_iommu.c
+++ b/arch/ia64/hp/common/sba_iommu.c
@@ -2046,13 +2046,13 @@ acpi_sba_ioc_add(struct acpi_device *device)
2046 struct ioc *ioc; 2046 struct ioc *ioc;
2047 acpi_status status; 2047 acpi_status status;
2048 u64 hpa, length; 2048 u64 hpa, length;
2049 struct acpi_device_info *dev_info; 2049 struct acpi_device_info *adi;
2050 2050
2051 status = hp_acpi_csr_space(device->handle, &hpa, &length); 2051 status = hp_acpi_csr_space(device->handle, &hpa, &length);
2052 if (ACPI_FAILURE(status)) 2052 if (ACPI_FAILURE(status))
2053 return 1; 2053 return 1;
2054 2054
2055 status = acpi_get_object_info(device->handle, &dev_info); 2055 status = acpi_get_object_info(device->handle, &adi);
2056 if (ACPI_FAILURE(status)) 2056 if (ACPI_FAILURE(status))
2057 return 1; 2057 return 1;
2058 2058
@@ -2060,13 +2060,13 @@ acpi_sba_ioc_add(struct acpi_device *device)
2060 * For HWP0001, only SBA appears in ACPI namespace. It encloses the PCI 2060 * For HWP0001, only SBA appears in ACPI namespace. It encloses the PCI
2061 * root bridges, and its CSR space includes the IOC function. 2061 * root bridges, and its CSR space includes the IOC function.
2062 */ 2062 */
2063 if (strncmp("HWP0001", dev_info->hardware_id.string, 7) == 0) { 2063 if (strncmp("HWP0001", adi->hardware_id.string, 7) == 0) {
2064 hpa += ZX1_IOC_OFFSET; 2064 hpa += ZX1_IOC_OFFSET;
2065 /* zx1 based systems default to kernel page size iommu pages */ 2065 /* zx1 based systems default to kernel page size iommu pages */
2066 if (!iovp_shift) 2066 if (!iovp_shift)
2067 iovp_shift = min(PAGE_SHIFT, 16); 2067 iovp_shift = min(PAGE_SHIFT, 16);
2068 } 2068 }
2069 kfree(dev_info); 2069 kfree(adi);
2070 2070
2071 /* 2071 /*
2072 * default anything not caught above or specified on cmdline to 4k 2072 * default anything not caught above or specified on cmdline to 4k
diff --git a/arch/ia64/hp/sim/simserial.c b/arch/ia64/hp/sim/simserial.c
index 2bef5261d96d..1e8d71ad93ef 100644
--- a/arch/ia64/hp/sim/simserial.c
+++ b/arch/ia64/hp/sim/simserial.c
@@ -149,7 +149,7 @@ static void receive_chars(struct tty_struct *tty)
149 ch = ia64_ssc(0, 0, 0, 0, 149 ch = ia64_ssc(0, 0, 0, 0,
150 SSC_GETCHAR); 150 SSC_GETCHAR);
151 while (!ch); 151 while (!ch);
152 handle_sysrq(ch, NULL); 152 handle_sysrq(ch);
153 } 153 }
154#endif 154#endif
155 seen_esc = 0; 155 seen_esc = 0;
diff --git a/arch/ia64/ia32/Makefile b/arch/ia64/ia32/Makefile
deleted file mode 100644
index baad8c7699c0..000000000000
--- a/arch/ia64/ia32/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
1#
2# Makefile for the ia32 kernel emulation subsystem.
3#
4
5obj-y := ia32_entry.o sys_ia32.o ia32_signal.o \
6 ia32_support.o ia32_traps.o binfmt_elf32.o ia32_ldt.o
7obj-$(CONFIG_AUDIT) += audit.o
8
9# Don't let GCC uses f16-f31 so that save_ia32_fpstate_live() and
10# restore_ia32_fpstate_live() can be sure the live register contain user-level state.
11CFLAGS_ia32_signal.o += -mfixed-range=f16-f31
diff --git a/arch/ia64/ia32/audit.c b/arch/ia64/ia32/audit.c
deleted file mode 100644
index 5c93ddd1e42d..000000000000
--- a/arch/ia64/ia32/audit.c
+++ /dev/null
@@ -1,42 +0,0 @@
1#include "../../x86/include/asm/unistd_32.h"
2
3unsigned ia32_dir_class[] = {
4#include <asm-generic/audit_dir_write.h>
5~0U
6};
7
8unsigned ia32_chattr_class[] = {
9#include <asm-generic/audit_change_attr.h>
10~0U
11};
12
13unsigned ia32_write_class[] = {
14#include <asm-generic/audit_write.h>
15~0U
16};
17
18unsigned ia32_read_class[] = {
19#include <asm-generic/audit_read.h>
20~0U
21};
22
23unsigned ia32_signal_class[] = {
24#include <asm-generic/audit_signal.h>
25~0U
26};
27
28int ia32_classify_syscall(unsigned syscall)
29{
30 switch(syscall) {
31 case __NR_open:
32 return 2;
33 case __NR_openat:
34 return 3;
35 case __NR_socketcall:
36 return 4;
37 case __NR_execve:
38 return 5;
39 default:
40 return 1;
41 }
42}
diff --git a/arch/ia64/ia32/binfmt_elf32.c b/arch/ia64/ia32/binfmt_elf32.c
deleted file mode 100644
index c69552bf893e..000000000000
--- a/arch/ia64/ia32/binfmt_elf32.c
+++ /dev/null
@@ -1,245 +0,0 @@
1/*
2 * IA-32 ELF support.
3 *
4 * Copyright (C) 1999 Arun Sharma <arun.sharma@intel.com>
5 * Copyright (C) 2001 Hewlett-Packard Co
6 * David Mosberger-Tang <davidm@hpl.hp.com>
7 *
8 * 06/16/00 A. Mallick initialize csd/ssd/tssd/cflg for ia32_load_state
9 * 04/13/01 D. Mosberger dropped saving tssd in ar.k1---it's not needed
10 * 09/14/01 D. Mosberger fixed memory management for gdt/tss page
11 */
12
13#include <linux/types.h>
14#include <linux/mm.h>
15#include <linux/security.h>
16
17#include <asm/param.h>
18#include <asm/signal.h>
19
20#include "ia32priv.h"
21#include "elfcore32.h"
22
23/* Override some function names */
24#undef start_thread
25#define start_thread ia32_start_thread
26#define elf_format elf32_format
27#define init_elf_binfmt init_elf32_binfmt
28#define exit_elf_binfmt exit_elf32_binfmt
29
30#undef CLOCKS_PER_SEC
31#define CLOCKS_PER_SEC IA32_CLOCKS_PER_SEC
32
33extern void ia64_elf32_init (struct pt_regs *regs);
34
35static void elf32_set_personality (void);
36
37static unsigned long __attribute ((unused))
38randomize_stack_top(unsigned long stack_top);
39
40#define setup_arg_pages(bprm,tos,exec) ia32_setup_arg_pages(bprm,exec)
41#define elf_map elf32_map
42
43#undef SET_PERSONALITY
44#define SET_PERSONALITY(ex) elf32_set_personality()
45
46#define elf_read_implies_exec(ex, have_pt_gnu_stack) (!(have_pt_gnu_stack))
47
48/* Ugly but avoids duplication */
49#include "../../../fs/binfmt_elf.c"
50
51extern struct page *ia32_shared_page[];
52extern unsigned long *ia32_gdt;
53extern struct page *ia32_gate_page;
54
55int
56ia32_install_shared_page (struct vm_area_struct *vma, struct vm_fault *vmf)
57{
58 vmf->page = ia32_shared_page[smp_processor_id()];
59 get_page(vmf->page);
60 return 0;
61}
62
63int
64ia32_install_gate_page (struct vm_area_struct *vma, struct vm_fault *vmf)
65{
66 vmf->page = ia32_gate_page;
67 get_page(vmf->page);
68 return 0;
69}
70
71
72static const struct vm_operations_struct ia32_shared_page_vm_ops = {
73 .fault = ia32_install_shared_page
74};
75
76static const struct vm_operations_struct ia32_gate_page_vm_ops = {
77 .fault = ia32_install_gate_page
78};
79
80void
81ia64_elf32_init (struct pt_regs *regs)
82{
83 struct vm_area_struct *vma;
84
85 /*
86 * Map GDT below 4GB, where the processor can find it. We need to map
87 * it with privilege level 3 because the IVE uses non-privileged accesses to these
88 * tables. IA-32 segmentation is used to protect against IA-32 accesses to them.
89 */
90 vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL);
91 if (vma) {
92 vma->vm_mm = current->mm;
93 vma->vm_start = IA32_GDT_OFFSET;
94 vma->vm_end = vma->vm_start + PAGE_SIZE;
95 vma->vm_page_prot = PAGE_SHARED;
96 vma->vm_flags = VM_READ|VM_MAYREAD|VM_RESERVED;
97 vma->vm_ops = &ia32_shared_page_vm_ops;
98 down_write(&current->mm->mmap_sem);
99 {
100 if (insert_vm_struct(current->mm, vma)) {
101 kmem_cache_free(vm_area_cachep, vma);
102 up_write(&current->mm->mmap_sem);
103 BUG();
104 }
105 }
106 up_write(&current->mm->mmap_sem);
107 }
108
109 /*
110 * When user stack is not executable, push sigreturn code to stack makes
111 * segmentation fault raised when returning to kernel. So now sigreturn
112 * code is locked in specific gate page, which is pointed by pretcode
113 * when setup_frame_ia32
114 */
115 vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL);
116 if (vma) {
117 vma->vm_mm = current->mm;
118 vma->vm_start = IA32_GATE_OFFSET;
119 vma->vm_end = vma->vm_start + PAGE_SIZE;
120 vma->vm_page_prot = PAGE_COPY_EXEC;
121 vma->vm_flags = VM_READ | VM_MAYREAD | VM_EXEC
122 | VM_MAYEXEC | VM_RESERVED;
123 vma->vm_ops = &ia32_gate_page_vm_ops;
124 down_write(&current->mm->mmap_sem);
125 {
126 if (insert_vm_struct(current->mm, vma)) {
127 kmem_cache_free(vm_area_cachep, vma);
128 up_write(&current->mm->mmap_sem);
129 BUG();
130 }
131 }
132 up_write(&current->mm->mmap_sem);
133 }
134
135 /*
136 * Install LDT as anonymous memory. This gives us all-zero segment descriptors
137 * until a task modifies them via modify_ldt().
138 */
139 vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL);
140 if (vma) {
141 vma->vm_mm = current->mm;
142 vma->vm_start = IA32_LDT_OFFSET;
143 vma->vm_end = vma->vm_start + PAGE_ALIGN(IA32_LDT_ENTRIES*IA32_LDT_ENTRY_SIZE);
144 vma->vm_page_prot = PAGE_SHARED;
145 vma->vm_flags = VM_READ|VM_WRITE|VM_MAYREAD|VM_MAYWRITE;
146 down_write(&current->mm->mmap_sem);
147 {
148 if (insert_vm_struct(current->mm, vma)) {
149 kmem_cache_free(vm_area_cachep, vma);
150 up_write(&current->mm->mmap_sem);
151 BUG();
152 }
153 }
154 up_write(&current->mm->mmap_sem);
155 }
156
157 ia64_psr(regs)->ac = 0; /* turn off alignment checking */
158 regs->loadrs = 0;
159 /*
160 * According to the ABI %edx points to an `atexit' handler. Since we don't have
161 * one we'll set it to 0 and initialize all the other registers just to make
162 * things more deterministic, ala the i386 implementation.
163 */
164 regs->r8 = 0; /* %eax */
165 regs->r11 = 0; /* %ebx */
166 regs->r9 = 0; /* %ecx */
167 regs->r10 = 0; /* %edx */
168 regs->r13 = 0; /* %ebp */
169 regs->r14 = 0; /* %esi */
170 regs->r15 = 0; /* %edi */
171
172 current->thread.eflag = IA32_EFLAG;
173 current->thread.fsr = IA32_FSR_DEFAULT;
174 current->thread.fcr = IA32_FCR_DEFAULT;
175 current->thread.fir = 0;
176 current->thread.fdr = 0;
177
178 /*
179 * Setup GDTD. Note: GDTD is the descrambled version of the pseudo-descriptor
180 * format defined by Figure 3-11 "Pseudo-Descriptor Format" in the IA-32
181 * architecture manual. Also note that the only fields that are not ignored are
182 * `base', `limit', 'G', `P' (must be 1) and `S' (must be 0).
183 */
184 regs->r31 = IA32_SEG_UNSCRAMBLE(IA32_SEG_DESCRIPTOR(IA32_GDT_OFFSET, IA32_PAGE_SIZE - 1,
185 0, 0, 0, 1, 0, 0, 0));
186 /* Setup the segment selectors */
187 regs->r16 = (__USER_DS << 16) | __USER_DS; /* ES == DS, GS, FS are zero */
188 regs->r17 = (__USER_DS << 16) | __USER_CS; /* SS, CS; ia32_load_state() sets TSS and LDT */
189
190 ia32_load_segment_descriptors(current);
191 ia32_load_state(current);
192}
193
194/*
195 * Undo the override of setup_arg_pages() without this ia32_setup_arg_pages()
196 * will suffer infinite self recursion.
197 */
198#undef setup_arg_pages
199
200int
201ia32_setup_arg_pages (struct linux_binprm *bprm, int executable_stack)
202{
203 int ret;
204
205 ret = setup_arg_pages(bprm, IA32_STACK_TOP, executable_stack);
206 if (!ret) {
207 /*
208 * Can't do it in ia64_elf32_init(). Needs to be done before
209 * calls to elf32_map()
210 */
211 current->thread.ppl = ia32_init_pp_list();
212 }
213
214 return ret;
215}
216
217static void
218elf32_set_personality (void)
219{
220 set_personality(PER_LINUX32);
221 current->thread.map_base = IA32_PAGE_OFFSET/3;
222}
223
224static unsigned long
225elf32_map(struct file *filep, unsigned long addr, struct elf_phdr *eppnt,
226 int prot, int type, unsigned long unused)
227{
228 unsigned long pgoff = (eppnt->p_vaddr) & ~IA32_PAGE_MASK;
229
230 return ia32_do_mmap(filep, (addr & IA32_PAGE_MASK), eppnt->p_filesz + pgoff, prot, type,
231 eppnt->p_offset - pgoff);
232}
233
234#define cpu_uses_ia32el() (local_cpu_data->family > 0x1f)
235
236static int __init check_elf32_binfmt(void)
237{
238 if (cpu_uses_ia32el()) {
239 printk("Please use IA-32 EL for executing IA-32 binaries\n");
240 unregister_binfmt(&elf_format);
241 }
242 return 0;
243}
244
245module_init(check_elf32_binfmt)
diff --git a/arch/ia64/ia32/elfcore32.h b/arch/ia64/ia32/elfcore32.h
deleted file mode 100644
index 657725742617..000000000000
--- a/arch/ia64/ia32/elfcore32.h
+++ /dev/null
@@ -1,148 +0,0 @@
1/*
2 * IA-32 ELF core dump support.
3 *
4 * Copyright (C) 2003 Arun Sharma <arun.sharma@intel.com>
5 *
6 * Derived from the x86_64 version
7 */
8#ifndef _ELFCORE32_H_
9#define _ELFCORE32_H_
10
11#include <asm/intrinsics.h>
12#include <asm/uaccess.h>
13
14/* Override elfcore.h */
15#define _LINUX_ELFCORE_H 1
16typedef unsigned int elf_greg_t;
17
18#define ELF_NGREG (sizeof (struct user_regs_struct32) / sizeof(elf_greg_t))
19typedef elf_greg_t elf_gregset_t[ELF_NGREG];
20
21typedef struct ia32_user_i387_struct elf_fpregset_t;
22typedef struct ia32_user_fxsr_struct elf_fpxregset_t;
23
24struct elf_siginfo
25{
26 int si_signo; /* signal number */
27 int si_code; /* extra code */
28 int si_errno; /* errno */
29};
30
31#ifdef CONFIG_VIRT_CPU_ACCOUNTING
32/*
33 * Hacks are here since types between compat_timeval (= pair of s32) and
34 * ia64-native timeval (= pair of s64) are not compatible, at least a file
35 * arch/ia64/ia32/../../../fs/binfmt_elf.c will get warnings from compiler on
36 * use of cputime_to_timeval(), which usually an alias of jiffies_to_timeval().
37 */
38#define cputime_to_timeval(a,b) \
39 do { (b)->tv_usec = 0; (b)->tv_sec = (a)/NSEC_PER_SEC; } while(0)
40#else
41#define jiffies_to_timeval(a,b) \
42 do { (b)->tv_usec = 0; (b)->tv_sec = (a)/HZ; } while(0)
43#endif
44
45struct elf_prstatus
46{
47 struct elf_siginfo pr_info; /* Info associated with signal */
48 short pr_cursig; /* Current signal */
49 unsigned int pr_sigpend; /* Set of pending signals */
50 unsigned int pr_sighold; /* Set of held signals */
51 pid_t pr_pid;
52 pid_t pr_ppid;
53 pid_t pr_pgrp;
54 pid_t pr_sid;
55 struct compat_timeval pr_utime; /* User time */
56 struct compat_timeval pr_stime; /* System time */
57 struct compat_timeval pr_cutime; /* Cumulative user time */
58 struct compat_timeval pr_cstime; /* Cumulative system time */
59 elf_gregset_t pr_reg; /* GP registers */
60 int pr_fpvalid; /* True if math co-processor being used. */
61};
62
63#define ELF_PRARGSZ (80) /* Number of chars for args */
64
65struct elf_prpsinfo
66{
67 char pr_state; /* numeric process state */
68 char pr_sname; /* char for pr_state */
69 char pr_zomb; /* zombie */
70 char pr_nice; /* nice val */
71 unsigned int pr_flag; /* flags */
72 __u16 pr_uid;
73 __u16 pr_gid;
74 pid_t pr_pid, pr_ppid, pr_pgrp, pr_sid;
75 /* Lots missing */
76 char pr_fname[16]; /* filename of executable */
77 char pr_psargs[ELF_PRARGSZ]; /* initial part of arg list */
78};
79
80#define ELF_CORE_COPY_REGS(pr_reg, regs) \
81 pr_reg[0] = regs->r11; \
82 pr_reg[1] = regs->r9; \
83 pr_reg[2] = regs->r10; \
84 pr_reg[3] = regs->r14; \
85 pr_reg[4] = regs->r15; \
86 pr_reg[5] = regs->r13; \
87 pr_reg[6] = regs->r8; \
88 pr_reg[7] = regs->r16 & 0xffff; \
89 pr_reg[8] = (regs->r16 >> 16) & 0xffff; \
90 pr_reg[9] = (regs->r16 >> 32) & 0xffff; \
91 pr_reg[10] = (regs->r16 >> 48) & 0xffff; \
92 pr_reg[11] = regs->r1; \
93 pr_reg[12] = regs->cr_iip; \
94 pr_reg[13] = regs->r17 & 0xffff; \
95 pr_reg[14] = ia64_getreg(_IA64_REG_AR_EFLAG); \
96 pr_reg[15] = regs->r12; \
97 pr_reg[16] = (regs->r17 >> 16) & 0xffff;
98
99static inline void elf_core_copy_regs(elf_gregset_t *elfregs,
100 struct pt_regs *regs)
101{
102 ELF_CORE_COPY_REGS((*elfregs), regs)
103}
104
105static inline int elf_core_copy_task_regs(struct task_struct *t,
106 elf_gregset_t* elfregs)
107{
108 ELF_CORE_COPY_REGS((*elfregs), task_pt_regs(t));
109 return 1;
110}
111
112static inline int
113elf_core_copy_task_fpregs(struct task_struct *tsk, struct pt_regs *regs, elf_fpregset_t *fpu)
114{
115 struct ia32_user_i387_struct *fpstate = (void*)fpu;
116 mm_segment_t old_fs;
117
118 if (!tsk_used_math(tsk))
119 return 0;
120
121 old_fs = get_fs();
122 set_fs(KERNEL_DS);
123 save_ia32_fpstate(tsk, (struct ia32_user_i387_struct __user *) fpstate);
124 set_fs(old_fs);
125
126 return 1;
127}
128
129#define ELF_CORE_COPY_XFPREGS 1
130#define ELF_CORE_XFPREG_TYPE NT_PRXFPREG
131static inline int
132elf_core_copy_task_xfpregs(struct task_struct *tsk, elf_fpxregset_t *xfpu)
133{
134 struct ia32_user_fxsr_struct *fpxstate = (void*) xfpu;
135 mm_segment_t old_fs;
136
137 if (!tsk_used_math(tsk))
138 return 0;
139
140 old_fs = get_fs();
141 set_fs(KERNEL_DS);
142 save_ia32_fpxstate(tsk, (struct ia32_user_fxsr_struct __user *) fpxstate);
143 set_fs(old_fs);
144
145 return 1;
146}
147
148#endif /* _ELFCORE32_H_ */
diff --git a/arch/ia64/ia32/ia32_entry.S b/arch/ia64/ia32/ia32_entry.S
deleted file mode 100644
index 2fd7479aa216..000000000000
--- a/arch/ia64/ia32/ia32_entry.S
+++ /dev/null
@@ -1,468 +0,0 @@
1#include <asm/asmmacro.h>
2#include <asm/ia32.h>
3#include <asm/asm-offsets.h>
4#include <asm/signal.h>
5#include <asm/thread_info.h>
6
7#include "../kernel/minstate.h"
8
9 /*
10 * execve() is special because in case of success, we need to
11 * setup a null register window frame (in case an IA-32 process
12 * is exec'ing an IA-64 program).
13 */
14ENTRY(ia32_execve)
15 .prologue ASM_UNW_PRLG_RP|ASM_UNW_PRLG_PFS, ASM_UNW_PRLG_GRSAVE(3)
16 alloc loc1=ar.pfs,3,2,4,0
17 mov loc0=rp
18 .body
19 zxt4 out0=in0 // filename
20 ;; // stop bit between alloc and call
21 zxt4 out1=in1 // argv
22 zxt4 out2=in2 // envp
23 add out3=16,sp // regs
24 br.call.sptk.few rp=sys32_execve
251: cmp.ge p6,p0=r8,r0
26 mov ar.pfs=loc1 // restore ar.pfs
27 ;;
28(p6) mov ar.pfs=r0 // clear ar.pfs in case of success
29 sxt4 r8=r8 // return 64-bit result
30 mov rp=loc0
31 br.ret.sptk.few rp
32END(ia32_execve)
33
34ENTRY(ia32_clone)
35 .prologue ASM_UNW_PRLG_RP|ASM_UNW_PRLG_PFS, ASM_UNW_PRLG_GRSAVE(5)
36 alloc r16=ar.pfs,5,2,6,0
37 DO_SAVE_SWITCH_STACK
38 mov loc0=rp
39 mov loc1=r16 // save ar.pfs across do_fork
40 .body
41 zxt4 out1=in1 // newsp
42 mov out3=16 // stacksize (compensates for 16-byte scratch area)
43 adds out2=IA64_SWITCH_STACK_SIZE+16,sp // out2 = &regs
44 mov out0=in0 // out0 = clone_flags
45 zxt4 out4=in2 // out4 = parent_tidptr
46 zxt4 out5=in4 // out5 = child_tidptr
47 br.call.sptk.many rp=do_fork
48.ret0: .restore sp
49 adds sp=IA64_SWITCH_STACK_SIZE,sp // pop the switch stack
50 mov ar.pfs=loc1
51 mov rp=loc0
52 br.ret.sptk.many rp
53END(ia32_clone)
54
55GLOBAL_ENTRY(ia32_ret_from_clone)
56 PT_REGS_UNWIND_INFO(0)
57{ /*
58 * Some versions of gas generate bad unwind info if the first instruction of a
59 * procedure doesn't go into the first slot of a bundle. This is a workaround.
60 */
61 nop.m 0
62 nop.i 0
63 /*
64 * We need to call schedule_tail() to complete the scheduling process.
65 * Called by ia64_switch_to after do_fork()->copy_thread(). r8 contains the
66 * address of the previously executing task.
67 */
68 br.call.sptk.many rp=ia64_invoke_schedule_tail
69}
70.ret1:
71 adds r2=TI_FLAGS+IA64_TASK_SIZE,r13
72 ;;
73 ld4 r2=[r2]
74 ;;
75 mov r8=0
76 and r2=_TIF_SYSCALL_TRACEAUDIT,r2
77 ;;
78 cmp.ne p6,p0=r2,r0
79(p6) br.cond.spnt .ia32_strace_check_retval
80 ;; // prevent RAW on r8
81END(ia32_ret_from_clone)
82 // fall through
83GLOBAL_ENTRY(ia32_ret_from_syscall)
84 PT_REGS_UNWIND_INFO(0)
85
86 cmp.ge p6,p7=r8,r0 // syscall executed successfully?
87 adds r2=IA64_PT_REGS_R8_OFFSET+16,sp // r2 = &pt_regs.r8
88 ;;
89 alloc r3=ar.pfs,0,0,0,0 // drop the syscall argument frame
90 st8 [r2]=r8 // store return value in slot for r8
91 br.cond.sptk.many ia64_leave_kernel
92END(ia32_ret_from_syscall)
93
94 //
95 // Invoke a system call, but do some tracing before and after the call.
96 // We MUST preserve the current register frame throughout this routine
97 // because some system calls (such as ia64_execve) directly
98 // manipulate ar.pfs.
99 //
100 // Input:
101 // r8 = syscall number
102 // b6 = syscall entry point
103 //
104GLOBAL_ENTRY(ia32_trace_syscall)
105 PT_REGS_UNWIND_INFO(0)
106 mov r3=-38
107 adds r2=IA64_PT_REGS_R8_OFFSET+16,sp
108 ;;
109 st8 [r2]=r3 // initialize return code to -ENOSYS
110 br.call.sptk.few rp=syscall_trace_enter // give parent a chance to catch syscall args
111 cmp.lt p6,p0=r8,r0 // check tracehook
112 adds r2=IA64_PT_REGS_R8_OFFSET+16,sp // r2 = &pt_regs.r8
113 ;;
114(p6) st8.spill [r2]=r8 // store return value in slot for r8
115(p6) br.spnt.few .ret4
116.ret2: // Need to reload arguments (they may be changed by the tracing process)
117 adds r2=IA64_PT_REGS_R1_OFFSET+16,sp // r2 = &pt_regs.r1
118 adds r3=IA64_PT_REGS_R13_OFFSET+16,sp // r3 = &pt_regs.r13
119 mov r15=IA32_NR_syscalls
120 ;;
121 ld4 r8=[r2],IA64_PT_REGS_R9_OFFSET-IA64_PT_REGS_R1_OFFSET
122 movl r16=ia32_syscall_table
123 ;;
124 ld4 r33=[r2],8 // r9 == ecx
125 ld4 r37=[r3],16 // r13 == ebp
126 cmp.ltu.unc p6,p7=r8,r15
127 ;;
128 ld4 r34=[r2],8 // r10 == edx
129 ld4 r36=[r3],8 // r15 == edi
130(p6) shladd r16=r8,3,r16 // force ni_syscall if not valid syscall number
131 ;;
132 ld8 r16=[r16]
133 ;;
134 ld4 r32=[r2],8 // r11 == ebx
135 mov b6=r16
136 ld4 r35=[r3],8 // r14 == esi
137 br.call.sptk.few rp=b6 // do the syscall
138.ia32_strace_check_retval:
139 cmp.lt p6,p0=r8,r0 // syscall failed?
140 adds r2=IA64_PT_REGS_R8_OFFSET+16,sp // r2 = &pt_regs.r8
141 ;;
142 st8.spill [r2]=r8 // store return value in slot for r8
143 br.call.sptk.few rp=syscall_trace_leave // give parent a chance to catch return value
144.ret4: alloc r2=ar.pfs,0,0,0,0 // drop the syscall argument frame
145 br.cond.sptk.many ia64_leave_kernel
146END(ia32_trace_syscall)
147
148GLOBAL_ENTRY(sys32_vfork)
149 alloc r16=ar.pfs,2,2,4,0;;
150 mov out0=IA64_CLONE_VFORK|IA64_CLONE_VM|SIGCHLD // out0 = clone_flags
151 br.cond.sptk.few .fork1 // do the work
152END(sys32_vfork)
153
154GLOBAL_ENTRY(sys32_fork)
155 .prologue ASM_UNW_PRLG_RP|ASM_UNW_PRLG_PFS, ASM_UNW_PRLG_GRSAVE(2)
156 alloc r16=ar.pfs,2,2,4,0
157 mov out0=SIGCHLD // out0 = clone_flags
158 ;;
159.fork1:
160 mov loc0=rp
161 mov loc1=r16 // save ar.pfs across do_fork
162 DO_SAVE_SWITCH_STACK
163
164 .body
165
166 mov out1=0
167 mov out3=0
168 adds out2=IA64_SWITCH_STACK_SIZE+16,sp // out2 = &regs
169 br.call.sptk.few rp=do_fork
170.ret5: .restore sp
171 adds sp=IA64_SWITCH_STACK_SIZE,sp // pop the switch stack
172 mov ar.pfs=loc1
173 mov rp=loc0
174 br.ret.sptk.many rp
175END(sys32_fork)
176
177 .rodata
178 .align 8
179 .globl ia32_syscall_table
180ia32_syscall_table:
181 data8 sys_ni_syscall /* 0 - old "setup(" system call*/
182 data8 sys_exit
183 data8 sys32_fork
184 data8 sys_read
185 data8 sys_write
186 data8 compat_sys_open /* 5 */
187 data8 sys_close
188 data8 sys32_waitpid
189 data8 sys_creat
190 data8 sys_link
191 data8 sys_unlink /* 10 */
192 data8 ia32_execve
193 data8 sys_chdir
194 data8 compat_sys_time
195 data8 sys_mknod
196 data8 sys_chmod /* 15 */
197 data8 sys_lchown /* 16-bit version */
198 data8 sys_ni_syscall /* old break syscall holder */
199 data8 sys_ni_syscall
200 data8 sys32_lseek
201 data8 sys_getpid /* 20 */
202 data8 compat_sys_mount
203 data8 sys_oldumount
204 data8 sys_setuid /* 16-bit version */
205 data8 sys_getuid /* 16-bit version */
206 data8 compat_sys_stime /* 25 */
207 data8 compat_sys_ptrace
208 data8 sys32_alarm
209 data8 sys_ni_syscall
210 data8 sys_pause
211 data8 compat_sys_utime /* 30 */
212 data8 sys_ni_syscall /* old stty syscall holder */
213 data8 sys_ni_syscall /* old gtty syscall holder */
214 data8 sys_access
215 data8 sys_nice
216 data8 sys_ni_syscall /* 35 */ /* old ftime syscall holder */
217 data8 sys_sync
218 data8 sys_kill
219 data8 sys_rename
220 data8 sys_mkdir
221 data8 sys_rmdir /* 40 */
222 data8 sys_dup
223 data8 sys_ia64_pipe
224 data8 compat_sys_times
225 data8 sys_ni_syscall /* old prof syscall holder */
226 data8 sys32_brk /* 45 */
227 data8 sys_setgid /* 16-bit version */
228 data8 sys_getgid /* 16-bit version */
229 data8 sys32_signal
230 data8 sys_geteuid /* 16-bit version */
231 data8 sys_getegid /* 16-bit version */ /* 50 */
232 data8 sys_acct
233 data8 sys_umount /* recycled never used phys( */
234 data8 sys_ni_syscall /* old lock syscall holder */
235 data8 compat_sys_ioctl
236 data8 compat_sys_fcntl /* 55 */
237 data8 sys_ni_syscall /* old mpx syscall holder */
238 data8 sys_setpgid
239 data8 sys_ni_syscall /* old ulimit syscall holder */
240 data8 sys_ni_syscall
241 data8 sys_umask /* 60 */
242 data8 sys_chroot
243 data8 compat_sys_ustat
244 data8 sys_dup2
245 data8 sys_getppid
246 data8 sys_getpgrp /* 65 */
247 data8 sys_setsid
248 data8 sys32_sigaction
249 data8 sys_ni_syscall
250 data8 sys_ni_syscall
251 data8 sys_setreuid /* 16-bit version */ /* 70 */
252 data8 sys_setregid /* 16-bit version */
253 data8 sys32_sigsuspend
254 data8 compat_sys_sigpending
255 data8 sys_sethostname
256 data8 compat_sys_setrlimit /* 75 */
257 data8 compat_sys_old_getrlimit
258 data8 compat_sys_getrusage
259 data8 compat_sys_gettimeofday
260 data8 compat_sys_settimeofday
261 data8 sys32_getgroups16 /* 80 */
262 data8 sys32_setgroups16
263 data8 sys32_old_select
264 data8 sys_symlink
265 data8 sys_ni_syscall
266 data8 sys_readlink /* 85 */
267 data8 sys_uselib
268 data8 sys_swapon
269 data8 sys_reboot
270 data8 compat_sys_old_readdir
271 data8 sys32_mmap /* 90 */
272 data8 sys32_munmap
273 data8 sys_truncate
274 data8 sys_ftruncate
275 data8 sys_fchmod
276 data8 sys_fchown /* 16-bit version */ /* 95 */
277 data8 sys_getpriority
278 data8 sys_setpriority
279 data8 sys_ni_syscall /* old profil syscall holder */
280 data8 compat_sys_statfs
281 data8 compat_sys_fstatfs /* 100 */
282 data8 sys_ni_syscall /* ioperm */
283 data8 compat_sys_socketcall
284 data8 sys_syslog
285 data8 compat_sys_setitimer
286 data8 compat_sys_getitimer /* 105 */
287 data8 compat_sys_newstat
288 data8 compat_sys_newlstat
289 data8 compat_sys_newfstat
290 data8 sys_ni_syscall
291 data8 sys_ni_syscall /* iopl */ /* 110 */
292 data8 sys_vhangup
293 data8 sys_ni_syscall /* used to be sys_idle */
294 data8 sys_ni_syscall
295 data8 compat_sys_wait4
296 data8 sys_swapoff /* 115 */
297 data8 compat_sys_sysinfo
298 data8 sys32_ipc
299 data8 sys_fsync
300 data8 sys32_sigreturn
301 data8 ia32_clone /* 120 */
302 data8 sys_setdomainname
303 data8 sys32_newuname
304 data8 sys32_modify_ldt
305 data8 compat_sys_adjtimex
306 data8 sys32_mprotect /* 125 */
307 data8 compat_sys_sigprocmask
308 data8 sys_ni_syscall /* create_module */
309 data8 sys_ni_syscall /* init_module */
310 data8 sys_ni_syscall /* delete_module */
311 data8 sys_ni_syscall /* get_kernel_syms */ /* 130 */
312 data8 sys32_quotactl
313 data8 sys_getpgid
314 data8 sys_fchdir
315 data8 sys_ni_syscall /* sys_bdflush */
316 data8 sys_sysfs /* 135 */
317 data8 sys32_personality
318 data8 sys_ni_syscall /* for afs_syscall */
319 data8 sys_setfsuid /* 16-bit version */
320 data8 sys_setfsgid /* 16-bit version */
321 data8 sys_llseek /* 140 */
322 data8 compat_sys_getdents
323 data8 compat_sys_select
324 data8 sys_flock
325 data8 sys32_msync
326 data8 compat_sys_readv /* 145 */
327 data8 compat_sys_writev
328 data8 sys_getsid
329 data8 sys_fdatasync
330 data8 compat_sys_sysctl
331 data8 sys_mlock /* 150 */
332 data8 sys_munlock
333 data8 sys_mlockall
334 data8 sys_munlockall
335 data8 sys_sched_setparam
336 data8 sys_sched_getparam /* 155 */
337 data8 sys_sched_setscheduler
338 data8 sys_sched_getscheduler
339 data8 sys_sched_yield
340 data8 sys_sched_get_priority_max
341 data8 sys_sched_get_priority_min /* 160 */
342 data8 sys32_sched_rr_get_interval
343 data8 compat_sys_nanosleep
344 data8 sys32_mremap
345 data8 sys_setresuid /* 16-bit version */
346 data8 sys32_getresuid16 /* 16-bit version */ /* 165 */
347 data8 sys_ni_syscall /* vm86 */
348 data8 sys_ni_syscall /* sys_query_module */
349 data8 sys_poll
350 data8 sys_ni_syscall /* nfsservctl */
351 data8 sys_setresgid /* 170 */
352 data8 sys32_getresgid16
353 data8 sys_prctl
354 data8 sys32_rt_sigreturn
355 data8 sys32_rt_sigaction
356 data8 sys32_rt_sigprocmask /* 175 */
357 data8 sys_rt_sigpending
358 data8 compat_sys_rt_sigtimedwait
359 data8 sys32_rt_sigqueueinfo
360 data8 compat_sys_rt_sigsuspend
361 data8 sys32_pread /* 180 */
362 data8 sys32_pwrite
363 data8 sys_chown /* 16-bit version */
364 data8 sys_getcwd
365 data8 sys_capget
366 data8 sys_capset /* 185 */
367 data8 sys32_sigaltstack
368 data8 sys32_sendfile
369 data8 sys_ni_syscall /* streams1 */
370 data8 sys_ni_syscall /* streams2 */
371 data8 sys32_vfork /* 190 */
372 data8 compat_sys_getrlimit
373 data8 sys32_mmap2
374 data8 sys32_truncate64
375 data8 sys32_ftruncate64
376 data8 sys32_stat64 /* 195 */
377 data8 sys32_lstat64
378 data8 sys32_fstat64
379 data8 sys_lchown
380 data8 sys_getuid
381 data8 sys_getgid /* 200 */
382 data8 sys_geteuid
383 data8 sys_getegid
384 data8 sys_setreuid
385 data8 sys_setregid
386 data8 sys_getgroups /* 205 */
387 data8 sys_setgroups
388 data8 sys_fchown
389 data8 sys_setresuid
390 data8 sys_getresuid
391 data8 sys_setresgid /* 210 */
392 data8 sys_getresgid
393 data8 sys_chown
394 data8 sys_setuid
395 data8 sys_setgid
396 data8 sys_setfsuid /* 215 */
397 data8 sys_setfsgid
398 data8 sys_pivot_root
399 data8 sys_mincore
400 data8 sys_madvise
401 data8 compat_sys_getdents64 /* 220 */
402 data8 compat_sys_fcntl64
403 data8 sys_ni_syscall /* reserved for TUX */
404 data8 sys_ni_syscall /* reserved for Security */
405 data8 sys_gettid
406 data8 sys_readahead /* 225 */
407 data8 sys_setxattr
408 data8 sys_lsetxattr
409 data8 sys_fsetxattr
410 data8 sys_getxattr
411 data8 sys_lgetxattr /* 230 */
412 data8 sys_fgetxattr
413 data8 sys_listxattr
414 data8 sys_llistxattr
415 data8 sys_flistxattr
416 data8 sys_removexattr /* 235 */
417 data8 sys_lremovexattr
418 data8 sys_fremovexattr
419 data8 sys_tkill
420 data8 sys_sendfile64
421 data8 compat_sys_futex /* 240 */
422 data8 compat_sys_sched_setaffinity
423 data8 compat_sys_sched_getaffinity
424 data8 sys32_set_thread_area
425 data8 sys32_get_thread_area
426 data8 compat_sys_io_setup /* 245 */
427 data8 sys_io_destroy
428 data8 compat_sys_io_getevents
429 data8 compat_sys_io_submit
430 data8 sys_io_cancel
431 data8 sys_fadvise64 /* 250 */
432 data8 sys_ni_syscall
433 data8 sys_exit_group
434 data8 sys_lookup_dcookie
435 data8 sys_epoll_create
436 data8 sys32_epoll_ctl /* 255 */
437 data8 sys32_epoll_wait
438 data8 sys_remap_file_pages
439 data8 sys_set_tid_address
440 data8 compat_sys_timer_create
441 data8 compat_sys_timer_settime /* 260 */
442 data8 compat_sys_timer_gettime
443 data8 sys_timer_getoverrun
444 data8 sys_timer_delete
445 data8 compat_sys_clock_settime
446 data8 compat_sys_clock_gettime /* 265 */
447 data8 compat_sys_clock_getres
448 data8 compat_sys_clock_nanosleep
449 data8 compat_sys_statfs64
450 data8 compat_sys_fstatfs64
451 data8 sys_tgkill /* 270 */
452 data8 compat_sys_utimes
453 data8 sys32_fadvise64_64
454 data8 sys_ni_syscall
455 data8 sys_ni_syscall
456 data8 sys_ni_syscall /* 275 */
457 data8 sys_ni_syscall
458 data8 compat_sys_mq_open
459 data8 sys_mq_unlink
460 data8 compat_sys_mq_timedsend
461 data8 compat_sys_mq_timedreceive /* 280 */
462 data8 compat_sys_mq_notify
463 data8 compat_sys_mq_getsetattr
464 data8 sys_ni_syscall /* reserved for kexec */
465 data8 compat_sys_waitid
466
467 // guard against failures to increase IA32_NR_syscalls
468 .org ia32_syscall_table + 8*IA32_NR_syscalls
diff --git a/arch/ia64/ia32/ia32_ldt.c b/arch/ia64/ia32/ia32_ldt.c
deleted file mode 100644
index 16d51c146849..000000000000
--- a/arch/ia64/ia32/ia32_ldt.c
+++ /dev/null
@@ -1,146 +0,0 @@
1/*
2 * Copyright (C) 2001, 2004 Hewlett-Packard Co
3 * David Mosberger-Tang <davidm@hpl.hp.com>
4 *
5 * Adapted from arch/i386/kernel/ldt.c
6 */
7
8#include <linux/errno.h>
9#include <linux/sched.h>
10#include <linux/string.h>
11#include <linux/mm.h>
12#include <linux/smp.h>
13#include <linux/vmalloc.h>
14
15#include <asm/uaccess.h>
16
17#include "ia32priv.h"
18
19/*
20 * read_ldt() is not really atomic - this is not a problem since synchronization of reads
21 * and writes done to the LDT has to be assured by user-space anyway. Writes are atomic,
22 * to protect the security checks done on new descriptors.
23 */
24static int
25read_ldt (void __user *ptr, unsigned long bytecount)
26{
27 unsigned long bytes_left, n;
28 char __user *src, *dst;
29 char buf[256]; /* temporary buffer (don't overflow kernel stack!) */
30
31 if (bytecount > IA32_LDT_ENTRIES*IA32_LDT_ENTRY_SIZE)
32 bytecount = IA32_LDT_ENTRIES*IA32_LDT_ENTRY_SIZE;
33
34 bytes_left = bytecount;
35
36 src = (void __user *) IA32_LDT_OFFSET;
37 dst = ptr;
38
39 while (bytes_left) {
40 n = sizeof(buf);
41 if (n > bytes_left)
42 n = bytes_left;
43
44 /*
45 * We know we're reading valid memory, but we still must guard against
46 * running out of memory.
47 */
48 if (__copy_from_user(buf, src, n))
49 return -EFAULT;
50
51 if (copy_to_user(dst, buf, n))
52 return -EFAULT;
53
54 src += n;
55 dst += n;
56 bytes_left -= n;
57 }
58 return bytecount;
59}
60
61static int
62read_default_ldt (void __user * ptr, unsigned long bytecount)
63{
64 unsigned long size;
65 int err;
66
67 /* XXX fix me: should return equivalent of default_ldt[0] */
68 err = 0;
69 size = 8;
70 if (size > bytecount)
71 size = bytecount;
72
73 err = size;
74 if (clear_user(ptr, size))
75 err = -EFAULT;
76
77 return err;
78}
79
80static int
81write_ldt (void __user * ptr, unsigned long bytecount, int oldmode)
82{
83 struct ia32_user_desc ldt_info;
84 __u64 entry;
85 int ret;
86
87 if (bytecount != sizeof(ldt_info))
88 return -EINVAL;
89 if (copy_from_user(&ldt_info, ptr, sizeof(ldt_info)))
90 return -EFAULT;
91
92 if (ldt_info.entry_number >= IA32_LDT_ENTRIES)
93 return -EINVAL;
94 if (ldt_info.contents == 3) {
95 if (oldmode)
96 return -EINVAL;
97 if (ldt_info.seg_not_present == 0)
98 return -EINVAL;
99 }
100
101 if (ldt_info.base_addr == 0 && ldt_info.limit == 0
102 && (oldmode || (ldt_info.contents == 0 && ldt_info.read_exec_only == 1
103 && ldt_info.seg_32bit == 0 && ldt_info.limit_in_pages == 0
104 && ldt_info.seg_not_present == 1 && ldt_info.useable == 0)))
105 /* allow LDTs to be cleared by the user */
106 entry = 0;
107 else
108 /* we must set the "Accessed" bit as IVE doesn't emulate it */
109 entry = IA32_SEG_DESCRIPTOR(ldt_info.base_addr, ldt_info.limit,
110 (((ldt_info.read_exec_only ^ 1) << 1)
111 | (ldt_info.contents << 2)) | 1,
112 1, 3, ldt_info.seg_not_present ^ 1,
113 (oldmode ? 0 : ldt_info.useable),
114 ldt_info.seg_32bit,
115 ldt_info.limit_in_pages);
116 /*
117 * Install the new entry. We know we're accessing valid (mapped) user-level
118 * memory, but we still need to guard against out-of-memory, hence we must use
119 * put_user().
120 */
121 ret = __put_user(entry, (__u64 __user *) IA32_LDT_OFFSET + ldt_info.entry_number);
122 ia32_load_segment_descriptors(current);
123 return ret;
124}
125
126asmlinkage int
127sys32_modify_ldt (int func, unsigned int ptr, unsigned int bytecount)
128{
129 int ret = -ENOSYS;
130
131 switch (func) {
132 case 0:
133 ret = read_ldt(compat_ptr(ptr), bytecount);
134 break;
135 case 1:
136 ret = write_ldt(compat_ptr(ptr), bytecount, 1);
137 break;
138 case 2:
139 ret = read_default_ldt(compat_ptr(ptr), bytecount);
140 break;
141 case 0x11:
142 ret = write_ldt(compat_ptr(ptr), bytecount, 0);
143 break;
144 }
145 return ret;
146}
diff --git a/arch/ia64/ia32/ia32_signal.c b/arch/ia64/ia32/ia32_signal.c
deleted file mode 100644
index b763ca19ef17..000000000000
--- a/arch/ia64/ia32/ia32_signal.c
+++ /dev/null
@@ -1,1010 +0,0 @@
1/*
2 * IA32 Architecture-specific signal handling support.
3 *
4 * Copyright (C) 1999, 2001-2002, 2005 Hewlett-Packard Co
5 * David Mosberger-Tang <davidm@hpl.hp.com>
6 * Copyright (C) 1999 Arun Sharma <arun.sharma@intel.com>
7 * Copyright (C) 2000 VA Linux Co
8 * Copyright (C) 2000 Don Dugger <n0ano@valinux.com>
9 *
10 * Derived from i386 and Alpha versions.
11 */
12
13#include <linux/errno.h>
14#include <linux/kernel.h>
15#include <linux/mm.h>
16#include <linux/personality.h>
17#include <linux/ptrace.h>
18#include <linux/sched.h>
19#include <linux/signal.h>
20#include <linux/smp.h>
21#include <linux/stddef.h>
22#include <linux/syscalls.h>
23#include <linux/unistd.h>
24#include <linux/wait.h>
25#include <linux/compat.h>
26
27#include <asm/intrinsics.h>
28#include <asm/uaccess.h>
29#include <asm/rse.h>
30#include <asm/sigcontext.h>
31
32#include "ia32priv.h"
33
34#include "../kernel/sigframe.h"
35
36#define A(__x) ((unsigned long)(__x))
37
38#define DEBUG_SIG 0
39#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
40
41#define __IA32_NR_sigreturn 119
42#define __IA32_NR_rt_sigreturn 173
43
44struct sigframe_ia32
45{
46 int pretcode;
47 int sig;
48 struct sigcontext_ia32 sc;
49 struct _fpstate_ia32 fpstate;
50 unsigned int extramask[_COMPAT_NSIG_WORDS-1];
51 char retcode[8];
52};
53
54struct rt_sigframe_ia32
55{
56 int pretcode;
57 int sig;
58 int pinfo;
59 int puc;
60 compat_siginfo_t info;
61 struct ucontext_ia32 uc;
62 struct _fpstate_ia32 fpstate;
63 char retcode[8];
64};
65
66int
67copy_siginfo_from_user32 (siginfo_t *to, compat_siginfo_t __user *from)
68{
69 unsigned long tmp;
70 int err;
71
72 if (!access_ok(VERIFY_READ, from, sizeof(compat_siginfo_t)))
73 return -EFAULT;
74
75 err = __get_user(to->si_signo, &from->si_signo);
76 err |= __get_user(to->si_errno, &from->si_errno);
77 err |= __get_user(to->si_code, &from->si_code);
78
79 if (to->si_code < 0)
80 err |= __copy_from_user(&to->_sifields._pad, &from->_sifields._pad, SI_PAD_SIZE);
81 else {
82 switch (to->si_code >> 16) {
83 case __SI_CHLD >> 16:
84 err |= __get_user(to->si_utime, &from->si_utime);
85 err |= __get_user(to->si_stime, &from->si_stime);
86 err |= __get_user(to->si_status, &from->si_status);
87 default:
88 err |= __get_user(to->si_pid, &from->si_pid);
89 err |= __get_user(to->si_uid, &from->si_uid);
90 break;
91 case __SI_FAULT >> 16:
92 err |= __get_user(tmp, &from->si_addr);
93 to->si_addr = (void __user *) tmp;
94 break;
95 case __SI_POLL >> 16:
96 err |= __get_user(to->si_band, &from->si_band);
97 err |= __get_user(to->si_fd, &from->si_fd);
98 break;
99 case __SI_RT >> 16: /* This is not generated by the kernel as of now. */
100 case __SI_MESGQ >> 16:
101 err |= __get_user(to->si_pid, &from->si_pid);
102 err |= __get_user(to->si_uid, &from->si_uid);
103 err |= __get_user(to->si_int, &from->si_int);
104 break;
105 }
106 }
107 return err;
108}
109
110int
111copy_siginfo_to_user32 (compat_siginfo_t __user *to, siginfo_t *from)
112{
113 unsigned int addr;
114 int err;
115
116 if (!access_ok(VERIFY_WRITE, to, sizeof(compat_siginfo_t)))
117 return -EFAULT;
118
119 /* If you change siginfo_t structure, please be sure
120 this code is fixed accordingly.
121 It should never copy any pad contained in the structure
122 to avoid security leaks, but must copy the generic
123 3 ints plus the relevant union member.
124 This routine must convert siginfo from 64bit to 32bit as well
125 at the same time. */
126 err = __put_user(from->si_signo, &to->si_signo);
127 err |= __put_user(from->si_errno, &to->si_errno);
128 err |= __put_user((short)from->si_code, &to->si_code);
129 if (from->si_code < 0)
130 err |= __copy_to_user(&to->_sifields._pad, &from->_sifields._pad, SI_PAD_SIZE);
131 else {
132 switch (from->si_code >> 16) {
133 case __SI_CHLD >> 16:
134 err |= __put_user(from->si_utime, &to->si_utime);
135 err |= __put_user(from->si_stime, &to->si_stime);
136 err |= __put_user(from->si_status, &to->si_status);
137 default:
138 err |= __put_user(from->si_pid, &to->si_pid);
139 err |= __put_user(from->si_uid, &to->si_uid);
140 break;
141 case __SI_FAULT >> 16:
142 /* avoid type-checking warnings by copying _pad[0] in lieu of si_addr... */
143 err |= __put_user(from->_sifields._pad[0], &to->si_addr);
144 break;
145 case __SI_POLL >> 16:
146 err |= __put_user(from->si_band, &to->si_band);
147 err |= __put_user(from->si_fd, &to->si_fd);
148 break;
149 case __SI_TIMER >> 16:
150 err |= __put_user(from->si_tid, &to->si_tid);
151 err |= __put_user(from->si_overrun, &to->si_overrun);
152 addr = (unsigned long) from->si_ptr;
153 err |= __put_user(addr, &to->si_ptr);
154 break;
155 case __SI_RT >> 16: /* Not generated by the kernel as of now. */
156 case __SI_MESGQ >> 16:
157 err |= __put_user(from->si_uid, &to->si_uid);
158 err |= __put_user(from->si_pid, &to->si_pid);
159 addr = (unsigned long) from->si_ptr;
160 err |= __put_user(addr, &to->si_ptr);
161 break;
162 }
163 }
164 return err;
165}
166
167
168/*
169 * SAVE and RESTORE of ia32 fpstate info, from ia64 current state
170 * Used in exception handler to pass the fpstate to the user, and restore
171 * the fpstate while returning from the exception handler.
172 *
173 * fpstate info and their mapping to IA64 regs:
174 * fpstate REG(BITS) Attribute Comments
175 * cw ar.fcr(0:12) with bits 7 and 6 not used
176 * sw ar.fsr(0:15)
177 * tag ar.fsr(16:31) with odd numbered bits not used
178 * (read returns 0, writes ignored)
179 * ipoff ar.fir(0:31)
180 * cssel ar.fir(32:47)
181 * dataoff ar.fdr(0:31)
182 * datasel ar.fdr(32:47)
183 *
184 * _st[(0+TOS)%8] f8
185 * _st[(1+TOS)%8] f9
186 * _st[(2+TOS)%8] f10
187 * _st[(3+TOS)%8] f11 (f8..f11 from ptregs)
188 * : : : (f12..f15 from live reg)
189 * : : :
190 * _st[(7+TOS)%8] f15 TOS=sw.top(bits11:13)
191 *
192 * status Same as sw RO
193 * magic 0 as X86_FXSR_MAGIC in ia32
194 * mxcsr Bits(7:15)=ar.fcr(39:47)
195 * Bits(0:5) =ar.fsr(32:37) with bit 6 reserved
196 * _xmm[0..7] f16..f31 (live registers)
197 * with _xmm[0]
198 * Bit(64:127)=f17(0:63)
199 * Bit(0:63)=f16(0:63)
200 * All other fields unused...
201 */
202
203static int
204save_ia32_fpstate_live (struct _fpstate_ia32 __user *save)
205{
206 struct task_struct *tsk = current;
207 struct pt_regs *ptp;
208 struct _fpreg_ia32 *fpregp;
209 char buf[32];
210 unsigned long fsr, fcr, fir, fdr;
211 unsigned long new_fsr;
212 unsigned long num128[2];
213 unsigned long mxcsr=0;
214 int fp_tos, fr8_st_map;
215
216 if (!access_ok(VERIFY_WRITE, save, sizeof(*save)))
217 return -EFAULT;
218
219 /* Read in fsr, fcr, fir, fdr and copy onto fpstate */
220 fsr = ia64_getreg(_IA64_REG_AR_FSR);
221 fcr = ia64_getreg(_IA64_REG_AR_FCR);
222 fir = ia64_getreg(_IA64_REG_AR_FIR);
223 fdr = ia64_getreg(_IA64_REG_AR_FDR);
224
225 /*
226 * We need to clear the exception state before calling the signal handler. Clear
227 * the bits 15, bits 0-7 in fp status word. Similar to the functionality of fnclex
228 * instruction.
229 */
230 new_fsr = fsr & ~0x80ff;
231 ia64_setreg(_IA64_REG_AR_FSR, new_fsr);
232
233 __put_user(fcr & 0xffff, &save->cw);
234 __put_user(fsr & 0xffff, &save->sw);
235 __put_user((fsr>>16) & 0xffff, &save->tag);
236 __put_user(fir, &save->ipoff);
237 __put_user((fir>>32) & 0xffff, &save->cssel);
238 __put_user(fdr, &save->dataoff);
239 __put_user((fdr>>32) & 0xffff, &save->datasel);
240 __put_user(fsr & 0xffff, &save->status);
241
242 mxcsr = ((fcr>>32) & 0xff80) | ((fsr>>32) & 0x3f);
243 __put_user(mxcsr & 0xffff, &save->mxcsr);
244 __put_user( 0, &save->magic); //#define X86_FXSR_MAGIC 0x0000
245
246 /*
247 * save f8..f11 from pt_regs
248 * save f12..f15 from live register set
249 */
250 /*
251 * Find the location where f8 has to go in fp reg stack. This depends on
252 * TOP(11:13) field of sw. Other f reg continue sequentially from where f8 maps
253 * to.
254 */
255 fp_tos = (fsr>>11)&0x7;
256 fr8_st_map = (8-fp_tos)&0x7;
257 ptp = task_pt_regs(tsk);
258 fpregp = (struct _fpreg_ia32 *)(((unsigned long)buf + 15) & ~15);
259 ia64f2ia32f(fpregp, &ptp->f8);
260 copy_to_user(&save->_st[(0+fr8_st_map)&0x7], fpregp, sizeof(struct _fpreg_ia32));
261 ia64f2ia32f(fpregp, &ptp->f9);
262 copy_to_user(&save->_st[(1+fr8_st_map)&0x7], fpregp, sizeof(struct _fpreg_ia32));
263 ia64f2ia32f(fpregp, &ptp->f10);
264 copy_to_user(&save->_st[(2+fr8_st_map)&0x7], fpregp, sizeof(struct _fpreg_ia32));
265 ia64f2ia32f(fpregp, &ptp->f11);
266 copy_to_user(&save->_st[(3+fr8_st_map)&0x7], fpregp, sizeof(struct _fpreg_ia32));
267
268 ia64_stfe(fpregp, 12);
269 copy_to_user(&save->_st[(4+fr8_st_map)&0x7], fpregp, sizeof(struct _fpreg_ia32));
270 ia64_stfe(fpregp, 13);
271 copy_to_user(&save->_st[(5+fr8_st_map)&0x7], fpregp, sizeof(struct _fpreg_ia32));
272 ia64_stfe(fpregp, 14);
273 copy_to_user(&save->_st[(6+fr8_st_map)&0x7], fpregp, sizeof(struct _fpreg_ia32));
274 ia64_stfe(fpregp, 15);
275 copy_to_user(&save->_st[(7+fr8_st_map)&0x7], fpregp, sizeof(struct _fpreg_ia32));
276
277 ia64_stf8(&num128[0], 16);
278 ia64_stf8(&num128[1], 17);
279 copy_to_user(&save->_xmm[0], num128, sizeof(struct _xmmreg_ia32));
280
281 ia64_stf8(&num128[0], 18);
282 ia64_stf8(&num128[1], 19);
283 copy_to_user(&save->_xmm[1], num128, sizeof(struct _xmmreg_ia32));
284
285 ia64_stf8(&num128[0], 20);
286 ia64_stf8(&num128[1], 21);
287 copy_to_user(&save->_xmm[2], num128, sizeof(struct _xmmreg_ia32));
288
289 ia64_stf8(&num128[0], 22);
290 ia64_stf8(&num128[1], 23);
291 copy_to_user(&save->_xmm[3], num128, sizeof(struct _xmmreg_ia32));
292
293 ia64_stf8(&num128[0], 24);
294 ia64_stf8(&num128[1], 25);
295 copy_to_user(&save->_xmm[4], num128, sizeof(struct _xmmreg_ia32));
296
297 ia64_stf8(&num128[0], 26);
298 ia64_stf8(&num128[1], 27);
299 copy_to_user(&save->_xmm[5], num128, sizeof(struct _xmmreg_ia32));
300
301 ia64_stf8(&num128[0], 28);
302 ia64_stf8(&num128[1], 29);
303 copy_to_user(&save->_xmm[6], num128, sizeof(struct _xmmreg_ia32));
304
305 ia64_stf8(&num128[0], 30);
306 ia64_stf8(&num128[1], 31);
307 copy_to_user(&save->_xmm[7], num128, sizeof(struct _xmmreg_ia32));
308 return 0;
309}
310
311static int
312restore_ia32_fpstate_live (struct _fpstate_ia32 __user *save)
313{
314 struct task_struct *tsk = current;
315 struct pt_regs *ptp;
316 unsigned int lo, hi;
317 unsigned long num128[2];
318 unsigned long num64, mxcsr;
319 struct _fpreg_ia32 *fpregp;
320 char buf[32];
321 unsigned long fsr, fcr, fir, fdr;
322 int fp_tos, fr8_st_map;
323
324 if (!access_ok(VERIFY_READ, save, sizeof(*save)))
325 return(-EFAULT);
326
327 /*
328 * Updating fsr, fcr, fir, fdr.
329 * Just a bit more complicated than save.
330 * - Need to make sure that we don't write any value other than the
331 * specific fpstate info
332 * - Need to make sure that the untouched part of frs, fdr, fir, fcr
333 * should remain same while writing.
334 * So, we do a read, change specific fields and write.
335 */
336 fsr = ia64_getreg(_IA64_REG_AR_FSR);
337 fcr = ia64_getreg(_IA64_REG_AR_FCR);
338 fir = ia64_getreg(_IA64_REG_AR_FIR);
339 fdr = ia64_getreg(_IA64_REG_AR_FDR);
340
341 __get_user(mxcsr, (unsigned int __user *)&save->mxcsr);
342 /* setting bits 0..5 8..12 with cw and 39..47 from mxcsr */
343 __get_user(lo, (unsigned int __user *)&save->cw);
344 num64 = mxcsr & 0xff10;
345 num64 = (num64 << 32) | (lo & 0x1f3f);
346 fcr = (fcr & (~0xff1000001f3fUL)) | num64;
347
348 /* setting bits 0..31 with sw and tag and 32..37 from mxcsr */
349 __get_user(lo, (unsigned int __user *)&save->sw);
350 /* set bits 15,7 (fsw.b, fsw.es) to reflect the current error status */
351 if ( !(lo & 0x7f) )
352 lo &= (~0x8080);
353 __get_user(hi, (unsigned int __user *)&save->tag);
354 num64 = mxcsr & 0x3f;
355 num64 = (num64 << 16) | (hi & 0xffff);
356 num64 = (num64 << 16) | (lo & 0xffff);
357 fsr = (fsr & (~0x3fffffffffUL)) | num64;
358
359 /* setting bits 0..47 with cssel and ipoff */
360 __get_user(lo, (unsigned int __user *)&save->ipoff);
361 __get_user(hi, (unsigned int __user *)&save->cssel);
362 num64 = hi & 0xffff;
363 num64 = (num64 << 32) | lo;
364 fir = (fir & (~0xffffffffffffUL)) | num64;
365
366 /* setting bits 0..47 with datasel and dataoff */
367 __get_user(lo, (unsigned int __user *)&save->dataoff);
368 __get_user(hi, (unsigned int __user *)&save->datasel);
369 num64 = hi & 0xffff;
370 num64 = (num64 << 32) | lo;
371 fdr = (fdr & (~0xffffffffffffUL)) | num64;
372
373 ia64_setreg(_IA64_REG_AR_FSR, fsr);
374 ia64_setreg(_IA64_REG_AR_FCR, fcr);
375 ia64_setreg(_IA64_REG_AR_FIR, fir);
376 ia64_setreg(_IA64_REG_AR_FDR, fdr);
377
378 /*
379 * restore f8..f11 onto pt_regs
380 * restore f12..f15 onto live registers
381 */
382 /*
383 * Find the location where f8 has to go in fp reg stack. This depends on
384 * TOP(11:13) field of sw. Other f reg continue sequentially from where f8 maps
385 * to.
386 */
387 fp_tos = (fsr>>11)&0x7;
388 fr8_st_map = (8-fp_tos)&0x7;
389 fpregp = (struct _fpreg_ia32 *)(((unsigned long)buf + 15) & ~15);
390
391 ptp = task_pt_regs(tsk);
392 copy_from_user(fpregp, &save->_st[(0+fr8_st_map)&0x7], sizeof(struct _fpreg_ia32));
393 ia32f2ia64f(&ptp->f8, fpregp);
394 copy_from_user(fpregp, &save->_st[(1+fr8_st_map)&0x7], sizeof(struct _fpreg_ia32));
395 ia32f2ia64f(&ptp->f9, fpregp);
396 copy_from_user(fpregp, &save->_st[(2+fr8_st_map)&0x7], sizeof(struct _fpreg_ia32));
397 ia32f2ia64f(&ptp->f10, fpregp);
398 copy_from_user(fpregp, &save->_st[(3+fr8_st_map)&0x7], sizeof(struct _fpreg_ia32));
399 ia32f2ia64f(&ptp->f11, fpregp);
400
401 copy_from_user(fpregp, &save->_st[(4+fr8_st_map)&0x7], sizeof(struct _fpreg_ia32));
402 ia64_ldfe(12, fpregp);
403 copy_from_user(fpregp, &save->_st[(5+fr8_st_map)&0x7], sizeof(struct _fpreg_ia32));
404 ia64_ldfe(13, fpregp);
405 copy_from_user(fpregp, &save->_st[(6+fr8_st_map)&0x7], sizeof(struct _fpreg_ia32));
406 ia64_ldfe(14, fpregp);
407 copy_from_user(fpregp, &save->_st[(7+fr8_st_map)&0x7], sizeof(struct _fpreg_ia32));
408 ia64_ldfe(15, fpregp);
409
410 copy_from_user(num128, &save->_xmm[0], sizeof(struct _xmmreg_ia32));
411 ia64_ldf8(16, &num128[0]);
412 ia64_ldf8(17, &num128[1]);
413
414 copy_from_user(num128, &save->_xmm[1], sizeof(struct _xmmreg_ia32));
415 ia64_ldf8(18, &num128[0]);
416 ia64_ldf8(19, &num128[1]);
417
418 copy_from_user(num128, &save->_xmm[2], sizeof(struct _xmmreg_ia32));
419 ia64_ldf8(20, &num128[0]);
420 ia64_ldf8(21, &num128[1]);
421
422 copy_from_user(num128, &save->_xmm[3], sizeof(struct _xmmreg_ia32));
423 ia64_ldf8(22, &num128[0]);
424 ia64_ldf8(23, &num128[1]);
425
426 copy_from_user(num128, &save->_xmm[4], sizeof(struct _xmmreg_ia32));
427 ia64_ldf8(24, &num128[0]);
428 ia64_ldf8(25, &num128[1]);
429
430 copy_from_user(num128, &save->_xmm[5], sizeof(struct _xmmreg_ia32));
431 ia64_ldf8(26, &num128[0]);
432 ia64_ldf8(27, &num128[1]);
433
434 copy_from_user(num128, &save->_xmm[6], sizeof(struct _xmmreg_ia32));
435 ia64_ldf8(28, &num128[0]);
436 ia64_ldf8(29, &num128[1]);
437
438 copy_from_user(num128, &save->_xmm[7], sizeof(struct _xmmreg_ia32));
439 ia64_ldf8(30, &num128[0]);
440 ia64_ldf8(31, &num128[1]);
441 return 0;
442}
443
444static inline void
445sigact_set_handler (struct k_sigaction *sa, unsigned int handler, unsigned int restorer)
446{
447 if (handler + 1 <= 2)
448 /* SIG_DFL, SIG_IGN, or SIG_ERR: must sign-extend to 64-bits */
449 sa->sa.sa_handler = (__sighandler_t) A((int) handler);
450 else
451 sa->sa.sa_handler = (__sighandler_t) (((unsigned long) restorer << 32) | handler);
452}
453
454asmlinkage long
455sys32_sigsuspend (int history0, int history1, old_sigset_t mask)
456{
457 mask &= _BLOCKABLE;
458 spin_lock_irq(&current->sighand->siglock);
459 current->saved_sigmask = current->blocked;
460 siginitset(&current->blocked, mask);
461 recalc_sigpending();
462 spin_unlock_irq(&current->sighand->siglock);
463
464 current->state = TASK_INTERRUPTIBLE;
465 schedule();
466 set_restore_sigmask();
467 return -ERESTARTNOHAND;
468}
469
470asmlinkage long
471sys32_signal (int sig, unsigned int handler)
472{
473 struct k_sigaction new_sa, old_sa;
474 int ret;
475
476 sigact_set_handler(&new_sa, handler, 0);
477 new_sa.sa.sa_flags = SA_ONESHOT | SA_NOMASK;
478 sigemptyset(&new_sa.sa.sa_mask);
479
480 ret = do_sigaction(sig, &new_sa, &old_sa);
481
482 return ret ? ret : IA32_SA_HANDLER(&old_sa);
483}
484
485asmlinkage long
486sys32_rt_sigaction (int sig, struct sigaction32 __user *act,
487 struct sigaction32 __user *oact, unsigned int sigsetsize)
488{
489 struct k_sigaction new_ka, old_ka;
490 unsigned int handler, restorer;
491 int ret;
492
493 /* XXX: Don't preclude handling different sized sigset_t's. */
494 if (sigsetsize != sizeof(compat_sigset_t))
495 return -EINVAL;
496
497 if (act) {
498 ret = get_user(handler, &act->sa_handler);
499 ret |= get_user(new_ka.sa.sa_flags, &act->sa_flags);
500 ret |= get_user(restorer, &act->sa_restorer);
501 ret |= copy_from_user(&new_ka.sa.sa_mask, &act->sa_mask, sizeof(compat_sigset_t));
502 if (ret)
503 return -EFAULT;
504
505 sigact_set_handler(&new_ka, handler, restorer);
506 }
507
508 ret = do_sigaction(sig, act ? &new_ka : NULL, oact ? &old_ka : NULL);
509
510 if (!ret && oact) {
511 ret = put_user(IA32_SA_HANDLER(&old_ka), &oact->sa_handler);
512 ret |= put_user(old_ka.sa.sa_flags, &oact->sa_flags);
513 ret |= put_user(IA32_SA_RESTORER(&old_ka), &oact->sa_restorer);
514 ret |= copy_to_user(&oact->sa_mask, &old_ka.sa.sa_mask, sizeof(compat_sigset_t));
515 }
516 return ret;
517}
518
519
520asmlinkage long
521sys32_rt_sigprocmask (int how, compat_sigset_t __user *set, compat_sigset_t __user *oset,
522 unsigned int sigsetsize)
523{
524 mm_segment_t old_fs = get_fs();
525 sigset_t s;
526 long ret;
527
528 if (sigsetsize > sizeof(s))
529 return -EINVAL;
530
531 if (set) {
532 memset(&s, 0, sizeof(s));
533 if (copy_from_user(&s.sig, set, sigsetsize))
534 return -EFAULT;
535 }
536 set_fs(KERNEL_DS);
537 ret = sys_rt_sigprocmask(how,
538 set ? (sigset_t __user *) &s : NULL,
539 oset ? (sigset_t __user *) &s : NULL, sizeof(s));
540 set_fs(old_fs);
541 if (ret)
542 return ret;
543 if (oset) {
544 if (copy_to_user(oset, &s.sig, sigsetsize))
545 return -EFAULT;
546 }
547 return 0;
548}
549
550asmlinkage long
551sys32_rt_sigqueueinfo (int pid, int sig, compat_siginfo_t __user *uinfo)
552{
553 mm_segment_t old_fs = get_fs();
554 siginfo_t info;
555 int ret;
556
557 if (copy_siginfo_from_user32(&info, uinfo))
558 return -EFAULT;
559 set_fs(KERNEL_DS);
560 ret = sys_rt_sigqueueinfo(pid, sig, (siginfo_t __user *) &info);
561 set_fs(old_fs);
562 return ret;
563}
564
565asmlinkage long
566sys32_sigaction (int sig, struct old_sigaction32 __user *act, struct old_sigaction32 __user *oact)
567{
568 struct k_sigaction new_ka, old_ka;
569 unsigned int handler, restorer;
570 int ret;
571
572 if (act) {
573 compat_old_sigset_t mask;
574
575 ret = get_user(handler, &act->sa_handler);
576 ret |= get_user(new_ka.sa.sa_flags, &act->sa_flags);
577 ret |= get_user(restorer, &act->sa_restorer);
578 ret |= get_user(mask, &act->sa_mask);
579 if (ret)
580 return ret;
581
582 sigact_set_handler(&new_ka, handler, restorer);
583 siginitset(&new_ka.sa.sa_mask, mask);
584 }
585
586 ret = do_sigaction(sig, act ? &new_ka : NULL, oact ? &old_ka : NULL);
587
588 if (!ret && oact) {
589 ret = put_user(IA32_SA_HANDLER(&old_ka), &oact->sa_handler);
590 ret |= put_user(old_ka.sa.sa_flags, &oact->sa_flags);
591 ret |= put_user(IA32_SA_RESTORER(&old_ka), &oact->sa_restorer);
592 ret |= put_user(old_ka.sa.sa_mask.sig[0], &oact->sa_mask);
593 }
594
595 return ret;
596}
597
598static int
599setup_sigcontext_ia32 (struct sigcontext_ia32 __user *sc, struct _fpstate_ia32 __user *fpstate,
600 struct pt_regs *regs, unsigned long mask)
601{
602 int err = 0;
603 unsigned long flag;
604
605 if (!access_ok(VERIFY_WRITE, sc, sizeof(*sc)))
606 return -EFAULT;
607
608 err |= __put_user((regs->r16 >> 32) & 0xffff, (unsigned int __user *)&sc->fs);
609 err |= __put_user((regs->r16 >> 48) & 0xffff, (unsigned int __user *)&sc->gs);
610 err |= __put_user((regs->r16 >> 16) & 0xffff, (unsigned int __user *)&sc->es);
611 err |= __put_user(regs->r16 & 0xffff, (unsigned int __user *)&sc->ds);
612 err |= __put_user(regs->r15, &sc->edi);
613 err |= __put_user(regs->r14, &sc->esi);
614 err |= __put_user(regs->r13, &sc->ebp);
615 err |= __put_user(regs->r12, &sc->esp);
616 err |= __put_user(regs->r11, &sc->ebx);
617 err |= __put_user(regs->r10, &sc->edx);
618 err |= __put_user(regs->r9, &sc->ecx);
619 err |= __put_user(regs->r8, &sc->eax);
620#if 0
621 err |= __put_user(current->tss.trap_no, &sc->trapno);
622 err |= __put_user(current->tss.error_code, &sc->err);
623#endif
624 err |= __put_user(regs->cr_iip, &sc->eip);
625 err |= __put_user(regs->r17 & 0xffff, (unsigned int __user *)&sc->cs);
626 /*
627 * `eflags' is in an ar register for this context
628 */
629 flag = ia64_getreg(_IA64_REG_AR_EFLAG);
630 err |= __put_user((unsigned int)flag, &sc->eflags);
631 err |= __put_user(regs->r12, &sc->esp_at_signal);
632 err |= __put_user((regs->r17 >> 16) & 0xffff, (unsigned int __user *)&sc->ss);
633
634 if ( save_ia32_fpstate_live(fpstate) < 0 )
635 err = -EFAULT;
636 else
637 err |= __put_user((u32)(u64)fpstate, &sc->fpstate);
638
639#if 0
640 tmp = save_i387(fpstate);
641 if (tmp < 0)
642 err = 1;
643 else
644 err |= __put_user(tmp ? fpstate : NULL, &sc->fpstate);
645
646 /* non-iBCS2 extensions.. */
647#endif
648 err |= __put_user(mask, &sc->oldmask);
649#if 0
650 err |= __put_user(current->tss.cr2, &sc->cr2);
651#endif
652 return err;
653}
654
655static int
656restore_sigcontext_ia32 (struct pt_regs *regs, struct sigcontext_ia32 __user *sc, int *peax)
657{
658 unsigned int err = 0;
659
660 /* Always make any pending restarted system calls return -EINTR */
661 current_thread_info()->restart_block.fn = do_no_restart_syscall;
662
663 if (!access_ok(VERIFY_READ, sc, sizeof(*sc)))
664 return(-EFAULT);
665
666#define COPY(ia64x, ia32x) err |= __get_user(regs->ia64x, &sc->ia32x)
667
668#define copyseg_gs(tmp) (regs->r16 |= (unsigned long) (tmp) << 48)
669#define copyseg_fs(tmp) (regs->r16 |= (unsigned long) (tmp) << 32)
670#define copyseg_cs(tmp) (regs->r17 |= tmp)
671#define copyseg_ss(tmp) (regs->r17 |= (unsigned long) (tmp) << 16)
672#define copyseg_es(tmp) (regs->r16 |= (unsigned long) (tmp) << 16)
673#define copyseg_ds(tmp) (regs->r16 |= tmp)
674
675#define COPY_SEG(seg) \
676 { \
677 unsigned short tmp; \
678 err |= __get_user(tmp, &sc->seg); \
679 copyseg_##seg(tmp); \
680 }
681#define COPY_SEG_STRICT(seg) \
682 { \
683 unsigned short tmp; \
684 err |= __get_user(tmp, &sc->seg); \
685 copyseg_##seg(tmp|3); \
686 }
687
688 /* To make COPY_SEGs easier, we zero r16, r17 */
689 regs->r16 = 0;
690 regs->r17 = 0;
691
692 COPY_SEG(gs);
693 COPY_SEG(fs);
694 COPY_SEG(es);
695 COPY_SEG(ds);
696 COPY(r15, edi);
697 COPY(r14, esi);
698 COPY(r13, ebp);
699 COPY(r12, esp);
700 COPY(r11, ebx);
701 COPY(r10, edx);
702 COPY(r9, ecx);
703 COPY(cr_iip, eip);
704 COPY_SEG_STRICT(cs);
705 COPY_SEG_STRICT(ss);
706 ia32_load_segment_descriptors(current);
707 {
708 unsigned int tmpflags;
709 unsigned long flag;
710
711 /*
712 * IA32 `eflags' is not part of `pt_regs', it's in an ar register which
713 * is part of the thread context. Fortunately, we are executing in the
714 * IA32 process's context.
715 */
716 err |= __get_user(tmpflags, &sc->eflags);
717 flag = ia64_getreg(_IA64_REG_AR_EFLAG);
718 flag &= ~0x40DD5;
719 flag |= (tmpflags & 0x40DD5);
720 ia64_setreg(_IA64_REG_AR_EFLAG, flag);
721
722 regs->r1 = -1; /* disable syscall checks, r1 is orig_eax */
723 }
724
725 {
726 struct _fpstate_ia32 __user *buf = NULL;
727 u32 fpstate_ptr;
728 err |= get_user(fpstate_ptr, &(sc->fpstate));
729 buf = compat_ptr(fpstate_ptr);
730 if (buf) {
731 err |= restore_ia32_fpstate_live(buf);
732 }
733 }
734
735#if 0
736 {
737 struct _fpstate * buf;
738 err |= __get_user(buf, &sc->fpstate);
739 if (buf) {
740 if (!access_ok(VERIFY_READ, buf, sizeof(*buf)))
741 goto badframe;
742 err |= restore_i387(buf);
743 }
744 }
745#endif
746
747 err |= __get_user(*peax, &sc->eax);
748 return err;
749
750#if 0
751 badframe:
752 return 1;
753#endif
754}
755
756/*
757 * Determine which stack to use..
758 */
759static inline void __user *
760get_sigframe (struct k_sigaction *ka, struct pt_regs * regs, size_t frame_size)
761{
762 unsigned long esp;
763
764 /* Default to using normal stack (truncate off sign-extension of bit 31: */
765 esp = (unsigned int) regs->r12;
766
767 /* This is the X/Open sanctioned signal stack switching. */
768 if (ka->sa.sa_flags & SA_ONSTACK) {
769 int onstack = sas_ss_flags(esp);
770
771 if (onstack == 0)
772 esp = current->sas_ss_sp + current->sas_ss_size;
773 else if (onstack == SS_ONSTACK) {
774 /*
775 * If we are on the alternate signal stack and would
776 * overflow it, don't. Return an always-bogus address
777 * instead so we will die with SIGSEGV.
778 */
779 if (!likely(on_sig_stack(esp - frame_size)))
780 return (void __user *) -1L;
781 }
782 }
783 /* Legacy stack switching not supported */
784
785 esp -= frame_size;
786 /* Align the stack pointer according to the i386 ABI,
787 * i.e. so that on function entry ((sp + 4) & 15) == 0. */
788 esp = ((esp + 4) & -16ul) - 4;
789 return (void __user *) esp;
790}
791
792static int
793setup_frame_ia32 (int sig, struct k_sigaction *ka, sigset_t *set, struct pt_regs * regs)
794{
795 struct exec_domain *ed = current_thread_info()->exec_domain;
796 struct sigframe_ia32 __user *frame;
797 int err = 0;
798
799 frame = get_sigframe(ka, regs, sizeof(*frame));
800
801 if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame)))
802 goto give_sigsegv;
803
804 err |= __put_user((ed && ed->signal_invmap && sig < 32
805 ? (int)(ed->signal_invmap[sig]) : sig), &frame->sig);
806
807 err |= setup_sigcontext_ia32(&frame->sc, &frame->fpstate, regs, set->sig[0]);
808
809 if (_COMPAT_NSIG_WORDS > 1)
810 err |= __copy_to_user(frame->extramask, (char *) &set->sig + 4,
811 sizeof(frame->extramask));
812
813 /* Set up to return from userspace. If provided, use a stub
814 already in userspace. */
815 if (ka->sa.sa_flags & SA_RESTORER) {
816 unsigned int restorer = IA32_SA_RESTORER(ka);
817 err |= __put_user(restorer, &frame->pretcode);
818 } else {
819 /* Pointing to restorer in ia32 gate page */
820 err |= __put_user(IA32_GATE_OFFSET, &frame->pretcode);
821 }
822
823 /* This is popl %eax ; movl $,%eax ; int $0x80
824 * and there for historical reasons only.
825 * See arch/i386/kernel/signal.c
826 */
827
828 err |= __put_user(0xb858, (short __user *)(frame->retcode+0));
829 err |= __put_user(__IA32_NR_sigreturn, (int __user *)(frame->retcode+2));
830 err |= __put_user(0x80cd, (short __user *)(frame->retcode+6));
831
832 if (err)
833 goto give_sigsegv;
834
835 /* Set up registers for signal handler */
836 regs->r12 = (unsigned long) frame;
837 regs->cr_iip = IA32_SA_HANDLER(ka);
838
839 set_fs(USER_DS);
840
841#if 0
842 regs->eflags &= ~TF_MASK;
843#endif
844
845#if 0
846 printk("SIG deliver (%s:%d): sig=%d sp=%p pc=%lx ra=%x\n",
847 current->comm, current->pid, sig, (void *) frame, regs->cr_iip, frame->pretcode);
848#endif
849
850 return 1;
851
852 give_sigsegv:
853 force_sigsegv(sig, current);
854 return 0;
855}
856
857static int
858setup_rt_frame_ia32 (int sig, struct k_sigaction *ka, siginfo_t *info,
859 sigset_t *set, struct pt_regs * regs)
860{
861 struct exec_domain *ed = current_thread_info()->exec_domain;
862 compat_uptr_t pinfo, puc;
863 struct rt_sigframe_ia32 __user *frame;
864 int err = 0;
865
866 frame = get_sigframe(ka, regs, sizeof(*frame));
867
868 if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame)))
869 goto give_sigsegv;
870
871 err |= __put_user((ed && ed->signal_invmap
872 && sig < 32 ? ed->signal_invmap[sig] : sig), &frame->sig);
873
874 pinfo = (long __user) &frame->info;
875 puc = (long __user) &frame->uc;
876 err |= __put_user(pinfo, &frame->pinfo);
877 err |= __put_user(puc, &frame->puc);
878 err |= copy_siginfo_to_user32(&frame->info, info);
879
880 /* Create the ucontext. */
881 err |= __put_user(0, &frame->uc.uc_flags);
882 err |= __put_user(0, &frame->uc.uc_link);
883 err |= __put_user(current->sas_ss_sp, &frame->uc.uc_stack.ss_sp);
884 err |= __put_user(sas_ss_flags(regs->r12), &frame->uc.uc_stack.ss_flags);
885 err |= __put_user(current->sas_ss_size, &frame->uc.uc_stack.ss_size);
886 err |= setup_sigcontext_ia32(&frame->uc.uc_mcontext, &frame->fpstate, regs, set->sig[0]);
887 err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set));
888 if (err)
889 goto give_sigsegv;
890
891 /* Set up to return from userspace. If provided, use a stub
892 already in userspace. */
893 if (ka->sa.sa_flags & SA_RESTORER) {
894 unsigned int restorer = IA32_SA_RESTORER(ka);
895 err |= __put_user(restorer, &frame->pretcode);
896 } else {
897 /* Pointing to rt_restorer in ia32 gate page */
898 err |= __put_user(IA32_GATE_OFFSET + 8, &frame->pretcode);
899 }
900
901 /* This is movl $,%eax ; int $0x80
902 * and there for historical reasons only.
903 * See arch/i386/kernel/signal.c
904 */
905
906 err |= __put_user(0xb8, (char __user *)(frame->retcode+0));
907 err |= __put_user(__IA32_NR_rt_sigreturn, (int __user *)(frame->retcode+1));
908 err |= __put_user(0x80cd, (short __user *)(frame->retcode+5));
909
910 if (err)
911 goto give_sigsegv;
912
913 /* Set up registers for signal handler */
914 regs->r12 = (unsigned long) frame;
915 regs->cr_iip = IA32_SA_HANDLER(ka);
916
917 set_fs(USER_DS);
918
919#if 0
920 regs->eflags &= ~TF_MASK;
921#endif
922
923#if 0
924 printk("SIG deliver (%s:%d): sp=%p pc=%lx ra=%x\n",
925 current->comm, current->pid, (void *) frame, regs->cr_iip, frame->pretcode);
926#endif
927
928 return 1;
929
930give_sigsegv:
931 force_sigsegv(sig, current);
932 return 0;
933}
934
935int
936ia32_setup_frame1 (int sig, struct k_sigaction *ka, siginfo_t *info,
937 sigset_t *set, struct pt_regs *regs)
938{
939 /* Set up the stack frame */
940 if (ka->sa.sa_flags & SA_SIGINFO)
941 return setup_rt_frame_ia32(sig, ka, info, set, regs);
942 else
943 return setup_frame_ia32(sig, ka, set, regs);
944}
945
946asmlinkage long
947sys32_sigreturn (int arg0, int arg1, int arg2, int arg3, int arg4, int arg5,
948 int arg6, int arg7, struct pt_regs regs)
949{
950 unsigned long esp = (unsigned int) regs.r12;
951 struct sigframe_ia32 __user *frame = (struct sigframe_ia32 __user *)(esp - 8);
952 sigset_t set;
953 int eax;
954
955 if (!access_ok(VERIFY_READ, frame, sizeof(*frame)))
956 goto badframe;
957
958 if (__get_user(set.sig[0], &frame->sc.oldmask)
959 || (_COMPAT_NSIG_WORDS > 1 && __copy_from_user((char *) &set.sig + 4, &frame->extramask,
960 sizeof(frame->extramask))))
961 goto badframe;
962
963 sigdelsetmask(&set, ~_BLOCKABLE);
964 spin_lock_irq(&current->sighand->siglock);
965 current->blocked = set;
966 recalc_sigpending();
967 spin_unlock_irq(&current->sighand->siglock);
968
969 if (restore_sigcontext_ia32(&regs, &frame->sc, &eax))
970 goto badframe;
971 return eax;
972
973 badframe:
974 force_sig(SIGSEGV, current);
975 return 0;
976}
977
978asmlinkage long
979sys32_rt_sigreturn (int arg0, int arg1, int arg2, int arg3, int arg4,
980 int arg5, int arg6, int arg7, struct pt_regs regs)
981{
982 unsigned long esp = (unsigned int) regs.r12;
983 struct rt_sigframe_ia32 __user *frame = (struct rt_sigframe_ia32 __user *)(esp - 4);
984 sigset_t set;
985 int eax;
986
987 if (!access_ok(VERIFY_READ, frame, sizeof(*frame)))
988 goto badframe;
989 if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set)))
990 goto badframe;
991
992 sigdelsetmask(&set, ~_BLOCKABLE);
993 spin_lock_irq(&current->sighand->siglock);
994 current->blocked = set;
995 recalc_sigpending();
996 spin_unlock_irq(&current->sighand->siglock);
997
998 if (restore_sigcontext_ia32(&regs, &frame->uc.uc_mcontext, &eax))
999 goto badframe;
1000
1001 /* It is more difficult to avoid calling this function than to
1002 call it and ignore errors. */
1003 do_sigaltstack((stack_t __user *) &frame->uc.uc_stack, NULL, esp);
1004
1005 return eax;
1006
1007 badframe:
1008 force_sig(SIGSEGV, current);
1009 return 0;
1010}
diff --git a/arch/ia64/ia32/ia32_support.c b/arch/ia64/ia32/ia32_support.c
deleted file mode 100644
index a6965ddafc46..000000000000
--- a/arch/ia64/ia32/ia32_support.c
+++ /dev/null
@@ -1,253 +0,0 @@
1/*
2 * IA32 helper functions
3 *
4 * Copyright (C) 1999 Arun Sharma <arun.sharma@intel.com>
5 * Copyright (C) 2000 Asit K. Mallick <asit.k.mallick@intel.com>
6 * Copyright (C) 2001-2002 Hewlett-Packard Co
7 * David Mosberger-Tang <davidm@hpl.hp.com>
8 *
9 * 06/16/00 A. Mallick added csd/ssd/tssd for ia32 thread context
10 * 02/19/01 D. Mosberger dropped tssd; it's not needed
11 * 09/14/01 D. Mosberger fixed memory management for gdt/tss page
12 * 09/29/01 D. Mosberger added ia32_load_segment_descriptors()
13 */
14
15#include <linux/kernel.h>
16#include <linux/init.h>
17#include <linux/mm.h>
18#include <linux/sched.h>
19
20#include <asm/intrinsics.h>
21#include <asm/page.h>
22#include <asm/pgtable.h>
23#include <asm/system.h>
24#include <asm/processor.h>
25#include <asm/uaccess.h>
26
27#include "ia32priv.h"
28
29extern int die_if_kernel (char *str, struct pt_regs *regs, long err);
30
31struct page *ia32_shared_page[NR_CPUS];
32unsigned long *ia32_boot_gdt;
33unsigned long *cpu_gdt_table[NR_CPUS];
34struct page *ia32_gate_page;
35
36static unsigned long
37load_desc (u16 selector)
38{
39 unsigned long *table, limit, index;
40
41 if (!selector)
42 return 0;
43 if (selector & IA32_SEGSEL_TI) {
44 table = (unsigned long *) IA32_LDT_OFFSET;
45 limit = IA32_LDT_ENTRIES;
46 } else {
47 table = cpu_gdt_table[smp_processor_id()];
48 limit = IA32_PAGE_SIZE / sizeof(ia32_boot_gdt[0]);
49 }
50 index = selector >> IA32_SEGSEL_INDEX_SHIFT;
51 if (index >= limit)
52 return 0;
53 return IA32_SEG_UNSCRAMBLE(table[index]);
54}
55
56void
57ia32_load_segment_descriptors (struct task_struct *task)
58{
59 struct pt_regs *regs = task_pt_regs(task);
60
61 /* Setup the segment descriptors */
62 regs->r24 = load_desc(regs->r16 >> 16); /* ESD */
63 regs->r27 = load_desc(regs->r16 >> 0); /* DSD */
64 regs->r28 = load_desc(regs->r16 >> 32); /* FSD */
65 regs->r29 = load_desc(regs->r16 >> 48); /* GSD */
66 regs->ar_csd = load_desc(regs->r17 >> 0); /* CSD */
67 regs->ar_ssd = load_desc(regs->r17 >> 16); /* SSD */
68}
69
70int
71ia32_clone_tls (struct task_struct *child, struct pt_regs *childregs)
72{
73 struct desc_struct *desc;
74 struct ia32_user_desc info;
75 int idx;
76
77 if (copy_from_user(&info, (void __user *)(childregs->r14 & 0xffffffff), sizeof(info)))
78 return -EFAULT;
79 if (LDT_empty(&info))
80 return -EINVAL;
81
82 idx = info.entry_number;
83 if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX)
84 return -EINVAL;
85
86 desc = child->thread.tls_array + idx - GDT_ENTRY_TLS_MIN;
87 desc->a = LDT_entry_a(&info);
88 desc->b = LDT_entry_b(&info);
89
90 /* XXX: can this be done in a cleaner way ? */
91 load_TLS(&child->thread, smp_processor_id());
92 ia32_load_segment_descriptors(child);
93 load_TLS(&current->thread, smp_processor_id());
94
95 return 0;
96}
97
98void
99ia32_save_state (struct task_struct *t)
100{
101 t->thread.eflag = ia64_getreg(_IA64_REG_AR_EFLAG);
102 t->thread.fsr = ia64_getreg(_IA64_REG_AR_FSR);
103 t->thread.fcr = ia64_getreg(_IA64_REG_AR_FCR);
104 t->thread.fir = ia64_getreg(_IA64_REG_AR_FIR);
105 t->thread.fdr = ia64_getreg(_IA64_REG_AR_FDR);
106 ia64_set_kr(IA64_KR_IO_BASE, t->thread.old_iob);
107 ia64_set_kr(IA64_KR_TSSD, t->thread.old_k1);
108}
109
110void
111ia32_load_state (struct task_struct *t)
112{
113 unsigned long eflag, fsr, fcr, fir, fdr, tssd;
114 struct pt_regs *regs = task_pt_regs(t);
115
116 eflag = t->thread.eflag;
117 fsr = t->thread.fsr;
118 fcr = t->thread.fcr;
119 fir = t->thread.fir;
120 fdr = t->thread.fdr;
121 tssd = load_desc(_TSS); /* TSSD */
122
123 ia64_setreg(_IA64_REG_AR_EFLAG, eflag);
124 ia64_setreg(_IA64_REG_AR_FSR, fsr);
125 ia64_setreg(_IA64_REG_AR_FCR, fcr);
126 ia64_setreg(_IA64_REG_AR_FIR, fir);
127 ia64_setreg(_IA64_REG_AR_FDR, fdr);
128 current->thread.old_iob = ia64_get_kr(IA64_KR_IO_BASE);
129 current->thread.old_k1 = ia64_get_kr(IA64_KR_TSSD);
130 ia64_set_kr(IA64_KR_IO_BASE, IA32_IOBASE);
131 ia64_set_kr(IA64_KR_TSSD, tssd);
132
133 regs->r17 = (_TSS << 48) | (_LDT << 32) | (__u32) regs->r17;
134 regs->r30 = load_desc(_LDT); /* LDTD */
135 load_TLS(&t->thread, smp_processor_id());
136}
137
138/*
139 * Setup IA32 GDT and TSS
140 */
141void
142ia32_gdt_init (void)
143{
144 int cpu = smp_processor_id();
145
146 ia32_shared_page[cpu] = alloc_page(GFP_KERNEL);
147 if (!ia32_shared_page[cpu])
148 panic("failed to allocate ia32_shared_page[%d]\n", cpu);
149
150 cpu_gdt_table[cpu] = page_address(ia32_shared_page[cpu]);
151
152 /* Copy from the boot cpu's GDT */
153 memcpy(cpu_gdt_table[cpu], ia32_boot_gdt, PAGE_SIZE);
154}
155
156
157/*
158 * Setup IA32 GDT and TSS
159 */
160static void
161ia32_boot_gdt_init (void)
162{
163 unsigned long ldt_size;
164
165 ia32_shared_page[0] = alloc_page(GFP_KERNEL);
166 if (!ia32_shared_page[0])
167 panic("failed to allocate ia32_shared_page[0]\n");
168
169 ia32_boot_gdt = page_address(ia32_shared_page[0]);
170 cpu_gdt_table[0] = ia32_boot_gdt;
171
172 /* CS descriptor in IA-32 (scrambled) format */
173 ia32_boot_gdt[__USER_CS >> 3]
174 = IA32_SEG_DESCRIPTOR(0, (IA32_GATE_END-1) >> IA32_PAGE_SHIFT,
175 0xb, 1, 3, 1, 1, 1, 1);
176
177 /* DS descriptor in IA-32 (scrambled) format */
178 ia32_boot_gdt[__USER_DS >> 3]
179 = IA32_SEG_DESCRIPTOR(0, (IA32_GATE_END-1) >> IA32_PAGE_SHIFT,
180 0x3, 1, 3, 1, 1, 1, 1);
181
182 ldt_size = PAGE_ALIGN(IA32_LDT_ENTRIES*IA32_LDT_ENTRY_SIZE);
183 ia32_boot_gdt[TSS_ENTRY] = IA32_SEG_DESCRIPTOR(IA32_TSS_OFFSET, 235,
184 0xb, 0, 3, 1, 1, 1, 0);
185 ia32_boot_gdt[LDT_ENTRY] = IA32_SEG_DESCRIPTOR(IA32_LDT_OFFSET, ldt_size - 1,
186 0x2, 0, 3, 1, 1, 1, 0);
187}
188
189static void
190ia32_gate_page_init(void)
191{
192 unsigned long *sr;
193
194 ia32_gate_page = alloc_page(GFP_KERNEL);
195 sr = page_address(ia32_gate_page);
196 /* This is popl %eax ; movl $,%eax ; int $0x80 */
197 *sr++ = 0xb858 | (__IA32_NR_sigreturn << 16) | (0x80cdUL << 48);
198
199 /* This is movl $,%eax ; int $0x80 */
200 *sr = 0xb8 | (__IA32_NR_rt_sigreturn << 8) | (0x80cdUL << 40);
201}
202
203void
204ia32_mem_init(void)
205{
206 ia32_boot_gdt_init();
207 ia32_gate_page_init();
208}
209
210/*
211 * Handle bad IA32 interrupt via syscall
212 */
213void
214ia32_bad_interrupt (unsigned long int_num, struct pt_regs *regs)
215{
216 siginfo_t siginfo;
217
218 if (die_if_kernel("Bad IA-32 interrupt", regs, int_num))
219 return;
220
221 siginfo.si_signo = SIGTRAP;
222 siginfo.si_errno = int_num; /* XXX is it OK to abuse si_errno like this? */
223 siginfo.si_flags = 0;
224 siginfo.si_isr = 0;
225 siginfo.si_addr = NULL;
226 siginfo.si_imm = 0;
227 siginfo.si_code = TRAP_BRKPT;
228 force_sig_info(SIGTRAP, &siginfo, current);
229}
230
231void
232ia32_cpu_init (void)
233{
234 /* initialize global ia32 state - CR0 and CR4 */
235 ia64_setreg(_IA64_REG_AR_CFLAG, (((ulong) IA32_CR4 << 32) | IA32_CR0));
236}
237
238static int __init
239ia32_init (void)
240{
241#if PAGE_SHIFT > IA32_PAGE_SHIFT
242 {
243 extern struct kmem_cache *ia64_partial_page_cachep;
244
245 ia64_partial_page_cachep = kmem_cache_create("ia64_partial_page_cache",
246 sizeof(struct ia64_partial_page),
247 0, SLAB_PANIC, NULL);
248 }
249#endif
250 return 0;
251}
252
253__initcall(ia32_init);
diff --git a/arch/ia64/ia32/ia32_traps.c b/arch/ia64/ia32/ia32_traps.c
deleted file mode 100644
index e486042672f1..000000000000
--- a/arch/ia64/ia32/ia32_traps.c
+++ /dev/null
@@ -1,156 +0,0 @@
1/*
2 * IA-32 exception handlers
3 *
4 * Copyright (C) 2000 Asit K. Mallick <asit.k.mallick@intel.com>
5 * Copyright (C) 2001-2002 Hewlett-Packard Co
6 * David Mosberger-Tang <davidm@hpl.hp.com>
7 *
8 * 06/16/00 A. Mallick added siginfo for most cases (close to IA32)
9 * 09/29/00 D. Mosberger added ia32_intercept()
10 */
11
12#include <linux/kernel.h>
13#include <linux/sched.h>
14
15#include "ia32priv.h"
16
17#include <asm/intrinsics.h>
18#include <asm/ptrace.h>
19
20int
21ia32_intercept (struct pt_regs *regs, unsigned long isr)
22{
23 switch ((isr >> 16) & 0xff) {
24 case 0: /* Instruction intercept fault */
25 case 4: /* Locked Data reference fault */
26 case 1: /* Gate intercept trap */
27 return -1;
28
29 case 2: /* System flag trap */
30 if (((isr >> 14) & 0x3) >= 2) {
31 /* MOV SS, POP SS instructions */
32 ia64_psr(regs)->id = 1;
33 return 0;
34 } else
35 return -1;
36 }
37 return -1;
38}
39
40int
41ia32_exception (struct pt_regs *regs, unsigned long isr)
42{
43 struct siginfo siginfo;
44
45 /* initialize these fields to avoid leaking kernel bits to user space: */
46 siginfo.si_errno = 0;
47 siginfo.si_flags = 0;
48 siginfo.si_isr = 0;
49 siginfo.si_imm = 0;
50 switch ((isr >> 16) & 0xff) {
51 case 1:
52 case 2:
53 siginfo.si_signo = SIGTRAP;
54 if (isr == 0)
55 siginfo.si_code = TRAP_TRACE;
56 else if (isr & 0x4)
57 siginfo.si_code = TRAP_BRANCH;
58 else
59 siginfo.si_code = TRAP_BRKPT;
60 break;
61
62 case 3:
63 siginfo.si_signo = SIGTRAP;
64 siginfo.si_code = TRAP_BRKPT;
65 break;
66
67 case 0: /* Divide fault */
68 siginfo.si_signo = SIGFPE;
69 siginfo.si_code = FPE_INTDIV;
70 break;
71
72 case 4: /* Overflow */
73 case 5: /* Bounds fault */
74 siginfo.si_signo = SIGFPE;
75 siginfo.si_code = 0;
76 break;
77
78 case 6: /* Invalid Op-code */
79 siginfo.si_signo = SIGILL;
80 siginfo.si_code = ILL_ILLOPN;
81 break;
82
83 case 7: /* FP DNA */
84 case 8: /* Double Fault */
85 case 9: /* Invalid TSS */
86 case 11: /* Segment not present */
87 case 12: /* Stack fault */
88 case 13: /* General Protection Fault */
89 siginfo.si_signo = SIGSEGV;
90 siginfo.si_code = 0;
91 break;
92
93 case 16: /* Pending FP error */
94 {
95 unsigned long fsr, fcr;
96
97 fsr = ia64_getreg(_IA64_REG_AR_FSR);
98 fcr = ia64_getreg(_IA64_REG_AR_FCR);
99
100 siginfo.si_signo = SIGFPE;
101 /*
102 * (~cwd & swd) will mask out exceptions that are not set to unmasked
103 * status. 0x3f is the exception bits in these regs, 0x200 is the
104 * C1 reg you need in case of a stack fault, 0x040 is the stack
105 * fault bit. We should only be taking one exception at a time,
106 * so if this combination doesn't produce any single exception,
107 * then we have a bad program that isn't synchronizing its FPU usage
108 * and it will suffer the consequences since we won't be able to
109 * fully reproduce the context of the exception
110 */
111 siginfo.si_isr = isr;
112 siginfo.si_flags = __ISR_VALID;
113 switch(((~fcr) & (fsr & 0x3f)) | (fsr & 0x240)) {
114 case 0x000:
115 default:
116 siginfo.si_code = 0;
117 break;
118 case 0x001: /* Invalid Op */
119 case 0x040: /* Stack Fault */
120 case 0x240: /* Stack Fault | Direction */
121 siginfo.si_code = FPE_FLTINV;
122 break;
123 case 0x002: /* Denormalize */
124 case 0x010: /* Underflow */
125 siginfo.si_code = FPE_FLTUND;
126 break;
127 case 0x004: /* Zero Divide */
128 siginfo.si_code = FPE_FLTDIV;
129 break;
130 case 0x008: /* Overflow */
131 siginfo.si_code = FPE_FLTOVF;
132 break;
133 case 0x020: /* Precision */
134 siginfo.si_code = FPE_FLTRES;
135 break;
136 }
137
138 break;
139 }
140
141 case 17: /* Alignment check */
142 siginfo.si_signo = SIGSEGV;
143 siginfo.si_code = BUS_ADRALN;
144 break;
145
146 case 19: /* SSE Numeric error */
147 siginfo.si_signo = SIGFPE;
148 siginfo.si_code = 0;
149 break;
150
151 default:
152 return -1;
153 }
154 force_sig_info(siginfo.si_signo, &siginfo, current);
155 return 0;
156}
diff --git a/arch/ia64/ia32/ia32priv.h b/arch/ia64/ia32/ia32priv.h
deleted file mode 100644
index 0f15349c3c6b..000000000000
--- a/arch/ia64/ia32/ia32priv.h
+++ /dev/null
@@ -1,532 +0,0 @@
1#ifndef _ASM_IA64_IA32_PRIV_H
2#define _ASM_IA64_IA32_PRIV_H
3
4
5#include <asm/ia32.h>
6
7#ifdef CONFIG_IA32_SUPPORT
8
9#include <linux/binfmts.h>
10#include <linux/compat.h>
11#include <linux/rbtree.h>
12
13#include <asm/processor.h>
14
15/*
16 * 32 bit structures for IA32 support.
17 */
18
19#define IA32_PAGE_SIZE (1UL << IA32_PAGE_SHIFT)
20#define IA32_PAGE_MASK (~(IA32_PAGE_SIZE - 1))
21#define IA32_PAGE_ALIGN(addr) (((addr) + IA32_PAGE_SIZE - 1) & IA32_PAGE_MASK)
22#define IA32_CLOCKS_PER_SEC 100 /* Cast in stone for IA32 Linux */
23
24/*
25 * partially mapped pages provide precise accounting of which 4k sub pages
26 * are mapped and which ones are not, thereby improving IA-32 compatibility.
27 */
28struct ia64_partial_page {
29 struct ia64_partial_page *next; /* linked list, sorted by address */
30 struct rb_node pp_rb;
31 /* 64K is the largest "normal" page supported by ia64 ABI. So 4K*64
32 * should suffice.*/
33 unsigned long bitmap;
34 unsigned int base;
35};
36
37struct ia64_partial_page_list {
38 struct ia64_partial_page *pp_head; /* list head, points to the lowest
39 * addressed partial page */
40 struct rb_root ppl_rb;
41 struct ia64_partial_page *pp_hint; /* pp_hint->next is the last
42 * accessed partial page */
43 atomic_t pp_count; /* reference count */
44};
45
46#if PAGE_SHIFT > IA32_PAGE_SHIFT
47struct ia64_partial_page_list* ia32_init_pp_list (void);
48#else
49# define ia32_init_pp_list() 0
50#endif
51
52/* sigcontext.h */
53/*
54 * As documented in the iBCS2 standard..
55 *
56 * The first part of "struct _fpstate" is just the
57 * normal i387 hardware setup, the extra "status"
58 * word is used to save the coprocessor status word
59 * before entering the handler.
60 */
61struct _fpreg_ia32 {
62 unsigned short significand[4];
63 unsigned short exponent;
64};
65
66struct _fpxreg_ia32 {
67 unsigned short significand[4];
68 unsigned short exponent;
69 unsigned short padding[3];
70};
71
72struct _xmmreg_ia32 {
73 unsigned int element[4];
74};
75
76
77struct _fpstate_ia32 {
78 unsigned int cw,
79 sw,
80 tag,
81 ipoff,
82 cssel,
83 dataoff,
84 datasel;
85 struct _fpreg_ia32 _st[8];
86 unsigned short status;
87 unsigned short magic; /* 0xffff = regular FPU data only */
88
89 /* FXSR FPU environment */
90 unsigned int _fxsr_env[6]; /* FXSR FPU env is ignored */
91 unsigned int mxcsr;
92 unsigned int reserved;
93 struct _fpxreg_ia32 _fxsr_st[8]; /* FXSR FPU reg data is ignored */
94 struct _xmmreg_ia32 _xmm[8];
95 unsigned int padding[56];
96};
97
98struct sigcontext_ia32 {
99 unsigned short gs, __gsh;
100 unsigned short fs, __fsh;
101 unsigned short es, __esh;
102 unsigned short ds, __dsh;
103 unsigned int edi;
104 unsigned int esi;
105 unsigned int ebp;
106 unsigned int esp;
107 unsigned int ebx;
108 unsigned int edx;
109 unsigned int ecx;
110 unsigned int eax;
111 unsigned int trapno;
112 unsigned int err;
113 unsigned int eip;
114 unsigned short cs, __csh;
115 unsigned int eflags;
116 unsigned int esp_at_signal;
117 unsigned short ss, __ssh;
118 unsigned int fpstate; /* really (struct _fpstate_ia32 *) */
119 unsigned int oldmask;
120 unsigned int cr2;
121};
122
123/* user.h */
124/*
125 * IA32 (Pentium III/4) FXSR, SSE support
126 *
127 * Provide support for the GDB 5.0+ PTRACE_{GET|SET}FPXREGS requests for
128 * interacting with the FXSR-format floating point environment. Floating
129 * point data can be accessed in the regular format in the usual manner,
130 * and both the standard and SIMD floating point data can be accessed via
131 * the new ptrace requests. In either case, changes to the FPU environment
132 * will be reflected in the task's state as expected.
133 */
134struct ia32_user_i387_struct {
135 int cwd;
136 int swd;
137 int twd;
138 int fip;
139 int fcs;
140 int foo;
141 int fos;
142 /* 8*10 bytes for each FP-reg = 80 bytes */
143 struct _fpreg_ia32 st_space[8];
144};
145
146struct ia32_user_fxsr_struct {
147 unsigned short cwd;
148 unsigned short swd;
149 unsigned short twd;
150 unsigned short fop;
151 int fip;
152 int fcs;
153 int foo;
154 int fos;
155 int mxcsr;
156 int reserved;
157 int st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */
158 int xmm_space[32]; /* 8*16 bytes for each XMM-reg = 128 bytes */
159 int padding[56];
160};
161
162/* signal.h */
163#define IA32_SET_SA_HANDLER(ka,handler,restorer) \
164 ((ka)->sa.sa_handler = (__sighandler_t) \
165 (((unsigned long)(restorer) << 32) \
166 | ((handler) & 0xffffffff)))
167#define IA32_SA_HANDLER(ka) ((unsigned long) (ka)->sa.sa_handler & 0xffffffff)
168#define IA32_SA_RESTORER(ka) ((unsigned long) (ka)->sa.sa_handler >> 32)
169
170#define __IA32_NR_sigreturn 119
171#define __IA32_NR_rt_sigreturn 173
172
173struct sigaction32 {
174 unsigned int sa_handler; /* Really a pointer, but need to deal with 32 bits */
175 unsigned int sa_flags;
176 unsigned int sa_restorer; /* Another 32 bit pointer */
177 compat_sigset_t sa_mask; /* A 32 bit mask */
178};
179
180struct old_sigaction32 {
181 unsigned int sa_handler; /* Really a pointer, but need to deal
182 with 32 bits */
183 compat_old_sigset_t sa_mask; /* A 32 bit mask */
184 unsigned int sa_flags;
185 unsigned int sa_restorer; /* Another 32 bit pointer */
186};
187
188typedef struct sigaltstack_ia32 {
189 unsigned int ss_sp;
190 int ss_flags;
191 unsigned int ss_size;
192} stack_ia32_t;
193
194struct ucontext_ia32 {
195 unsigned int uc_flags;
196 unsigned int uc_link;
197 stack_ia32_t uc_stack;
198 struct sigcontext_ia32 uc_mcontext;
199 sigset_t uc_sigmask; /* mask last for extensibility */
200};
201
202struct stat64 {
203 unsigned long long st_dev;
204 unsigned char __pad0[4];
205 unsigned int __st_ino;
206 unsigned int st_mode;
207 unsigned int st_nlink;
208 unsigned int st_uid;
209 unsigned int st_gid;
210 unsigned long long st_rdev;
211 unsigned char __pad3[4];
212 unsigned int st_size_lo;
213 unsigned int st_size_hi;
214 unsigned int st_blksize;
215 unsigned int st_blocks; /* Number 512-byte blocks allocated. */
216 unsigned int __pad4; /* future possible st_blocks high bits */
217 unsigned int st_atime;
218 unsigned int st_atime_nsec;
219 unsigned int st_mtime;
220 unsigned int st_mtime_nsec;
221 unsigned int st_ctime;
222 unsigned int st_ctime_nsec;
223 unsigned int st_ino_lo;
224 unsigned int st_ino_hi;
225};
226
227typedef struct compat_siginfo {
228 int si_signo;
229 int si_errno;
230 int si_code;
231
232 union {
233 int _pad[((128/sizeof(int)) - 3)];
234
235 /* kill() */
236 struct {
237 unsigned int _pid; /* sender's pid */
238 unsigned int _uid; /* sender's uid */
239 } _kill;
240
241 /* POSIX.1b timers */
242 struct {
243 compat_timer_t _tid; /* timer id */
244 int _overrun; /* overrun count */
245 char _pad[sizeof(unsigned int) - sizeof(int)];
246 compat_sigval_t _sigval; /* same as below */
247 int _sys_private; /* not to be passed to user */
248 } _timer;
249
250 /* POSIX.1b signals */
251 struct {
252 unsigned int _pid; /* sender's pid */
253 unsigned int _uid; /* sender's uid */
254 compat_sigval_t _sigval;
255 } _rt;
256
257 /* SIGCHLD */
258 struct {
259 unsigned int _pid; /* which child */
260 unsigned int _uid; /* sender's uid */
261 int _status; /* exit code */
262 compat_clock_t _utime;
263 compat_clock_t _stime;
264 } _sigchld;
265
266 /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */
267 struct {
268 unsigned int _addr; /* faulting insn/memory ref. */
269 } _sigfault;
270
271 /* SIGPOLL */
272 struct {
273 int _band; /* POLL_IN, POLL_OUT, POLL_MSG */
274 int _fd;
275 } _sigpoll;
276 } _sifields;
277} compat_siginfo_t;
278
279/*
280 * IA-32 ELF specific definitions for IA-64.
281 */
282
283#define _ASM_IA64_ELF_H /* Don't include elf.h */
284
285#include <linux/sched.h>
286
287/*
288 * This is used to ensure we don't load something for the wrong architecture.
289 */
290#define elf_check_arch(x) ((x)->e_machine == EM_386)
291
292/*
293 * These are used to set parameters in the core dumps.
294 */
295#define ELF_CLASS ELFCLASS32
296#define ELF_DATA ELFDATA2LSB
297#define ELF_ARCH EM_386
298
299#define IA32_STACK_TOP IA32_PAGE_OFFSET
300#define IA32_GATE_OFFSET IA32_PAGE_OFFSET
301#define IA32_GATE_END IA32_PAGE_OFFSET + PAGE_SIZE
302
303/*
304 * The system segments (GDT, TSS, LDT) have to be mapped below 4GB so the IA-32 engine can
305 * access them.
306 */
307#define IA32_GDT_OFFSET (IA32_PAGE_OFFSET + PAGE_SIZE)
308#define IA32_TSS_OFFSET (IA32_PAGE_OFFSET + 2*PAGE_SIZE)
309#define IA32_LDT_OFFSET (IA32_PAGE_OFFSET + 3*PAGE_SIZE)
310
311#define ELF_EXEC_PAGESIZE IA32_PAGE_SIZE
312
313/*
314 * This is the location that an ET_DYN program is loaded if exec'ed.
315 * Typical use of this is to invoke "./ld.so someprog" to test out a
316 * new version of the loader. We need to make sure that it is out of
317 * the way of the program that it will "exec", and that there is
318 * sufficient room for the brk.
319 */
320#define ELF_ET_DYN_BASE (IA32_PAGE_OFFSET/3 + 0x1000000)
321
322void ia64_elf32_init(struct pt_regs *regs);
323#define ELF_PLAT_INIT(_r, load_addr) ia64_elf32_init(_r)
324
325/* This macro yields a bitmask that programs can use to figure out
326 what instruction set this CPU supports. */
327#define ELF_HWCAP 0
328
329/* This macro yields a string that ld.so will use to load
330 implementation specific libraries for optimization. Not terribly
331 relevant until we have real hardware to play with... */
332#define ELF_PLATFORM NULL
333
334#ifdef __KERNEL__
335# define SET_PERSONALITY(EX) \
336 (current->personality = PER_LINUX)
337#endif
338
339#define IA32_EFLAG 0x200
340
341/*
342 * IA-32 ELF specific definitions for IA-64.
343 */
344
345#define __USER_CS 0x23
346#define __USER_DS 0x2B
347
348/*
349 * The per-cpu GDT has 32 entries: see <asm-i386/segment.h>
350 */
351#define GDT_ENTRIES 32
352
353#define GDT_SIZE (GDT_ENTRIES * 8)
354
355#define TSS_ENTRY 14
356#define LDT_ENTRY (TSS_ENTRY + 1)
357
358#define IA32_SEGSEL_RPL (0x3 << 0)
359#define IA32_SEGSEL_TI (0x1 << 2)
360#define IA32_SEGSEL_INDEX_SHIFT 3
361
362#define _TSS ((unsigned long) TSS_ENTRY << IA32_SEGSEL_INDEX_SHIFT)
363#define _LDT ((unsigned long) LDT_ENTRY << IA32_SEGSEL_INDEX_SHIFT)
364
365#define IA32_SEG_BASE 16
366#define IA32_SEG_TYPE 40
367#define IA32_SEG_SYS 44
368#define IA32_SEG_DPL 45
369#define IA32_SEG_P 47
370#define IA32_SEG_HIGH_LIMIT 48
371#define IA32_SEG_AVL 52
372#define IA32_SEG_DB 54
373#define IA32_SEG_G 55
374#define IA32_SEG_HIGH_BASE 56
375
376#define IA32_SEG_DESCRIPTOR(base, limit, segtype, nonsysseg, dpl, segpresent, avl, segdb, gran) \
377 (((limit) & 0xffff) \
378 | (((unsigned long) (base) & 0xffffff) << IA32_SEG_BASE) \
379 | ((unsigned long) (segtype) << IA32_SEG_TYPE) \
380 | ((unsigned long) (nonsysseg) << IA32_SEG_SYS) \
381 | ((unsigned long) (dpl) << IA32_SEG_DPL) \
382 | ((unsigned long) (segpresent) << IA32_SEG_P) \
383 | ((((unsigned long) (limit) >> 16) & 0xf) << IA32_SEG_HIGH_LIMIT) \
384 | ((unsigned long) (avl) << IA32_SEG_AVL) \
385 | ((unsigned long) (segdb) << IA32_SEG_DB) \
386 | ((unsigned long) (gran) << IA32_SEG_G) \
387 | ((((unsigned long) (base) >> 24) & 0xff) << IA32_SEG_HIGH_BASE))
388
389#define SEG_LIM 32
390#define SEG_TYPE 52
391#define SEG_SYS 56
392#define SEG_DPL 57
393#define SEG_P 59
394#define SEG_AVL 60
395#define SEG_DB 62
396#define SEG_G 63
397
398/* Unscramble an IA-32 segment descriptor into the IA-64 format. */
399#define IA32_SEG_UNSCRAMBLE(sd) \
400 ( (((sd) >> IA32_SEG_BASE) & 0xffffff) | ((((sd) >> IA32_SEG_HIGH_BASE) & 0xff) << 24) \
401 | ((((sd) & 0xffff) | ((((sd) >> IA32_SEG_HIGH_LIMIT) & 0xf) << 16)) << SEG_LIM) \
402 | ((((sd) >> IA32_SEG_TYPE) & 0xf) << SEG_TYPE) \
403 | ((((sd) >> IA32_SEG_SYS) & 0x1) << SEG_SYS) \
404 | ((((sd) >> IA32_SEG_DPL) & 0x3) << SEG_DPL) \
405 | ((((sd) >> IA32_SEG_P) & 0x1) << SEG_P) \
406 | ((((sd) >> IA32_SEG_AVL) & 0x1) << SEG_AVL) \
407 | ((((sd) >> IA32_SEG_DB) & 0x1) << SEG_DB) \
408 | ((((sd) >> IA32_SEG_G) & 0x1) << SEG_G))
409
410#define IA32_IOBASE 0x2000000000000000UL /* Virtual address for I/O space */
411
412#define IA32_CR0 0x80000001 /* Enable PG and PE bits */
413#define IA32_CR4 0x600 /* MMXEX and FXSR on */
414
415/*
416 * IA32 floating point control registers starting values
417 */
418
419#define IA32_FSR_DEFAULT 0x55550000 /* set all tag bits */
420#define IA32_FCR_DEFAULT 0x17800000037fUL /* extended precision, all masks */
421
422#define IA32_PTRACE_GETREGS 12
423#define IA32_PTRACE_SETREGS 13
424#define IA32_PTRACE_GETFPREGS 14
425#define IA32_PTRACE_SETFPREGS 15
426#define IA32_PTRACE_GETFPXREGS 18
427#define IA32_PTRACE_SETFPXREGS 19
428
429#define ia32_start_thread(regs,new_ip,new_sp) do { \
430 set_fs(USER_DS); \
431 ia64_psr(regs)->cpl = 3; /* set user mode */ \
432 ia64_psr(regs)->ri = 0; /* clear return slot number */ \
433 ia64_psr(regs)->is = 1; /* IA-32 instruction set */ \
434 regs->cr_iip = new_ip; \
435 regs->ar_rsc = 0xc; /* enforced lazy mode, priv. level 3 */ \
436 regs->ar_rnat = 0; \
437 regs->loadrs = 0; \
438 regs->r12 = new_sp; \
439} while (0)
440
441/*
442 * Local Descriptor Table (LDT) related declarations.
443 */
444
445#define IA32_LDT_ENTRIES 8192 /* Maximum number of LDT entries supported. */
446#define IA32_LDT_ENTRY_SIZE 8 /* The size of each LDT entry. */
447
448#define LDT_entry_a(info) \
449 ((((info)->base_addr & 0x0000ffff) << 16) | ((info)->limit & 0x0ffff))
450
451#define LDT_entry_b(info) \
452 (((info)->base_addr & 0xff000000) | \
453 (((info)->base_addr & 0x00ff0000) >> 16) | \
454 ((info)->limit & 0xf0000) | \
455 (((info)->read_exec_only ^ 1) << 9) | \
456 ((info)->contents << 10) | \
457 (((info)->seg_not_present ^ 1) << 15) | \
458 ((info)->seg_32bit << 22) | \
459 ((info)->limit_in_pages << 23) | \
460 ((info)->useable << 20) | \
461 0x7100)
462
463#define LDT_empty(info) ( \
464 (info)->base_addr == 0 && \
465 (info)->limit == 0 && \
466 (info)->contents == 0 && \
467 (info)->read_exec_only == 1 && \
468 (info)->seg_32bit == 0 && \
469 (info)->limit_in_pages == 0 && \
470 (info)->seg_not_present == 1 && \
471 (info)->useable == 0 )
472
473static inline void
474load_TLS (struct thread_struct *t, unsigned int cpu)
475{
476 extern unsigned long *cpu_gdt_table[NR_CPUS];
477
478 memcpy(cpu_gdt_table[cpu] + GDT_ENTRY_TLS_MIN + 0, &t->tls_array[0], sizeof(long));
479 memcpy(cpu_gdt_table[cpu] + GDT_ENTRY_TLS_MIN + 1, &t->tls_array[1], sizeof(long));
480 memcpy(cpu_gdt_table[cpu] + GDT_ENTRY_TLS_MIN + 2, &t->tls_array[2], sizeof(long));
481}
482
483struct ia32_user_desc {
484 unsigned int entry_number;
485 unsigned int base_addr;
486 unsigned int limit;
487 unsigned int seg_32bit:1;
488 unsigned int contents:2;
489 unsigned int read_exec_only:1;
490 unsigned int limit_in_pages:1;
491 unsigned int seg_not_present:1;
492 unsigned int useable:1;
493};
494
495struct linux_binprm;
496
497extern void ia32_init_addr_space (struct pt_regs *regs);
498extern int ia32_setup_arg_pages (struct linux_binprm *bprm, int exec_stack);
499extern unsigned long ia32_do_mmap (struct file *, unsigned long, unsigned long, int, int, loff_t);
500extern void ia32_load_segment_descriptors (struct task_struct *task);
501
502#define ia32f2ia64f(dst,src) \
503do { \
504 ia64_ldfe(6,src); \
505 ia64_stop(); \
506 ia64_stf_spill(dst, 6); \
507} while(0)
508
509#define ia64f2ia32f(dst,src) \
510do { \
511 ia64_ldf_fill(6, src); \
512 ia64_stop(); \
513 ia64_stfe(dst, 6); \
514} while(0)
515
516struct user_regs_struct32 {
517 __u32 ebx, ecx, edx, esi, edi, ebp, eax;
518 unsigned short ds, __ds, es, __es;
519 unsigned short fs, __fs, gs, __gs;
520 __u32 orig_eax, eip;
521 unsigned short cs, __cs;
522 __u32 eflags, esp;
523 unsigned short ss, __ss;
524};
525
526/* Prototypes for use in elfcore32.h */
527extern int save_ia32_fpstate (struct task_struct *, struct ia32_user_i387_struct __user *);
528extern int save_ia32_fpxstate (struct task_struct *, struct ia32_user_fxsr_struct __user *);
529
530#endif /* !CONFIG_IA32_SUPPORT */
531
532#endif /* _ASM_IA64_IA32_PRIV_H */
diff --git a/arch/ia64/ia32/sys_ia32.c b/arch/ia64/ia32/sys_ia32.c
deleted file mode 100644
index 045b746b9808..000000000000
--- a/arch/ia64/ia32/sys_ia32.c
+++ /dev/null
@@ -1,2765 +0,0 @@
1/*
2 * sys_ia32.c: Conversion between 32bit and 64bit native syscalls. Derived from sys_sparc32.c.
3 *
4 * Copyright (C) 2000 VA Linux Co
5 * Copyright (C) 2000 Don Dugger <n0ano@valinux.com>
6 * Copyright (C) 1999 Arun Sharma <arun.sharma@intel.com>
7 * Copyright (C) 1997,1998 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
8 * Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
9 * Copyright (C) 2000-2003, 2005 Hewlett-Packard Co
10 * David Mosberger-Tang <davidm@hpl.hp.com>
11 * Copyright (C) 2004 Gordon Jin <gordon.jin@intel.com>
12 *
13 * These routines maintain argument size conversion between 32bit and 64bit
14 * environment.
15 */
16
17#include <linux/kernel.h>
18#include <linux/syscalls.h>
19#include <linux/sysctl.h>
20#include <linux/sched.h>
21#include <linux/fs.h>
22#include <linux/file.h>
23#include <linux/signal.h>
24#include <linux/resource.h>
25#include <linux/times.h>
26#include <linux/utsname.h>
27#include <linux/smp.h>
28#include <linux/smp_lock.h>
29#include <linux/sem.h>
30#include <linux/msg.h>
31#include <linux/mm.h>
32#include <linux/shm.h>
33#include <linux/slab.h>
34#include <linux/uio.h>
35#include <linux/socket.h>
36#include <linux/quota.h>
37#include <linux/poll.h>
38#include <linux/eventpoll.h>
39#include <linux/personality.h>
40#include <linux/ptrace.h>
41#include <linux/regset.h>
42#include <linux/stat.h>
43#include <linux/ipc.h>
44#include <linux/capability.h>
45#include <linux/compat.h>
46#include <linux/vfs.h>
47#include <linux/mman.h>
48#include <linux/mutex.h>
49
50#include <asm/intrinsics.h>
51#include <asm/types.h>
52#include <asm/uaccess.h>
53#include <asm/unistd.h>
54
55#include "ia32priv.h"
56
57#include <net/scm.h>
58#include <net/sock.h>
59
60#define DEBUG 0
61
62#if DEBUG
63# define DBG(fmt...) printk(KERN_DEBUG fmt)
64#else
65# define DBG(fmt...)
66#endif
67
68#define ROUND_UP(x,a) ((__typeof__(x))(((unsigned long)(x) + ((a) - 1)) & ~((a) - 1)))
69
70#define OFFSET4K(a) ((a) & 0xfff)
71#define PAGE_START(addr) ((addr) & PAGE_MASK)
72#define MINSIGSTKSZ_IA32 2048
73
74#define high2lowuid(uid) ((uid) > 65535 ? 65534 : (uid))
75#define high2lowgid(gid) ((gid) > 65535 ? 65534 : (gid))
76
77/*
78 * Anything that modifies or inspects ia32 user virtual memory must hold this semaphore
79 * while doing so.
80 */
81/* XXX make per-mm: */
82static DEFINE_MUTEX(ia32_mmap_mutex);
83
84asmlinkage long
85sys32_execve (char __user *name, compat_uptr_t __user *argv, compat_uptr_t __user *envp,
86 struct pt_regs *regs)
87{
88 long error;
89 char *filename;
90 unsigned long old_map_base, old_task_size, tssd;
91
92 filename = getname(name);
93 error = PTR_ERR(filename);
94 if (IS_ERR(filename))
95 return error;
96
97 old_map_base = current->thread.map_base;
98 old_task_size = current->thread.task_size;
99 tssd = ia64_get_kr(IA64_KR_TSSD);
100
101 /* we may be exec'ing a 64-bit process: reset map base, task-size, and io-base: */
102 current->thread.map_base = DEFAULT_MAP_BASE;
103 current->thread.task_size = DEFAULT_TASK_SIZE;
104 ia64_set_kr(IA64_KR_IO_BASE, current->thread.old_iob);
105 ia64_set_kr(IA64_KR_TSSD, current->thread.old_k1);
106
107 error = compat_do_execve(filename, argv, envp, regs);
108 putname(filename);
109
110 if (error < 0) {
111 /* oops, execve failed, switch back to old values... */
112 ia64_set_kr(IA64_KR_IO_BASE, IA32_IOBASE);
113 ia64_set_kr(IA64_KR_TSSD, tssd);
114 current->thread.map_base = old_map_base;
115 current->thread.task_size = old_task_size;
116 }
117
118 return error;
119}
120
121
122#if PAGE_SHIFT > IA32_PAGE_SHIFT
123
124
125static int
126get_page_prot (struct vm_area_struct *vma, unsigned long addr)
127{
128 int prot = 0;
129
130 if (!vma || vma->vm_start > addr)
131 return 0;
132
133 if (vma->vm_flags & VM_READ)
134 prot |= PROT_READ;
135 if (vma->vm_flags & VM_WRITE)
136 prot |= PROT_WRITE;
137 if (vma->vm_flags & VM_EXEC)
138 prot |= PROT_EXEC;
139 return prot;
140}
141
142/*
143 * Map a subpage by creating an anonymous page that contains the union of the old page and
144 * the subpage.
145 */
146static unsigned long
147mmap_subpage (struct file *file, unsigned long start, unsigned long end, int prot, int flags,
148 loff_t off)
149{
150 void *page = NULL;
151 struct inode *inode;
152 unsigned long ret = 0;
153 struct vm_area_struct *vma = find_vma(current->mm, start);
154 int old_prot = get_page_prot(vma, start);
155
156 DBG("mmap_subpage(file=%p,start=0x%lx,end=0x%lx,prot=%x,flags=%x,off=0x%llx)\n",
157 file, start, end, prot, flags, off);
158
159
160 /* Optimize the case where the old mmap and the new mmap are both anonymous */
161 if ((old_prot & PROT_WRITE) && (flags & MAP_ANONYMOUS) && !vma->vm_file) {
162 if (clear_user((void __user *) start, end - start)) {
163 ret = -EFAULT;
164 goto out;
165 }
166 goto skip_mmap;
167 }
168
169 page = (void *) get_zeroed_page(GFP_KERNEL);
170 if (!page)
171 return -ENOMEM;
172
173 if (old_prot)
174 copy_from_user(page, (void __user *) PAGE_START(start), PAGE_SIZE);
175
176 down_write(&current->mm->mmap_sem);
177 {
178 ret = do_mmap(NULL, PAGE_START(start), PAGE_SIZE, prot | PROT_WRITE,
179 flags | MAP_FIXED | MAP_ANONYMOUS, 0);
180 }
181 up_write(&current->mm->mmap_sem);
182
183 if (IS_ERR((void *) ret))
184 goto out;
185
186 if (old_prot) {
187 /* copy back the old page contents. */
188 if (offset_in_page(start))
189 copy_to_user((void __user *) PAGE_START(start), page,
190 offset_in_page(start));
191 if (offset_in_page(end))
192 copy_to_user((void __user *) end, page + offset_in_page(end),
193 PAGE_SIZE - offset_in_page(end));
194 }
195
196 if (!(flags & MAP_ANONYMOUS)) {
197 /* read the file contents */
198 inode = file->f_path.dentry->d_inode;
199 if (!inode->i_fop || !file->f_op->read
200 || ((*file->f_op->read)(file, (char __user *) start, end - start, &off) < 0))
201 {
202 ret = -EINVAL;
203 goto out;
204 }
205 }
206
207 skip_mmap:
208 if (!(prot & PROT_WRITE))
209 ret = sys_mprotect(PAGE_START(start), PAGE_SIZE, prot | old_prot);
210 out:
211 if (page)
212 free_page((unsigned long) page);
213 return ret;
214}
215
216/* SLAB cache for ia64_partial_page structures */
217struct kmem_cache *ia64_partial_page_cachep;
218
219/*
220 * init ia64_partial_page_list.
221 * return 0 means kmalloc fail.
222 */
223struct ia64_partial_page_list*
224ia32_init_pp_list(void)
225{
226 struct ia64_partial_page_list *p;
227
228 if ((p = kmalloc(sizeof(*p), GFP_KERNEL)) == NULL)
229 return p;
230 p->pp_head = NULL;
231 p->ppl_rb = RB_ROOT;
232 p->pp_hint = NULL;
233 atomic_set(&p->pp_count, 1);
234 return p;
235}
236
237/*
238 * Search for the partial page with @start in partial page list @ppl.
239 * If finds the partial page, return the found partial page.
240 * Else, return 0 and provide @pprev, @rb_link, @rb_parent to
241 * be used by later __ia32_insert_pp().
242 */
243static struct ia64_partial_page *
244__ia32_find_pp(struct ia64_partial_page_list *ppl, unsigned int start,
245 struct ia64_partial_page **pprev, struct rb_node ***rb_link,
246 struct rb_node **rb_parent)
247{
248 struct ia64_partial_page *pp;
249 struct rb_node **__rb_link, *__rb_parent, *rb_prev;
250
251 pp = ppl->pp_hint;
252 if (pp && pp->base == start)
253 return pp;
254
255 __rb_link = &ppl->ppl_rb.rb_node;
256 rb_prev = __rb_parent = NULL;
257
258 while (*__rb_link) {
259 __rb_parent = *__rb_link;
260 pp = rb_entry(__rb_parent, struct ia64_partial_page, pp_rb);
261
262 if (pp->base == start) {
263 ppl->pp_hint = pp;
264 return pp;
265 } else if (pp->base < start) {
266 rb_prev = __rb_parent;
267 __rb_link = &__rb_parent->rb_right;
268 } else {
269 __rb_link = &__rb_parent->rb_left;
270 }
271 }
272
273 *rb_link = __rb_link;
274 *rb_parent = __rb_parent;
275 *pprev = NULL;
276 if (rb_prev)
277 *pprev = rb_entry(rb_prev, struct ia64_partial_page, pp_rb);
278 return NULL;
279}
280
281/*
282 * insert @pp into @ppl.
283 */
284static void
285__ia32_insert_pp(struct ia64_partial_page_list *ppl,
286 struct ia64_partial_page *pp, struct ia64_partial_page *prev,
287 struct rb_node **rb_link, struct rb_node *rb_parent)
288{
289 /* link list */
290 if (prev) {
291 pp->next = prev->next;
292 prev->next = pp;
293 } else {
294 ppl->pp_head = pp;
295 if (rb_parent)
296 pp->next = rb_entry(rb_parent,
297 struct ia64_partial_page, pp_rb);
298 else
299 pp->next = NULL;
300 }
301
302 /* link rb */
303 rb_link_node(&pp->pp_rb, rb_parent, rb_link);
304 rb_insert_color(&pp->pp_rb, &ppl->ppl_rb);
305
306 ppl->pp_hint = pp;
307}
308
309/*
310 * delete @pp from partial page list @ppl.
311 */
312static void
313__ia32_delete_pp(struct ia64_partial_page_list *ppl,
314 struct ia64_partial_page *pp, struct ia64_partial_page *prev)
315{
316 if (prev) {
317 prev->next = pp->next;
318 if (ppl->pp_hint == pp)
319 ppl->pp_hint = prev;
320 } else {
321 ppl->pp_head = pp->next;
322 if (ppl->pp_hint == pp)
323 ppl->pp_hint = pp->next;
324 }
325 rb_erase(&pp->pp_rb, &ppl->ppl_rb);
326 kmem_cache_free(ia64_partial_page_cachep, pp);
327}
328
329static struct ia64_partial_page *
330__pp_prev(struct ia64_partial_page *pp)
331{
332 struct rb_node *prev = rb_prev(&pp->pp_rb);
333 if (prev)
334 return rb_entry(prev, struct ia64_partial_page, pp_rb);
335 else
336 return NULL;
337}
338
339/*
340 * Delete partial pages with address between @start and @end.
341 * @start and @end are page aligned.
342 */
343static void
344__ia32_delete_pp_range(unsigned int start, unsigned int end)
345{
346 struct ia64_partial_page *pp, *prev;
347 struct rb_node **rb_link, *rb_parent;
348
349 if (start >= end)
350 return;
351
352 pp = __ia32_find_pp(current->thread.ppl, start, &prev,
353 &rb_link, &rb_parent);
354 if (pp)
355 prev = __pp_prev(pp);
356 else {
357 if (prev)
358 pp = prev->next;
359 else
360 pp = current->thread.ppl->pp_head;
361 }
362
363 while (pp && pp->base < end) {
364 struct ia64_partial_page *tmp = pp->next;
365 __ia32_delete_pp(current->thread.ppl, pp, prev);
366 pp = tmp;
367 }
368}
369
370/*
371 * Set the range between @start and @end in bitmap.
372 * @start and @end should be IA32 page aligned and in the same IA64 page.
373 */
374static int
375__ia32_set_pp(unsigned int start, unsigned int end, int flags)
376{
377 struct ia64_partial_page *pp, *prev;
378 struct rb_node ** rb_link, *rb_parent;
379 unsigned int pstart, start_bit, end_bit, i;
380
381 pstart = PAGE_START(start);
382 start_bit = (start % PAGE_SIZE) / IA32_PAGE_SIZE;
383 end_bit = (end % PAGE_SIZE) / IA32_PAGE_SIZE;
384 if (end_bit == 0)
385 end_bit = PAGE_SIZE / IA32_PAGE_SIZE;
386 pp = __ia32_find_pp(current->thread.ppl, pstart, &prev,
387 &rb_link, &rb_parent);
388 if (pp) {
389 for (i = start_bit; i < end_bit; i++)
390 set_bit(i, &pp->bitmap);
391 /*
392 * Check: if this partial page has been set to a full page,
393 * then delete it.
394 */
395 if (find_first_zero_bit(&pp->bitmap, sizeof(pp->bitmap)*8) >=
396 PAGE_SIZE/IA32_PAGE_SIZE) {
397 __ia32_delete_pp(current->thread.ppl, pp, __pp_prev(pp));
398 }
399 return 0;
400 }
401
402 /*
403 * MAP_FIXED may lead to overlapping mmap.
404 * In this case, the requested mmap area may already mmaped as a full
405 * page. So check vma before adding a new partial page.
406 */
407 if (flags & MAP_FIXED) {
408 struct vm_area_struct *vma = find_vma(current->mm, pstart);
409 if (vma && vma->vm_start <= pstart)
410 return 0;
411 }
412
413 /* new a ia64_partial_page */
414 pp = kmem_cache_alloc(ia64_partial_page_cachep, GFP_KERNEL);
415 if (!pp)
416 return -ENOMEM;
417 pp->base = pstart;
418 pp->bitmap = 0;
419 for (i=start_bit; i<end_bit; i++)
420 set_bit(i, &(pp->bitmap));
421 pp->next = NULL;
422 __ia32_insert_pp(current->thread.ppl, pp, prev, rb_link, rb_parent);
423 return 0;
424}
425
426/*
427 * @start and @end should be IA32 page aligned, but don't need to be in the
428 * same IA64 page. Split @start and @end to make sure they're in the same IA64
429 * page, then call __ia32_set_pp().
430 */
431static void
432ia32_set_pp(unsigned int start, unsigned int end, int flags)
433{
434 down_write(&current->mm->mmap_sem);
435 if (flags & MAP_FIXED) {
436 /*
437 * MAP_FIXED may lead to overlapping mmap. When this happens,
438 * a series of complete IA64 pages results in deletion of
439 * old partial pages in that range.
440 */
441 __ia32_delete_pp_range(PAGE_ALIGN(start), PAGE_START(end));
442 }
443
444 if (end < PAGE_ALIGN(start)) {
445 __ia32_set_pp(start, end, flags);
446 } else {
447 if (offset_in_page(start))
448 __ia32_set_pp(start, PAGE_ALIGN(start), flags);
449 if (offset_in_page(end))
450 __ia32_set_pp(PAGE_START(end), end, flags);
451 }
452 up_write(&current->mm->mmap_sem);
453}
454
455/*
456 * Unset the range between @start and @end in bitmap.
457 * @start and @end should be IA32 page aligned and in the same IA64 page.
458 * After doing that, if the bitmap is 0, then free the page and return 1,
459 * else return 0;
460 * If not find the partial page in the list, then
461 * If the vma exists, then the full page is set to a partial page;
462 * Else return -ENOMEM.
463 */
464static int
465__ia32_unset_pp(unsigned int start, unsigned int end)
466{
467 struct ia64_partial_page *pp, *prev;
468 struct rb_node ** rb_link, *rb_parent;
469 unsigned int pstart, start_bit, end_bit, i;
470 struct vm_area_struct *vma;
471
472 pstart = PAGE_START(start);
473 start_bit = (start % PAGE_SIZE) / IA32_PAGE_SIZE;
474 end_bit = (end % PAGE_SIZE) / IA32_PAGE_SIZE;
475 if (end_bit == 0)
476 end_bit = PAGE_SIZE / IA32_PAGE_SIZE;
477
478 pp = __ia32_find_pp(current->thread.ppl, pstart, &prev,
479 &rb_link, &rb_parent);
480 if (pp) {
481 for (i = start_bit; i < end_bit; i++)
482 clear_bit(i, &pp->bitmap);
483 if (pp->bitmap == 0) {
484 __ia32_delete_pp(current->thread.ppl, pp, __pp_prev(pp));
485 return 1;
486 }
487 return 0;
488 }
489
490 vma = find_vma(current->mm, pstart);
491 if (!vma || vma->vm_start > pstart) {
492 return -ENOMEM;
493 }
494
495 /* new a ia64_partial_page */
496 pp = kmem_cache_alloc(ia64_partial_page_cachep, GFP_KERNEL);
497 if (!pp)
498 return -ENOMEM;
499 pp->base = pstart;
500 pp->bitmap = 0;
501 for (i = 0; i < start_bit; i++)
502 set_bit(i, &(pp->bitmap));
503 for (i = end_bit; i < PAGE_SIZE / IA32_PAGE_SIZE; i++)
504 set_bit(i, &(pp->bitmap));
505 pp->next = NULL;
506 __ia32_insert_pp(current->thread.ppl, pp, prev, rb_link, rb_parent);
507 return 0;
508}
509
510/*
511 * Delete pp between PAGE_ALIGN(start) and PAGE_START(end) by calling
512 * __ia32_delete_pp_range(). Unset possible partial pages by calling
513 * __ia32_unset_pp().
514 * The returned value see __ia32_unset_pp().
515 */
516static int
517ia32_unset_pp(unsigned int *startp, unsigned int *endp)
518{
519 unsigned int start = *startp, end = *endp;
520 int ret = 0;
521
522 down_write(&current->mm->mmap_sem);
523
524 __ia32_delete_pp_range(PAGE_ALIGN(start), PAGE_START(end));
525
526 if (end < PAGE_ALIGN(start)) {
527 ret = __ia32_unset_pp(start, end);
528 if (ret == 1) {
529 *startp = PAGE_START(start);
530 *endp = PAGE_ALIGN(end);
531 }
532 if (ret == 0) {
533 /* to shortcut sys_munmap() in sys32_munmap() */
534 *startp = PAGE_START(start);
535 *endp = PAGE_START(end);
536 }
537 } else {
538 if (offset_in_page(start)) {
539 ret = __ia32_unset_pp(start, PAGE_ALIGN(start));
540 if (ret == 1)
541 *startp = PAGE_START(start);
542 if (ret == 0)
543 *startp = PAGE_ALIGN(start);
544 if (ret < 0)
545 goto out;
546 }
547 if (offset_in_page(end)) {
548 ret = __ia32_unset_pp(PAGE_START(end), end);
549 if (ret == 1)
550 *endp = PAGE_ALIGN(end);
551 if (ret == 0)
552 *endp = PAGE_START(end);
553 }
554 }
555
556 out:
557 up_write(&current->mm->mmap_sem);
558 return ret;
559}
560
561/*
562 * Compare the range between @start and @end with bitmap in partial page.
563 * @start and @end should be IA32 page aligned and in the same IA64 page.
564 */
565static int
566__ia32_compare_pp(unsigned int start, unsigned int end)
567{
568 struct ia64_partial_page *pp, *prev;
569 struct rb_node ** rb_link, *rb_parent;
570 unsigned int pstart, start_bit, end_bit, size;
571 unsigned int first_bit, next_zero_bit; /* the first range in bitmap */
572
573 pstart = PAGE_START(start);
574
575 pp = __ia32_find_pp(current->thread.ppl, pstart, &prev,
576 &rb_link, &rb_parent);
577 if (!pp)
578 return 1;
579
580 start_bit = (start % PAGE_SIZE) / IA32_PAGE_SIZE;
581 end_bit = (end % PAGE_SIZE) / IA32_PAGE_SIZE;
582 size = sizeof(pp->bitmap) * 8;
583 first_bit = find_first_bit(&pp->bitmap, size);
584 next_zero_bit = find_next_zero_bit(&pp->bitmap, size, first_bit);
585 if ((start_bit < first_bit) || (end_bit > next_zero_bit)) {
586 /* exceeds the first range in bitmap */
587 return -ENOMEM;
588 } else if ((start_bit == first_bit) && (end_bit == next_zero_bit)) {
589 first_bit = find_next_bit(&pp->bitmap, size, next_zero_bit);
590 if ((next_zero_bit < first_bit) && (first_bit < size))
591 return 1; /* has next range */
592 else
593 return 0; /* no next range */
594 } else
595 return 1;
596}
597
598/*
599 * @start and @end should be IA32 page aligned, but don't need to be in the
600 * same IA64 page. Split @start and @end to make sure they're in the same IA64
601 * page, then call __ia32_compare_pp().
602 *
603 * Take this as example: the range is the 1st and 2nd 4K page.
604 * Return 0 if they fit bitmap exactly, i.e. bitmap = 00000011;
605 * Return 1 if the range doesn't cover whole bitmap, e.g. bitmap = 00001111;
606 * Return -ENOMEM if the range exceeds the bitmap, e.g. bitmap = 00000001 or
607 * bitmap = 00000101.
608 */
609static int
610ia32_compare_pp(unsigned int *startp, unsigned int *endp)
611{
612 unsigned int start = *startp, end = *endp;
613 int retval = 0;
614
615 down_write(&current->mm->mmap_sem);
616
617 if (end < PAGE_ALIGN(start)) {
618 retval = __ia32_compare_pp(start, end);
619 if (retval == 0) {
620 *startp = PAGE_START(start);
621 *endp = PAGE_ALIGN(end);
622 }
623 } else {
624 if (offset_in_page(start)) {
625 retval = __ia32_compare_pp(start,
626 PAGE_ALIGN(start));
627 if (retval == 0)
628 *startp = PAGE_START(start);
629 if (retval < 0)
630 goto out;
631 }
632 if (offset_in_page(end)) {
633 retval = __ia32_compare_pp(PAGE_START(end), end);
634 if (retval == 0)
635 *endp = PAGE_ALIGN(end);
636 }
637 }
638
639 out:
640 up_write(&current->mm->mmap_sem);
641 return retval;
642}
643
644static void
645__ia32_drop_pp_list(struct ia64_partial_page_list *ppl)
646{
647 struct ia64_partial_page *pp = ppl->pp_head;
648
649 while (pp) {
650 struct ia64_partial_page *next = pp->next;
651 kmem_cache_free(ia64_partial_page_cachep, pp);
652 pp = next;
653 }
654
655 kfree(ppl);
656}
657
658void
659ia32_drop_ia64_partial_page_list(struct task_struct *task)
660{
661 struct ia64_partial_page_list* ppl = task->thread.ppl;
662
663 if (ppl && atomic_dec_and_test(&ppl->pp_count))
664 __ia32_drop_pp_list(ppl);
665}
666
667/*
668 * Copy current->thread.ppl to ppl (already initialized).
669 */
670static int
671__ia32_copy_pp_list(struct ia64_partial_page_list *ppl)
672{
673 struct ia64_partial_page *pp, *tmp, *prev;
674 struct rb_node **rb_link, *rb_parent;
675
676 ppl->pp_head = NULL;
677 ppl->pp_hint = NULL;
678 ppl->ppl_rb = RB_ROOT;
679 rb_link = &ppl->ppl_rb.rb_node;
680 rb_parent = NULL;
681 prev = NULL;
682
683 for (pp = current->thread.ppl->pp_head; pp; pp = pp->next) {
684 tmp = kmem_cache_alloc(ia64_partial_page_cachep, GFP_KERNEL);
685 if (!tmp)
686 return -ENOMEM;
687 *tmp = *pp;
688 __ia32_insert_pp(ppl, tmp, prev, rb_link, rb_parent);
689 prev = tmp;
690 rb_link = &tmp->pp_rb.rb_right;
691 rb_parent = &tmp->pp_rb;
692 }
693 return 0;
694}
695
696int
697ia32_copy_ia64_partial_page_list(struct task_struct *p,
698 unsigned long clone_flags)
699{
700 int retval = 0;
701
702 if (clone_flags & CLONE_VM) {
703 atomic_inc(&current->thread.ppl->pp_count);
704 p->thread.ppl = current->thread.ppl;
705 } else {
706 p->thread.ppl = ia32_init_pp_list();
707 if (!p->thread.ppl)
708 return -ENOMEM;
709 down_write(&current->mm->mmap_sem);
710 {
711 retval = __ia32_copy_pp_list(p->thread.ppl);
712 }
713 up_write(&current->mm->mmap_sem);
714 }
715
716 return retval;
717}
718
719static unsigned long
720emulate_mmap (struct file *file, unsigned long start, unsigned long len, int prot, int flags,
721 loff_t off)
722{
723 unsigned long tmp, end, pend, pstart, ret, is_congruent, fudge = 0;
724 struct inode *inode;
725 loff_t poff;
726
727 end = start + len;
728 pstart = PAGE_START(start);
729 pend = PAGE_ALIGN(end);
730
731 if (flags & MAP_FIXED) {
732 ia32_set_pp((unsigned int)start, (unsigned int)end, flags);
733 if (start > pstart) {
734 if (flags & MAP_SHARED)
735 printk(KERN_INFO
736 "%s(%d): emulate_mmap() can't share head (addr=0x%lx)\n",
737 current->comm, task_pid_nr(current), start);
738 ret = mmap_subpage(file, start, min(PAGE_ALIGN(start), end), prot, flags,
739 off);
740 if (IS_ERR((void *) ret))
741 return ret;
742 pstart += PAGE_SIZE;
743 if (pstart >= pend)
744 goto out; /* done */
745 }
746 if (end < pend) {
747 if (flags & MAP_SHARED)
748 printk(KERN_INFO
749 "%s(%d): emulate_mmap() can't share tail (end=0x%lx)\n",
750 current->comm, task_pid_nr(current), end);
751 ret = mmap_subpage(file, max(start, PAGE_START(end)), end, prot, flags,
752 (off + len) - offset_in_page(end));
753 if (IS_ERR((void *) ret))
754 return ret;
755 pend -= PAGE_SIZE;
756 if (pstart >= pend)
757 goto out; /* done */
758 }
759 } else {
760 /*
761 * If a start address was specified, use it if the entire rounded out area
762 * is available.
763 */
764 if (start && !pstart)
765 fudge = 1; /* handle case of mapping to range (0,PAGE_SIZE) */
766 tmp = arch_get_unmapped_area(file, pstart - fudge, pend - pstart, 0, flags);
767 if (tmp != pstart) {
768 pstart = tmp;
769 start = pstart + offset_in_page(off); /* make start congruent with off */
770 end = start + len;
771 pend = PAGE_ALIGN(end);
772 }
773 }
774
775 poff = off + (pstart - start); /* note: (pstart - start) may be negative */
776 is_congruent = (flags & MAP_ANONYMOUS) || (offset_in_page(poff) == 0);
777
778 if ((flags & MAP_SHARED) && !is_congruent)
779 printk(KERN_INFO "%s(%d): emulate_mmap() can't share contents of incongruent mmap "
780 "(addr=0x%lx,off=0x%llx)\n", current->comm, task_pid_nr(current), start, off);
781
782 DBG("mmap_body: mapping [0x%lx-0x%lx) %s with poff 0x%llx\n", pstart, pend,
783 is_congruent ? "congruent" : "not congruent", poff);
784
785 down_write(&current->mm->mmap_sem);
786 {
787 if (!(flags & MAP_ANONYMOUS) && is_congruent)
788 ret = do_mmap(file, pstart, pend - pstart, prot, flags | MAP_FIXED, poff);
789 else
790 ret = do_mmap(NULL, pstart, pend - pstart,
791 prot | ((flags & MAP_ANONYMOUS) ? 0 : PROT_WRITE),
792 flags | MAP_FIXED | MAP_ANONYMOUS, 0);
793 }
794 up_write(&current->mm->mmap_sem);
795
796 if (IS_ERR((void *) ret))
797 return ret;
798
799 if (!is_congruent) {
800 /* read the file contents */
801 inode = file->f_path.dentry->d_inode;
802 if (!inode->i_fop || !file->f_op->read
803 || ((*file->f_op->read)(file, (char __user *) pstart, pend - pstart, &poff)
804 < 0))
805 {
806 sys_munmap(pstart, pend - pstart);
807 return -EINVAL;
808 }
809 if (!(prot & PROT_WRITE) && sys_mprotect(pstart, pend - pstart, prot) < 0)
810 return -EINVAL;
811 }
812
813 if (!(flags & MAP_FIXED))
814 ia32_set_pp((unsigned int)start, (unsigned int)end, flags);
815out:
816 return start;
817}
818
819#endif /* PAGE_SHIFT > IA32_PAGE_SHIFT */
820
821static inline unsigned int
822get_prot32 (unsigned int prot)
823{
824 if (prot & PROT_WRITE)
825 /* on x86, PROT_WRITE implies PROT_READ which implies PROT_EEC */
826 prot |= PROT_READ | PROT_WRITE | PROT_EXEC;
827 else if (prot & (PROT_READ | PROT_EXEC))
828 /* on x86, there is no distinction between PROT_READ and PROT_EXEC */
829 prot |= (PROT_READ | PROT_EXEC);
830
831 return prot;
832}
833
834unsigned long
835ia32_do_mmap (struct file *file, unsigned long addr, unsigned long len, int prot, int flags,
836 loff_t offset)
837{
838 DBG("ia32_do_mmap(file=%p,addr=0x%lx,len=0x%lx,prot=%x,flags=%x,offset=0x%llx)\n",
839 file, addr, len, prot, flags, offset);
840
841 if (file && (!file->f_op || !file->f_op->mmap))
842 return -ENODEV;
843
844 len = IA32_PAGE_ALIGN(len);
845 if (len == 0)
846 return addr;
847
848 if (len > IA32_PAGE_OFFSET || addr > IA32_PAGE_OFFSET - len)
849 {
850 if (flags & MAP_FIXED)
851 return -ENOMEM;
852 else
853 return -EINVAL;
854 }
855
856 if (OFFSET4K(offset))
857 return -EINVAL;
858
859 prot = get_prot32(prot);
860
861 if (flags & MAP_HUGETLB)
862 return -ENOMEM;
863
864#if PAGE_SHIFT > IA32_PAGE_SHIFT
865 mutex_lock(&ia32_mmap_mutex);
866 {
867 addr = emulate_mmap(file, addr, len, prot, flags, offset);
868 }
869 mutex_unlock(&ia32_mmap_mutex);
870#else
871 down_write(&current->mm->mmap_sem);
872 {
873 addr = do_mmap(file, addr, len, prot, flags, offset);
874 }
875 up_write(&current->mm->mmap_sem);
876#endif
877 DBG("ia32_do_mmap: returning 0x%lx\n", addr);
878 return addr;
879}
880
881/*
882 * Linux/i386 didn't use to be able to handle more than 4 system call parameters, so these
883 * system calls used a memory block for parameter passing..
884 */
885
886struct mmap_arg_struct {
887 unsigned int addr;
888 unsigned int len;
889 unsigned int prot;
890 unsigned int flags;
891 unsigned int fd;
892 unsigned int offset;
893};
894
895asmlinkage long
896sys32_mmap (struct mmap_arg_struct __user *arg)
897{
898 struct mmap_arg_struct a;
899 struct file *file = NULL;
900 unsigned long addr;
901 int flags;
902
903 if (copy_from_user(&a, arg, sizeof(a)))
904 return -EFAULT;
905
906 if (OFFSET4K(a.offset))
907 return -EINVAL;
908
909 flags = a.flags;
910
911 flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE);
912 if (!(flags & MAP_ANONYMOUS)) {
913 file = fget(a.fd);
914 if (!file)
915 return -EBADF;
916 }
917
918 addr = ia32_do_mmap(file, a.addr, a.len, a.prot, flags, a.offset);
919
920 if (file)
921 fput(file);
922 return addr;
923}
924
925asmlinkage long
926sys32_mmap2 (unsigned int addr, unsigned int len, unsigned int prot, unsigned int flags,
927 unsigned int fd, unsigned int pgoff)
928{
929 struct file *file = NULL;
930 unsigned long retval;
931
932 flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE);
933 if (!(flags & MAP_ANONYMOUS)) {
934 file = fget(fd);
935 if (!file)
936 return -EBADF;
937 }
938
939 retval = ia32_do_mmap(file, addr, len, prot, flags,
940 (unsigned long) pgoff << IA32_PAGE_SHIFT);
941
942 if (file)
943 fput(file);
944 return retval;
945}
946
947asmlinkage long
948sys32_munmap (unsigned int start, unsigned int len)
949{
950 unsigned int end = start + len;
951 long ret;
952
953#if PAGE_SHIFT <= IA32_PAGE_SHIFT
954 ret = sys_munmap(start, end - start);
955#else
956 if (OFFSET4K(start))
957 return -EINVAL;
958
959 end = IA32_PAGE_ALIGN(end);
960 if (start >= end)
961 return -EINVAL;
962
963 ret = ia32_unset_pp(&start, &end);
964 if (ret < 0)
965 return ret;
966
967 if (start >= end)
968 return 0;
969
970 mutex_lock(&ia32_mmap_mutex);
971 ret = sys_munmap(start, end - start);
972 mutex_unlock(&ia32_mmap_mutex);
973#endif
974 return ret;
975}
976
977#if PAGE_SHIFT > IA32_PAGE_SHIFT
978
979/*
980 * When mprotect()ing a partial page, we set the permission to the union of the old
981 * settings and the new settings. In other words, it's only possible to make access to a
982 * partial page less restrictive.
983 */
984static long
985mprotect_subpage (unsigned long address, int new_prot)
986{
987 int old_prot;
988 struct vm_area_struct *vma;
989
990 if (new_prot == PROT_NONE)
991 return 0; /* optimize case where nothing changes... */
992 vma = find_vma(current->mm, address);
993 old_prot = get_page_prot(vma, address);
994 return sys_mprotect(address, PAGE_SIZE, new_prot | old_prot);
995}
996
997#endif /* PAGE_SHIFT > IA32_PAGE_SHIFT */
998
999asmlinkage long
1000sys32_mprotect (unsigned int start, unsigned int len, int prot)
1001{
1002 unsigned int end = start + len;
1003#if PAGE_SHIFT > IA32_PAGE_SHIFT
1004 long retval = 0;
1005#endif
1006
1007 prot = get_prot32(prot);
1008
1009#if PAGE_SHIFT <= IA32_PAGE_SHIFT
1010 return sys_mprotect(start, end - start, prot);
1011#else
1012 if (OFFSET4K(start))
1013 return -EINVAL;
1014
1015 end = IA32_PAGE_ALIGN(end);
1016 if (end < start)
1017 return -EINVAL;
1018
1019 retval = ia32_compare_pp(&start, &end);
1020
1021 if (retval < 0)
1022 return retval;
1023
1024 mutex_lock(&ia32_mmap_mutex);
1025 {
1026 if (offset_in_page(start)) {
1027 /* start address is 4KB aligned but not page aligned. */
1028 retval = mprotect_subpage(PAGE_START(start), prot);
1029 if (retval < 0)
1030 goto out;
1031
1032 start = PAGE_ALIGN(start);
1033 if (start >= end)
1034 goto out; /* retval is already zero... */
1035 }
1036
1037 if (offset_in_page(end)) {
1038 /* end address is 4KB aligned but not page aligned. */
1039 retval = mprotect_subpage(PAGE_START(end), prot);
1040 if (retval < 0)
1041 goto out;
1042
1043 end = PAGE_START(end);
1044 }
1045 retval = sys_mprotect(start, end - start, prot);
1046 }
1047 out:
1048 mutex_unlock(&ia32_mmap_mutex);
1049 return retval;
1050#endif
1051}
1052
1053asmlinkage long
1054sys32_mremap (unsigned int addr, unsigned int old_len, unsigned int new_len,
1055 unsigned int flags, unsigned int new_addr)
1056{
1057 long ret;
1058
1059#if PAGE_SHIFT <= IA32_PAGE_SHIFT
1060 ret = sys_mremap(addr, old_len, new_len, flags, new_addr);
1061#else
1062 unsigned int old_end, new_end;
1063
1064 if (OFFSET4K(addr))
1065 return -EINVAL;
1066
1067 old_len = IA32_PAGE_ALIGN(old_len);
1068 new_len = IA32_PAGE_ALIGN(new_len);
1069 old_end = addr + old_len;
1070 new_end = addr + new_len;
1071
1072 if (!new_len)
1073 return -EINVAL;
1074
1075 if ((flags & MREMAP_FIXED) && (OFFSET4K(new_addr)))
1076 return -EINVAL;
1077
1078 if (old_len >= new_len) {
1079 ret = sys32_munmap(addr + new_len, old_len - new_len);
1080 if (ret && old_len != new_len)
1081 return ret;
1082 ret = addr;
1083 if (!(flags & MREMAP_FIXED) || (new_addr == addr))
1084 return ret;
1085 old_len = new_len;
1086 }
1087
1088 addr = PAGE_START(addr);
1089 old_len = PAGE_ALIGN(old_end) - addr;
1090 new_len = PAGE_ALIGN(new_end) - addr;
1091
1092 mutex_lock(&ia32_mmap_mutex);
1093 ret = sys_mremap(addr, old_len, new_len, flags, new_addr);
1094 mutex_unlock(&ia32_mmap_mutex);
1095
1096 if ((ret >= 0) && (old_len < new_len)) {
1097 /* mremap expanded successfully */
1098 ia32_set_pp(old_end, new_end, flags);
1099 }
1100#endif
1101 return ret;
1102}
1103
1104asmlinkage unsigned long
1105sys32_alarm (unsigned int seconds)
1106{
1107 return alarm_setitimer(seconds);
1108}
1109
1110struct sel_arg_struct {
1111 unsigned int n;
1112 unsigned int inp;
1113 unsigned int outp;
1114 unsigned int exp;
1115 unsigned int tvp;
1116};
1117
1118asmlinkage long
1119sys32_old_select (struct sel_arg_struct __user *arg)
1120{
1121 struct sel_arg_struct a;
1122
1123 if (copy_from_user(&a, arg, sizeof(a)))
1124 return -EFAULT;
1125 return compat_sys_select(a.n, compat_ptr(a.inp), compat_ptr(a.outp),
1126 compat_ptr(a.exp), compat_ptr(a.tvp));
1127}
1128
1129#define SEMOP 1
1130#define SEMGET 2
1131#define SEMCTL 3
1132#define SEMTIMEDOP 4
1133#define MSGSND 11
1134#define MSGRCV 12
1135#define MSGGET 13
1136#define MSGCTL 14
1137#define SHMAT 21
1138#define SHMDT 22
1139#define SHMGET 23
1140#define SHMCTL 24
1141
1142asmlinkage long
1143sys32_ipc(u32 call, int first, int second, int third, u32 ptr, u32 fifth)
1144{
1145 int version;
1146
1147 version = call >> 16; /* hack for backward compatibility */
1148 call &= 0xffff;
1149
1150 switch (call) {
1151 case SEMTIMEDOP:
1152 if (fifth)
1153 return compat_sys_semtimedop(first, compat_ptr(ptr),
1154 second, compat_ptr(fifth));
1155 /* else fall through for normal semop() */
1156 case SEMOP:
1157 /* struct sembuf is the same on 32 and 64bit :)) */
1158 return sys_semtimedop(first, compat_ptr(ptr), second,
1159 NULL);
1160 case SEMGET:
1161 return sys_semget(first, second, third);
1162 case SEMCTL:
1163 return compat_sys_semctl(first, second, third, compat_ptr(ptr));
1164
1165 case MSGSND:
1166 return compat_sys_msgsnd(first, second, third, compat_ptr(ptr));
1167 case MSGRCV:
1168 return compat_sys_msgrcv(first, second, fifth, third, version, compat_ptr(ptr));
1169 case MSGGET:
1170 return sys_msgget((key_t) first, second);
1171 case MSGCTL:
1172 return compat_sys_msgctl(first, second, compat_ptr(ptr));
1173
1174 case SHMAT:
1175 return compat_sys_shmat(first, second, third, version, compat_ptr(ptr));
1176 break;
1177 case SHMDT:
1178 return sys_shmdt(compat_ptr(ptr));
1179 case SHMGET:
1180 return sys_shmget(first, (unsigned)second, third);
1181 case SHMCTL:
1182 return compat_sys_shmctl(first, second, compat_ptr(ptr));
1183
1184 default:
1185 return -ENOSYS;
1186 }
1187 return -EINVAL;
1188}
1189
1190asmlinkage long
1191compat_sys_wait4 (compat_pid_t pid, compat_uint_t * stat_addr, int options,
1192 struct compat_rusage *ru);
1193
1194asmlinkage long
1195sys32_waitpid (int pid, unsigned int *stat_addr, int options)
1196{
1197 return compat_sys_wait4(pid, stat_addr, options, NULL);
1198}
1199
1200/*
1201 * The order in which registers are stored in the ptrace regs structure
1202 */
1203#define PT_EBX 0
1204#define PT_ECX 1
1205#define PT_EDX 2
1206#define PT_ESI 3
1207#define PT_EDI 4
1208#define PT_EBP 5
1209#define PT_EAX 6
1210#define PT_DS 7
1211#define PT_ES 8
1212#define PT_FS 9
1213#define PT_GS 10
1214#define PT_ORIG_EAX 11
1215#define PT_EIP 12
1216#define PT_CS 13
1217#define PT_EFL 14
1218#define PT_UESP 15
1219#define PT_SS 16
1220
1221static unsigned int
1222getreg (struct task_struct *child, int regno)
1223{
1224 struct pt_regs *child_regs;
1225
1226 child_regs = task_pt_regs(child);
1227 switch (regno / sizeof(int)) {
1228 case PT_EBX: return child_regs->r11;
1229 case PT_ECX: return child_regs->r9;
1230 case PT_EDX: return child_regs->r10;
1231 case PT_ESI: return child_regs->r14;
1232 case PT_EDI: return child_regs->r15;
1233 case PT_EBP: return child_regs->r13;
1234 case PT_EAX: return child_regs->r8;
1235 case PT_ORIG_EAX: return child_regs->r1; /* see dispatch_to_ia32_handler() */
1236 case PT_EIP: return child_regs->cr_iip;
1237 case PT_UESP: return child_regs->r12;
1238 case PT_EFL: return child->thread.eflag;
1239 case PT_DS: case PT_ES: case PT_FS: case PT_GS: case PT_SS:
1240 return __USER_DS;
1241 case PT_CS: return __USER_CS;
1242 default:
1243 printk(KERN_ERR "ia32.getreg(): unknown register %d\n", regno);
1244 break;
1245 }
1246 return 0;
1247}
1248
1249static void
1250putreg (struct task_struct *child, int regno, unsigned int value)
1251{
1252 struct pt_regs *child_regs;
1253
1254 child_regs = task_pt_regs(child);
1255 switch (regno / sizeof(int)) {
1256 case PT_EBX: child_regs->r11 = value; break;
1257 case PT_ECX: child_regs->r9 = value; break;
1258 case PT_EDX: child_regs->r10 = value; break;
1259 case PT_ESI: child_regs->r14 = value; break;
1260 case PT_EDI: child_regs->r15 = value; break;
1261 case PT_EBP: child_regs->r13 = value; break;
1262 case PT_EAX: child_regs->r8 = value; break;
1263 case PT_ORIG_EAX: child_regs->r1 = value; break;
1264 case PT_EIP: child_regs->cr_iip = value; break;
1265 case PT_UESP: child_regs->r12 = value; break;
1266 case PT_EFL: child->thread.eflag = value; break;
1267 case PT_DS: case PT_ES: case PT_FS: case PT_GS: case PT_SS:
1268 if (value != __USER_DS)
1269 printk(KERN_ERR
1270 "ia32.putreg: attempt to set invalid segment register %d = %x\n",
1271 regno, value);
1272 break;
1273 case PT_CS:
1274 if (value != __USER_CS)
1275 printk(KERN_ERR
1276 "ia32.putreg: attempt to set invalid segment register %d = %x\n",
1277 regno, value);
1278 break;
1279 default:
1280 printk(KERN_ERR "ia32.putreg: unknown register %d\n", regno);
1281 break;
1282 }
1283}
1284
1285static void
1286put_fpreg (int regno, struct _fpreg_ia32 __user *reg, struct pt_regs *ptp,
1287 struct switch_stack *swp, int tos)
1288{
1289 struct _fpreg_ia32 *f;
1290 char buf[32];
1291
1292 f = (struct _fpreg_ia32 *)(((unsigned long)buf + 15) & ~15);
1293 if ((regno += tos) >= 8)
1294 regno -= 8;
1295 switch (regno) {
1296 case 0:
1297 ia64f2ia32f(f, &ptp->f8);
1298 break;
1299 case 1:
1300 ia64f2ia32f(f, &ptp->f9);
1301 break;
1302 case 2:
1303 ia64f2ia32f(f, &ptp->f10);
1304 break;
1305 case 3:
1306 ia64f2ia32f(f, &ptp->f11);
1307 break;
1308 case 4:
1309 case 5:
1310 case 6:
1311 case 7:
1312 ia64f2ia32f(f, &swp->f12 + (regno - 4));
1313 break;
1314 }
1315 copy_to_user(reg, f, sizeof(*reg));
1316}
1317
1318static void
1319get_fpreg (int regno, struct _fpreg_ia32 __user *reg, struct pt_regs *ptp,
1320 struct switch_stack *swp, int tos)
1321{
1322
1323 if ((regno += tos) >= 8)
1324 regno -= 8;
1325 switch (regno) {
1326 case 0:
1327 copy_from_user(&ptp->f8, reg, sizeof(*reg));
1328 break;
1329 case 1:
1330 copy_from_user(&ptp->f9, reg, sizeof(*reg));
1331 break;
1332 case 2:
1333 copy_from_user(&ptp->f10, reg, sizeof(*reg));
1334 break;
1335 case 3:
1336 copy_from_user(&ptp->f11, reg, sizeof(*reg));
1337 break;
1338 case 4:
1339 case 5:
1340 case 6:
1341 case 7:
1342 copy_from_user(&swp->f12 + (regno - 4), reg, sizeof(*reg));
1343 break;
1344 }
1345 return;
1346}
1347
1348int
1349save_ia32_fpstate (struct task_struct *tsk, struct ia32_user_i387_struct __user *save)
1350{
1351 struct switch_stack *swp;
1352 struct pt_regs *ptp;
1353 int i, tos;
1354
1355 if (!access_ok(VERIFY_WRITE, save, sizeof(*save)))
1356 return -EFAULT;
1357
1358 __put_user(tsk->thread.fcr & 0xffff, &save->cwd);
1359 __put_user(tsk->thread.fsr & 0xffff, &save->swd);
1360 __put_user((tsk->thread.fsr>>16) & 0xffff, &save->twd);
1361 __put_user(tsk->thread.fir, &save->fip);
1362 __put_user((tsk->thread.fir>>32) & 0xffff, &save->fcs);
1363 __put_user(tsk->thread.fdr, &save->foo);
1364 __put_user((tsk->thread.fdr>>32) & 0xffff, &save->fos);
1365
1366 /*
1367 * Stack frames start with 16-bytes of temp space
1368 */
1369 swp = (struct switch_stack *)(tsk->thread.ksp + 16);
1370 ptp = task_pt_regs(tsk);
1371 tos = (tsk->thread.fsr >> 11) & 7;
1372 for (i = 0; i < 8; i++)
1373 put_fpreg(i, &save->st_space[i], ptp, swp, tos);
1374 return 0;
1375}
1376
1377static int
1378restore_ia32_fpstate (struct task_struct *tsk, struct ia32_user_i387_struct __user *save)
1379{
1380 struct switch_stack *swp;
1381 struct pt_regs *ptp;
1382 int i, tos;
1383 unsigned int fsrlo, fsrhi, num32;
1384
1385 if (!access_ok(VERIFY_READ, save, sizeof(*save)))
1386 return(-EFAULT);
1387
1388 __get_user(num32, (unsigned int __user *)&save->cwd);
1389 tsk->thread.fcr = (tsk->thread.fcr & (~0x1f3f)) | (num32 & 0x1f3f);
1390 __get_user(fsrlo, (unsigned int __user *)&save->swd);
1391 __get_user(fsrhi, (unsigned int __user *)&save->twd);
1392 num32 = (fsrhi << 16) | fsrlo;
1393 tsk->thread.fsr = (tsk->thread.fsr & (~0xffffffff)) | num32;
1394 __get_user(num32, (unsigned int __user *)&save->fip);
1395 tsk->thread.fir = (tsk->thread.fir & (~0xffffffff)) | num32;
1396 __get_user(num32, (unsigned int __user *)&save->foo);
1397 tsk->thread.fdr = (tsk->thread.fdr & (~0xffffffff)) | num32;
1398
1399 /*
1400 * Stack frames start with 16-bytes of temp space
1401 */
1402 swp = (struct switch_stack *)(tsk->thread.ksp + 16);
1403 ptp = task_pt_regs(tsk);
1404 tos = (tsk->thread.fsr >> 11) & 7;
1405 for (i = 0; i < 8; i++)
1406 get_fpreg(i, &save->st_space[i], ptp, swp, tos);
1407 return 0;
1408}
1409
1410int
1411save_ia32_fpxstate (struct task_struct *tsk, struct ia32_user_fxsr_struct __user *save)
1412{
1413 struct switch_stack *swp;
1414 struct pt_regs *ptp;
1415 int i, tos;
1416 unsigned long mxcsr=0;
1417 unsigned long num128[2];
1418
1419 if (!access_ok(VERIFY_WRITE, save, sizeof(*save)))
1420 return -EFAULT;
1421
1422 __put_user(tsk->thread.fcr & 0xffff, &save->cwd);
1423 __put_user(tsk->thread.fsr & 0xffff, &save->swd);
1424 __put_user((tsk->thread.fsr>>16) & 0xffff, &save->twd);
1425 __put_user(tsk->thread.fir, &save->fip);
1426 __put_user((tsk->thread.fir>>32) & 0xffff, &save->fcs);
1427 __put_user(tsk->thread.fdr, &save->foo);
1428 __put_user((tsk->thread.fdr>>32) & 0xffff, &save->fos);
1429
1430 /*
1431 * Stack frames start with 16-bytes of temp space
1432 */
1433 swp = (struct switch_stack *)(tsk->thread.ksp + 16);
1434 ptp = task_pt_regs(tsk);
1435 tos = (tsk->thread.fsr >> 11) & 7;
1436 for (i = 0; i < 8; i++)
1437 put_fpreg(i, (struct _fpreg_ia32 __user *)&save->st_space[4*i], ptp, swp, tos);
1438
1439 mxcsr = ((tsk->thread.fcr>>32) & 0xff80) | ((tsk->thread.fsr>>32) & 0x3f);
1440 __put_user(mxcsr & 0xffff, &save->mxcsr);
1441 for (i = 0; i < 8; i++) {
1442 memcpy(&(num128[0]), &(swp->f16) + i*2, sizeof(unsigned long));
1443 memcpy(&(num128[1]), &(swp->f17) + i*2, sizeof(unsigned long));
1444 copy_to_user(&save->xmm_space[0] + 4*i, num128, sizeof(struct _xmmreg_ia32));
1445 }
1446 return 0;
1447}
1448
1449static int
1450restore_ia32_fpxstate (struct task_struct *tsk, struct ia32_user_fxsr_struct __user *save)
1451{
1452 struct switch_stack *swp;
1453 struct pt_regs *ptp;
1454 int i, tos;
1455 unsigned int fsrlo, fsrhi, num32;
1456 int mxcsr;
1457 unsigned long num64;
1458 unsigned long num128[2];
1459
1460 if (!access_ok(VERIFY_READ, save, sizeof(*save)))
1461 return(-EFAULT);
1462
1463 __get_user(num32, (unsigned int __user *)&save->cwd);
1464 tsk->thread.fcr = (tsk->thread.fcr & (~0x1f3f)) | (num32 & 0x1f3f);
1465 __get_user(fsrlo, (unsigned int __user *)&save->swd);
1466 __get_user(fsrhi, (unsigned int __user *)&save->twd);
1467 num32 = (fsrhi << 16) | fsrlo;
1468 tsk->thread.fsr = (tsk->thread.fsr & (~0xffffffff)) | num32;
1469 __get_user(num32, (unsigned int __user *)&save->fip);
1470 tsk->thread.fir = (tsk->thread.fir & (~0xffffffff)) | num32;
1471 __get_user(num32, (unsigned int __user *)&save->foo);
1472 tsk->thread.fdr = (tsk->thread.fdr & (~0xffffffff)) | num32;
1473
1474 /*
1475 * Stack frames start with 16-bytes of temp space
1476 */
1477 swp = (struct switch_stack *)(tsk->thread.ksp + 16);
1478 ptp = task_pt_regs(tsk);
1479 tos = (tsk->thread.fsr >> 11) & 7;
1480 for (i = 0; i < 8; i++)
1481 get_fpreg(i, (struct _fpreg_ia32 __user *)&save->st_space[4*i], ptp, swp, tos);
1482
1483 __get_user(mxcsr, (unsigned int __user *)&save->mxcsr);
1484 num64 = mxcsr & 0xff10;
1485 tsk->thread.fcr = (tsk->thread.fcr & (~0xff1000000000UL)) | (num64<<32);
1486 num64 = mxcsr & 0x3f;
1487 tsk->thread.fsr = (tsk->thread.fsr & (~0x3f00000000UL)) | (num64<<32);
1488
1489 for (i = 0; i < 8; i++) {
1490 copy_from_user(num128, &save->xmm_space[0] + 4*i, sizeof(struct _xmmreg_ia32));
1491 memcpy(&(swp->f16) + i*2, &(num128[0]), sizeof(unsigned long));
1492 memcpy(&(swp->f17) + i*2, &(num128[1]), sizeof(unsigned long));
1493 }
1494 return 0;
1495}
1496
1497long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
1498 compat_ulong_t caddr, compat_ulong_t cdata)
1499{
1500 unsigned long addr = caddr;
1501 unsigned long data = cdata;
1502 unsigned int tmp;
1503 long i, ret;
1504
1505 switch (request) {
1506 case PTRACE_PEEKUSR: /* read word at addr in USER area */
1507 ret = -EIO;
1508 if ((addr & 3) || addr > 17*sizeof(int))
1509 break;
1510
1511 tmp = getreg(child, addr);
1512 if (!put_user(tmp, (unsigned int __user *) compat_ptr(data)))
1513 ret = 0;
1514 break;
1515
1516 case PTRACE_POKEUSR: /* write word at addr in USER area */
1517 ret = -EIO;
1518 if ((addr & 3) || addr > 17*sizeof(int))
1519 break;
1520
1521 putreg(child, addr, data);
1522 ret = 0;
1523 break;
1524
1525 case IA32_PTRACE_GETREGS:
1526 if (!access_ok(VERIFY_WRITE, compat_ptr(data), 17*sizeof(int))) {
1527 ret = -EIO;
1528 break;
1529 }
1530 for (i = 0; i < (int) (17*sizeof(int)); i += sizeof(int) ) {
1531 put_user(getreg(child, i), (unsigned int __user *) compat_ptr(data));
1532 data += sizeof(int);
1533 }
1534 ret = 0;
1535 break;
1536
1537 case IA32_PTRACE_SETREGS:
1538 if (!access_ok(VERIFY_READ, compat_ptr(data), 17*sizeof(int))) {
1539 ret = -EIO;
1540 break;
1541 }
1542 for (i = 0; i < (int) (17*sizeof(int)); i += sizeof(int) ) {
1543 get_user(tmp, (unsigned int __user *) compat_ptr(data));
1544 putreg(child, i, tmp);
1545 data += sizeof(int);
1546 }
1547 ret = 0;
1548 break;
1549
1550 case IA32_PTRACE_GETFPREGS:
1551 ret = save_ia32_fpstate(child, (struct ia32_user_i387_struct __user *)
1552 compat_ptr(data));
1553 break;
1554
1555 case IA32_PTRACE_GETFPXREGS:
1556 ret = save_ia32_fpxstate(child, (struct ia32_user_fxsr_struct __user *)
1557 compat_ptr(data));
1558 break;
1559
1560 case IA32_PTRACE_SETFPREGS:
1561 ret = restore_ia32_fpstate(child, (struct ia32_user_i387_struct __user *)
1562 compat_ptr(data));
1563 break;
1564
1565 case IA32_PTRACE_SETFPXREGS:
1566 ret = restore_ia32_fpxstate(child, (struct ia32_user_fxsr_struct __user *)
1567 compat_ptr(data));
1568 break;
1569
1570 default:
1571 return compat_ptrace_request(child, request, caddr, cdata);
1572 }
1573 return ret;
1574}
1575
1576typedef struct {
1577 unsigned int ss_sp;
1578 unsigned int ss_flags;
1579 unsigned int ss_size;
1580} ia32_stack_t;
1581
1582asmlinkage long
1583sys32_sigaltstack (ia32_stack_t __user *uss32, ia32_stack_t __user *uoss32,
1584 long arg2, long arg3, long arg4, long arg5, long arg6,
1585 long arg7, struct pt_regs pt)
1586{
1587 stack_t uss, uoss;
1588 ia32_stack_t buf32;
1589 int ret;
1590 mm_segment_t old_fs = get_fs();
1591
1592 if (uss32) {
1593 if (copy_from_user(&buf32, uss32, sizeof(ia32_stack_t)))
1594 return -EFAULT;
1595 uss.ss_sp = (void __user *) (long) buf32.ss_sp;
1596 uss.ss_flags = buf32.ss_flags;
1597 /* MINSIGSTKSZ is different for ia32 vs ia64. We lie here to pass the
1598 check and set it to the user requested value later */
1599 if ((buf32.ss_flags != SS_DISABLE) && (buf32.ss_size < MINSIGSTKSZ_IA32)) {
1600 ret = -ENOMEM;
1601 goto out;
1602 }
1603 uss.ss_size = MINSIGSTKSZ;
1604 }
1605 set_fs(KERNEL_DS);
1606 ret = do_sigaltstack(uss32 ? (stack_t __user *) &uss : NULL,
1607 (stack_t __user *) &uoss, pt.r12);
1608 current->sas_ss_size = buf32.ss_size;
1609 set_fs(old_fs);
1610out:
1611 if (ret < 0)
1612 return(ret);
1613 if (uoss32) {
1614 buf32.ss_sp = (long __user) uoss.ss_sp;
1615 buf32.ss_flags = uoss.ss_flags;
1616 buf32.ss_size = uoss.ss_size;
1617 if (copy_to_user(uoss32, &buf32, sizeof(ia32_stack_t)))
1618 return -EFAULT;
1619 }
1620 return ret;
1621}
1622
1623asmlinkage int
1624sys32_msync (unsigned int start, unsigned int len, int flags)
1625{
1626 unsigned int addr;
1627
1628 if (OFFSET4K(start))
1629 return -EINVAL;
1630 addr = PAGE_START(start);
1631 return sys_msync(addr, len + (start - addr), flags);
1632}
1633
1634asmlinkage long
1635sys32_newuname (struct new_utsname __user *name)
1636{
1637 int ret = sys_newuname(name);
1638
1639 if (!ret)
1640 if (copy_to_user(name->machine, "i686\0\0\0", 8))
1641 ret = -EFAULT;
1642 return ret;
1643}
1644
1645asmlinkage long
1646sys32_getresuid16 (u16 __user *ruid, u16 __user *euid, u16 __user *suid)
1647{
1648 uid_t a, b, c;
1649 int ret;
1650 mm_segment_t old_fs = get_fs();
1651
1652 set_fs(KERNEL_DS);
1653 ret = sys_getresuid((uid_t __user *) &a, (uid_t __user *) &b, (uid_t __user *) &c);
1654 set_fs(old_fs);
1655
1656 if (put_user(a, ruid) || put_user(b, euid) || put_user(c, suid))
1657 return -EFAULT;
1658 return ret;
1659}
1660
1661asmlinkage long
1662sys32_getresgid16 (u16 __user *rgid, u16 __user *egid, u16 __user *sgid)
1663{
1664 gid_t a, b, c;
1665 int ret;
1666 mm_segment_t old_fs = get_fs();
1667
1668 set_fs(KERNEL_DS);
1669 ret = sys_getresgid((gid_t __user *) &a, (gid_t __user *) &b, (gid_t __user *) &c);
1670 set_fs(old_fs);
1671
1672 if (ret)
1673 return ret;
1674
1675 return put_user(a, rgid) | put_user(b, egid) | put_user(c, sgid);
1676}
1677
1678asmlinkage long
1679sys32_lseek (unsigned int fd, int offset, unsigned int whence)
1680{
1681 /* Sign-extension of "offset" is important here... */
1682 return sys_lseek(fd, offset, whence);
1683}
1684
1685static int
1686groups16_to_user(short __user *grouplist, struct group_info *group_info)
1687{
1688 int i;
1689 short group;
1690
1691 for (i = 0; i < group_info->ngroups; i++) {
1692 group = (short)GROUP_AT(group_info, i);
1693 if (put_user(group, grouplist+i))
1694 return -EFAULT;
1695 }
1696
1697 return 0;
1698}
1699
1700static int
1701groups16_from_user(struct group_info *group_info, short __user *grouplist)
1702{
1703 int i;
1704 short group;
1705
1706 for (i = 0; i < group_info->ngroups; i++) {
1707 if (get_user(group, grouplist+i))
1708 return -EFAULT;
1709 GROUP_AT(group_info, i) = (gid_t)group;
1710 }
1711
1712 return 0;
1713}
1714
1715asmlinkage long
1716sys32_getgroups16 (int gidsetsize, short __user *grouplist)
1717{
1718 const struct cred *cred = current_cred();
1719 int i;
1720
1721 if (gidsetsize < 0)
1722 return -EINVAL;
1723
1724 i = cred->group_info->ngroups;
1725 if (gidsetsize) {
1726 if (i > gidsetsize) {
1727 i = -EINVAL;
1728 goto out;
1729 }
1730 if (groups16_to_user(grouplist, cred->group_info)) {
1731 i = -EFAULT;
1732 goto out;
1733 }
1734 }
1735out:
1736 return i;
1737}
1738
1739asmlinkage long
1740sys32_setgroups16 (int gidsetsize, short __user *grouplist)
1741{
1742 struct group_info *group_info;
1743 int retval;
1744
1745 if (!capable(CAP_SETGID))
1746 return -EPERM;
1747 if ((unsigned)gidsetsize > NGROUPS_MAX)
1748 return -EINVAL;
1749
1750 group_info = groups_alloc(gidsetsize);
1751 if (!group_info)
1752 return -ENOMEM;
1753 retval = groups16_from_user(group_info, grouplist);
1754 if (retval) {
1755 put_group_info(group_info);
1756 return retval;
1757 }
1758
1759 retval = set_current_groups(group_info);
1760 put_group_info(group_info);
1761
1762 return retval;
1763}
1764
1765asmlinkage long
1766sys32_truncate64 (unsigned int path, unsigned int len_lo, unsigned int len_hi)
1767{
1768 return sys_truncate(compat_ptr(path), ((unsigned long) len_hi << 32) | len_lo);
1769}
1770
1771asmlinkage long
1772sys32_ftruncate64 (int fd, unsigned int len_lo, unsigned int len_hi)
1773{
1774 return sys_ftruncate(fd, ((unsigned long) len_hi << 32) | len_lo);
1775}
1776
1777static int
1778putstat64 (struct stat64 __user *ubuf, struct kstat *kbuf)
1779{
1780 int err;
1781 u64 hdev;
1782
1783 if (clear_user(ubuf, sizeof(*ubuf)))
1784 return -EFAULT;
1785
1786 hdev = huge_encode_dev(kbuf->dev);
1787 err = __put_user(hdev, (u32 __user*)&ubuf->st_dev);
1788 err |= __put_user(hdev >> 32, ((u32 __user*)&ubuf->st_dev) + 1);
1789 err |= __put_user(kbuf->ino, &ubuf->__st_ino);
1790 err |= __put_user(kbuf->ino, &ubuf->st_ino_lo);
1791 err |= __put_user(kbuf->ino >> 32, &ubuf->st_ino_hi);
1792 err |= __put_user(kbuf->mode, &ubuf->st_mode);
1793 err |= __put_user(kbuf->nlink, &ubuf->st_nlink);
1794 err |= __put_user(kbuf->uid, &ubuf->st_uid);
1795 err |= __put_user(kbuf->gid, &ubuf->st_gid);
1796 hdev = huge_encode_dev(kbuf->rdev);
1797 err = __put_user(hdev, (u32 __user*)&ubuf->st_rdev);
1798 err |= __put_user(hdev >> 32, ((u32 __user*)&ubuf->st_rdev) + 1);
1799 err |= __put_user(kbuf->size, &ubuf->st_size_lo);
1800 err |= __put_user((kbuf->size >> 32), &ubuf->st_size_hi);
1801 err |= __put_user(kbuf->atime.tv_sec, &ubuf->st_atime);
1802 err |= __put_user(kbuf->atime.tv_nsec, &ubuf->st_atime_nsec);
1803 err |= __put_user(kbuf->mtime.tv_sec, &ubuf->st_mtime);
1804 err |= __put_user(kbuf->mtime.tv_nsec, &ubuf->st_mtime_nsec);
1805 err |= __put_user(kbuf->ctime.tv_sec, &ubuf->st_ctime);
1806 err |= __put_user(kbuf->ctime.tv_nsec, &ubuf->st_ctime_nsec);
1807 err |= __put_user(kbuf->blksize, &ubuf->st_blksize);
1808 err |= __put_user(kbuf->blocks, &ubuf->st_blocks);
1809 return err;
1810}
1811
1812asmlinkage long
1813sys32_stat64 (char __user *filename, struct stat64 __user *statbuf)
1814{
1815 struct kstat s;
1816 long ret = vfs_stat(filename, &s);
1817 if (!ret)
1818 ret = putstat64(statbuf, &s);
1819 return ret;
1820}
1821
1822asmlinkage long
1823sys32_lstat64 (char __user *filename, struct stat64 __user *statbuf)
1824{
1825 struct kstat s;
1826 long ret = vfs_lstat(filename, &s);
1827 if (!ret)
1828 ret = putstat64(statbuf, &s);
1829 return ret;
1830}
1831
1832asmlinkage long
1833sys32_fstat64 (unsigned int fd, struct stat64 __user *statbuf)
1834{
1835 struct kstat s;
1836 long ret = vfs_fstat(fd, &s);
1837 if (!ret)
1838 ret = putstat64(statbuf, &s);
1839 return ret;
1840}
1841
1842asmlinkage long
1843sys32_sched_rr_get_interval (pid_t pid, struct compat_timespec __user *interval)
1844{
1845 mm_segment_t old_fs = get_fs();
1846 struct timespec t;
1847 long ret;
1848
1849 set_fs(KERNEL_DS);
1850 ret = sys_sched_rr_get_interval(pid, (struct timespec __user *) &t);
1851 set_fs(old_fs);
1852 if (put_compat_timespec(&t, interval))
1853 return -EFAULT;
1854 return ret;
1855}
1856
1857asmlinkage long
1858sys32_pread (unsigned int fd, void __user *buf, unsigned int count, u32 pos_lo, u32 pos_hi)
1859{
1860 return sys_pread64(fd, buf, count, ((unsigned long) pos_hi << 32) | pos_lo);
1861}
1862
1863asmlinkage long
1864sys32_pwrite (unsigned int fd, void __user *buf, unsigned int count, u32 pos_lo, u32 pos_hi)
1865{
1866 return sys_pwrite64(fd, buf, count, ((unsigned long) pos_hi << 32) | pos_lo);
1867}
1868
1869asmlinkage long
1870sys32_sendfile (int out_fd, int in_fd, int __user *offset, unsigned int count)
1871{
1872 mm_segment_t old_fs = get_fs();
1873 long ret;
1874 off_t of;
1875
1876 if (offset && get_user(of, offset))
1877 return -EFAULT;
1878
1879 set_fs(KERNEL_DS);
1880 ret = sys_sendfile(out_fd, in_fd, offset ? (off_t __user *) &of : NULL, count);
1881 set_fs(old_fs);
1882
1883 if (offset && put_user(of, offset))
1884 return -EFAULT;
1885
1886 return ret;
1887}
1888
1889asmlinkage long
1890sys32_personality (unsigned int personality)
1891{
1892 long ret;
1893
1894 if (current->personality == PER_LINUX32 && personality == PER_LINUX)
1895 personality = PER_LINUX32;
1896 ret = sys_personality(personality);
1897 if (ret == PER_LINUX32)
1898 ret = PER_LINUX;
1899 return ret;
1900}
1901
1902asmlinkage unsigned long
1903sys32_brk (unsigned int brk)
1904{
1905 unsigned long ret, obrk;
1906 struct mm_struct *mm = current->mm;
1907
1908 obrk = mm->brk;
1909 ret = sys_brk(brk);
1910 if (ret < obrk)
1911 clear_user(compat_ptr(ret), PAGE_ALIGN(ret) - ret);
1912 return ret;
1913}
1914
1915/* Structure for ia32 emulation on ia64 */
1916struct epoll_event32
1917{
1918 u32 events;
1919 u32 data[2];
1920};
1921
1922asmlinkage long
1923sys32_epoll_ctl(int epfd, int op, int fd, struct epoll_event32 __user *event)
1924{
1925 mm_segment_t old_fs = get_fs();
1926 struct epoll_event event64;
1927 int error;
1928 u32 data_halfword;
1929
1930 if (!access_ok(VERIFY_READ, event, sizeof(struct epoll_event32)))
1931 return -EFAULT;
1932
1933 __get_user(event64.events, &event->events);
1934 __get_user(data_halfword, &event->data[0]);
1935 event64.data = data_halfword;
1936 __get_user(data_halfword, &event->data[1]);
1937 event64.data |= (u64)data_halfword << 32;
1938
1939 set_fs(KERNEL_DS);
1940 error = sys_epoll_ctl(epfd, op, fd, (struct epoll_event __user *) &event64);
1941 set_fs(old_fs);
1942
1943 return error;
1944}
1945
1946asmlinkage long
1947sys32_epoll_wait(int epfd, struct epoll_event32 __user * events, int maxevents,
1948 int timeout)
1949{
1950 struct epoll_event *events64 = NULL;
1951 mm_segment_t old_fs = get_fs();
1952 int numevents, size;
1953 int evt_idx;
1954 int do_free_pages = 0;
1955
1956 if (maxevents <= 0) {
1957 return -EINVAL;
1958 }
1959
1960 /* Verify that the area passed by the user is writeable */
1961 if (!access_ok(VERIFY_WRITE, events, maxevents * sizeof(struct epoll_event32)))
1962 return -EFAULT;
1963
1964 /*
1965 * Allocate space for the intermediate copy. If the space needed
1966 * is large enough to cause kmalloc to fail, then try again with
1967 * __get_free_pages.
1968 */
1969 size = maxevents * sizeof(struct epoll_event);
1970 events64 = kmalloc(size, GFP_KERNEL);
1971 if (events64 == NULL) {
1972 events64 = (struct epoll_event *)
1973 __get_free_pages(GFP_KERNEL, get_order(size));
1974 if (events64 == NULL)
1975 return -ENOMEM;
1976 do_free_pages = 1;
1977 }
1978
1979 /* Do the system call */
1980 set_fs(KERNEL_DS); /* copy_to/from_user should work on kernel mem*/
1981 numevents = sys_epoll_wait(epfd, (struct epoll_event __user *) events64,
1982 maxevents, timeout);
1983 set_fs(old_fs);
1984
1985 /* Don't modify userspace memory if we're returning an error */
1986 if (numevents > 0) {
1987 /* Translate the 64-bit structures back into the 32-bit
1988 structures */
1989 for (evt_idx = 0; evt_idx < numevents; evt_idx++) {
1990 __put_user(events64[evt_idx].events,
1991 &events[evt_idx].events);
1992 __put_user((u32)events64[evt_idx].data,
1993 &events[evt_idx].data[0]);
1994 __put_user((u32)(events64[evt_idx].data >> 32),
1995 &events[evt_idx].data[1]);
1996 }
1997 }
1998
1999 if (do_free_pages)
2000 free_pages((unsigned long) events64, get_order(size));
2001 else
2002 kfree(events64);
2003 return numevents;
2004}
2005
2006/*
2007 * Get a yet unused TLS descriptor index.
2008 */
2009static int
2010get_free_idx (void)
2011{
2012 struct thread_struct *t = &current->thread;
2013 int idx;
2014
2015 for (idx = 0; idx < GDT_ENTRY_TLS_ENTRIES; idx++)
2016 if (desc_empty(t->tls_array + idx))
2017 return idx + GDT_ENTRY_TLS_MIN;
2018 return -ESRCH;
2019}
2020
2021static void set_tls_desc(struct task_struct *p, int idx,
2022 const struct ia32_user_desc *info, int n)
2023{
2024 struct thread_struct *t = &p->thread;
2025 struct desc_struct *desc = &t->tls_array[idx - GDT_ENTRY_TLS_MIN];
2026 int cpu;
2027
2028 /*
2029 * We must not get preempted while modifying the TLS.
2030 */
2031 cpu = get_cpu();
2032
2033 while (n-- > 0) {
2034 if (LDT_empty(info)) {
2035 desc->a = 0;
2036 desc->b = 0;
2037 } else {
2038 desc->a = LDT_entry_a(info);
2039 desc->b = LDT_entry_b(info);
2040 }
2041
2042 ++info;
2043 ++desc;
2044 }
2045
2046 if (t == &current->thread)
2047 load_TLS(t, cpu);
2048
2049 put_cpu();
2050}
2051
2052/*
2053 * Set a given TLS descriptor:
2054 */
2055asmlinkage int
2056sys32_set_thread_area (struct ia32_user_desc __user *u_info)
2057{
2058 struct ia32_user_desc info;
2059 int idx;
2060
2061 if (copy_from_user(&info, u_info, sizeof(info)))
2062 return -EFAULT;
2063 idx = info.entry_number;
2064
2065 /*
2066 * index -1 means the kernel should try to find and allocate an empty descriptor:
2067 */
2068 if (idx == -1) {
2069 idx = get_free_idx();
2070 if (idx < 0)
2071 return idx;
2072 if (put_user(idx, &u_info->entry_number))
2073 return -EFAULT;
2074 }
2075
2076 if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX)
2077 return -EINVAL;
2078
2079 set_tls_desc(current, idx, &info, 1);
2080 return 0;
2081}
2082
2083/*
2084 * Get the current Thread-Local Storage area:
2085 */
2086
2087#define GET_BASE(desc) ( \
2088 (((desc)->a >> 16) & 0x0000ffff) | \
2089 (((desc)->b << 16) & 0x00ff0000) | \
2090 ( (desc)->b & 0xff000000) )
2091
2092#define GET_LIMIT(desc) ( \
2093 ((desc)->a & 0x0ffff) | \
2094 ((desc)->b & 0xf0000) )
2095
2096#define GET_32BIT(desc) (((desc)->b >> 22) & 1)
2097#define GET_CONTENTS(desc) (((desc)->b >> 10) & 3)
2098#define GET_WRITABLE(desc) (((desc)->b >> 9) & 1)
2099#define GET_LIMIT_PAGES(desc) (((desc)->b >> 23) & 1)
2100#define GET_PRESENT(desc) (((desc)->b >> 15) & 1)
2101#define GET_USEABLE(desc) (((desc)->b >> 20) & 1)
2102
2103static void fill_user_desc(struct ia32_user_desc *info, int idx,
2104 const struct desc_struct *desc)
2105{
2106 info->entry_number = idx;
2107 info->base_addr = GET_BASE(desc);
2108 info->limit = GET_LIMIT(desc);
2109 info->seg_32bit = GET_32BIT(desc);
2110 info->contents = GET_CONTENTS(desc);
2111 info->read_exec_only = !GET_WRITABLE(desc);
2112 info->limit_in_pages = GET_LIMIT_PAGES(desc);
2113 info->seg_not_present = !GET_PRESENT(desc);
2114 info->useable = GET_USEABLE(desc);
2115}
2116
2117asmlinkage int
2118sys32_get_thread_area (struct ia32_user_desc __user *u_info)
2119{
2120 struct ia32_user_desc info;
2121 struct desc_struct *desc;
2122 int idx;
2123
2124 if (get_user(idx, &u_info->entry_number))
2125 return -EFAULT;
2126 if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX)
2127 return -EINVAL;
2128
2129 desc = current->thread.tls_array + idx - GDT_ENTRY_TLS_MIN;
2130 fill_user_desc(&info, idx, desc);
2131
2132 if (copy_to_user(u_info, &info, sizeof(info)))
2133 return -EFAULT;
2134 return 0;
2135}
2136
2137struct regset_get {
2138 void *kbuf;
2139 void __user *ubuf;
2140};
2141
2142struct regset_set {
2143 const void *kbuf;
2144 const void __user *ubuf;
2145};
2146
2147struct regset_getset {
2148 struct task_struct *target;
2149 const struct user_regset *regset;
2150 union {
2151 struct regset_get get;
2152 struct regset_set set;
2153 } u;
2154 unsigned int pos;
2155 unsigned int count;
2156 int ret;
2157};
2158
2159static void getfpreg(struct task_struct *task, int regno, int *val)
2160{
2161 switch (regno / sizeof(int)) {
2162 case 0:
2163 *val = task->thread.fcr & 0xffff;
2164 break;
2165 case 1:
2166 *val = task->thread.fsr & 0xffff;
2167 break;
2168 case 2:
2169 *val = (task->thread.fsr>>16) & 0xffff;
2170 break;
2171 case 3:
2172 *val = task->thread.fir;
2173 break;
2174 case 4:
2175 *val = (task->thread.fir>>32) & 0xffff;
2176 break;
2177 case 5:
2178 *val = task->thread.fdr;
2179 break;
2180 case 6:
2181 *val = (task->thread.fdr >> 32) & 0xffff;
2182 break;
2183 }
2184}
2185
2186static void setfpreg(struct task_struct *task, int regno, int val)
2187{
2188 switch (regno / sizeof(int)) {
2189 case 0:
2190 task->thread.fcr = (task->thread.fcr & (~0x1f3f))
2191 | (val & 0x1f3f);
2192 break;
2193 case 1:
2194 task->thread.fsr = (task->thread.fsr & (~0xffff)) | val;
2195 break;
2196 case 2:
2197 task->thread.fsr = (task->thread.fsr & (~0xffff0000))
2198 | (val << 16);
2199 break;
2200 case 3:
2201 task->thread.fir = (task->thread.fir & (~0xffffffff)) | val;
2202 break;
2203 case 5:
2204 task->thread.fdr = (task->thread.fdr & (~0xffffffff)) | val;
2205 break;
2206 }
2207}
2208
2209static void access_fpreg_ia32(int regno, void *reg,
2210 struct pt_regs *pt, struct switch_stack *sw,
2211 int tos, int write)
2212{
2213 void *f;
2214
2215 if ((regno += tos) >= 8)
2216 regno -= 8;
2217 if (regno < 4)
2218 f = &pt->f8 + regno;
2219 else if (regno <= 7)
2220 f = &sw->f12 + (regno - 4);
2221 else {
2222 printk(KERN_ERR "regno must be less than 7 \n");
2223 return;
2224 }
2225
2226 if (write)
2227 memcpy(f, reg, sizeof(struct _fpreg_ia32));
2228 else
2229 memcpy(reg, f, sizeof(struct _fpreg_ia32));
2230}
2231
2232static void do_fpregs_get(struct unw_frame_info *info, void *arg)
2233{
2234 struct regset_getset *dst = arg;
2235 struct task_struct *task = dst->target;
2236 struct pt_regs *pt;
2237 int start, end, tos;
2238 char buf[80];
2239
2240 if (dst->count == 0 || unw_unwind_to_user(info) < 0)
2241 return;
2242 if (dst->pos < 7 * sizeof(int)) {
2243 end = min((dst->pos + dst->count),
2244 (unsigned int)(7 * sizeof(int)));
2245 for (start = dst->pos; start < end; start += sizeof(int))
2246 getfpreg(task, start, (int *)(buf + start));
2247 dst->ret = user_regset_copyout(&dst->pos, &dst->count,
2248 &dst->u.get.kbuf, &dst->u.get.ubuf, buf,
2249 0, 7 * sizeof(int));
2250 if (dst->ret || dst->count == 0)
2251 return;
2252 }
2253 if (dst->pos < sizeof(struct ia32_user_i387_struct)) {
2254 pt = task_pt_regs(task);
2255 tos = (task->thread.fsr >> 11) & 7;
2256 end = min(dst->pos + dst->count,
2257 (unsigned int)(sizeof(struct ia32_user_i387_struct)));
2258 start = (dst->pos - 7 * sizeof(int)) /
2259 sizeof(struct _fpreg_ia32);
2260 end = (end - 7 * sizeof(int)) / sizeof(struct _fpreg_ia32);
2261 for (; start < end; start++)
2262 access_fpreg_ia32(start,
2263 (struct _fpreg_ia32 *)buf + start,
2264 pt, info->sw, tos, 0);
2265 dst->ret = user_regset_copyout(&dst->pos, &dst->count,
2266 &dst->u.get.kbuf, &dst->u.get.ubuf,
2267 buf, 7 * sizeof(int),
2268 sizeof(struct ia32_user_i387_struct));
2269 if (dst->ret || dst->count == 0)
2270 return;
2271 }
2272}
2273
2274static void do_fpregs_set(struct unw_frame_info *info, void *arg)
2275{
2276 struct regset_getset *dst = arg;
2277 struct task_struct *task = dst->target;
2278 struct pt_regs *pt;
2279 char buf[80];
2280 int end, start, tos;
2281
2282 if (dst->count == 0 || unw_unwind_to_user(info) < 0)
2283 return;
2284
2285 if (dst->pos < 7 * sizeof(int)) {
2286 start = dst->pos;
2287 dst->ret = user_regset_copyin(&dst->pos, &dst->count,
2288 &dst->u.set.kbuf, &dst->u.set.ubuf, buf,
2289 0, 7 * sizeof(int));
2290 if (dst->ret)
2291 return;
2292 for (; start < dst->pos; start += sizeof(int))
2293 setfpreg(task, start, *((int *)(buf + start)));
2294 if (dst->count == 0)
2295 return;
2296 }
2297 if (dst->pos < sizeof(struct ia32_user_i387_struct)) {
2298 start = (dst->pos - 7 * sizeof(int)) /
2299 sizeof(struct _fpreg_ia32);
2300 dst->ret = user_regset_copyin(&dst->pos, &dst->count,
2301 &dst->u.set.kbuf, &dst->u.set.ubuf,
2302 buf, 7 * sizeof(int),
2303 sizeof(struct ia32_user_i387_struct));
2304 if (dst->ret)
2305 return;
2306 pt = task_pt_regs(task);
2307 tos = (task->thread.fsr >> 11) & 7;
2308 end = (dst->pos - 7 * sizeof(int)) / sizeof(struct _fpreg_ia32);
2309 for (; start < end; start++)
2310 access_fpreg_ia32(start,
2311 (struct _fpreg_ia32 *)buf + start,
2312 pt, info->sw, tos, 1);
2313 if (dst->count == 0)
2314 return;
2315 }
2316}
2317
2318#define OFFSET(member) ((int)(offsetof(struct ia32_user_fxsr_struct, member)))
2319static void getfpxreg(struct task_struct *task, int start, int end, char *buf)
2320{
2321 int min_val;
2322
2323 min_val = min(end, OFFSET(fop));
2324 while (start < min_val) {
2325 if (start == OFFSET(cwd))
2326 *((short *)buf) = task->thread.fcr & 0xffff;
2327 else if (start == OFFSET(swd))
2328 *((short *)buf) = task->thread.fsr & 0xffff;
2329 else if (start == OFFSET(twd))
2330 *((short *)buf) = (task->thread.fsr>>16) & 0xffff;
2331 buf += 2;
2332 start += 2;
2333 }
2334 /* skip fop element */
2335 if (start == OFFSET(fop)) {
2336 start += 2;
2337 buf += 2;
2338 }
2339 while (start < end) {
2340 if (start == OFFSET(fip))
2341 *((int *)buf) = task->thread.fir;
2342 else if (start == OFFSET(fcs))
2343 *((int *)buf) = (task->thread.fir>>32) & 0xffff;
2344 else if (start == OFFSET(foo))
2345 *((int *)buf) = task->thread.fdr;
2346 else if (start == OFFSET(fos))
2347 *((int *)buf) = (task->thread.fdr>>32) & 0xffff;
2348 else if (start == OFFSET(mxcsr))
2349 *((int *)buf) = ((task->thread.fcr>>32) & 0xff80)
2350 | ((task->thread.fsr>>32) & 0x3f);
2351 buf += 4;
2352 start += 4;
2353 }
2354}
2355
2356static void setfpxreg(struct task_struct *task, int start, int end, char *buf)
2357{
2358 int min_val, num32;
2359 short num;
2360 unsigned long num64;
2361
2362 min_val = min(end, OFFSET(fop));
2363 while (start < min_val) {
2364 num = *((short *)buf);
2365 if (start == OFFSET(cwd)) {
2366 task->thread.fcr = (task->thread.fcr & (~0x1f3f))
2367 | (num & 0x1f3f);
2368 } else if (start == OFFSET(swd)) {
2369 task->thread.fsr = (task->thread.fsr & (~0xffff)) | num;
2370 } else if (start == OFFSET(twd)) {
2371 task->thread.fsr = (task->thread.fsr & (~0xffff0000))
2372 | (((int)num) << 16);
2373 }
2374 buf += 2;
2375 start += 2;
2376 }
2377 /* skip fop element */
2378 if (start == OFFSET(fop)) {
2379 start += 2;
2380 buf += 2;
2381 }
2382 while (start < end) {
2383 num32 = *((int *)buf);
2384 if (start == OFFSET(fip))
2385 task->thread.fir = (task->thread.fir & (~0xffffffff))
2386 | num32;
2387 else if (start == OFFSET(foo))
2388 task->thread.fdr = (task->thread.fdr & (~0xffffffff))
2389 | num32;
2390 else if (start == OFFSET(mxcsr)) {
2391 num64 = num32 & 0xff10;
2392 task->thread.fcr = (task->thread.fcr &
2393 (~0xff1000000000UL)) | (num64<<32);
2394 num64 = num32 & 0x3f;
2395 task->thread.fsr = (task->thread.fsr &
2396 (~0x3f00000000UL)) | (num64<<32);
2397 }
2398 buf += 4;
2399 start += 4;
2400 }
2401}
2402
2403static void do_fpxregs_get(struct unw_frame_info *info, void *arg)
2404{
2405 struct regset_getset *dst = arg;
2406 struct task_struct *task = dst->target;
2407 struct pt_regs *pt;
2408 char buf[128];
2409 int start, end, tos;
2410
2411 if (dst->count == 0 || unw_unwind_to_user(info) < 0)
2412 return;
2413 if (dst->pos < OFFSET(st_space[0])) {
2414 end = min(dst->pos + dst->count, (unsigned int)32);
2415 getfpxreg(task, dst->pos, end, buf);
2416 dst->ret = user_regset_copyout(&dst->pos, &dst->count,
2417 &dst->u.get.kbuf, &dst->u.get.ubuf, buf,
2418 0, OFFSET(st_space[0]));
2419 if (dst->ret || dst->count == 0)
2420 return;
2421 }
2422 if (dst->pos < OFFSET(xmm_space[0])) {
2423 pt = task_pt_regs(task);
2424 tos = (task->thread.fsr >> 11) & 7;
2425 end = min(dst->pos + dst->count,
2426 (unsigned int)OFFSET(xmm_space[0]));
2427 start = (dst->pos - OFFSET(st_space[0])) / 16;
2428 end = (end - OFFSET(st_space[0])) / 16;
2429 for (; start < end; start++)
2430 access_fpreg_ia32(start, buf + 16 * start, pt,
2431 info->sw, tos, 0);
2432 dst->ret = user_regset_copyout(&dst->pos, &dst->count,
2433 &dst->u.get.kbuf, &dst->u.get.ubuf,
2434 buf, OFFSET(st_space[0]), OFFSET(xmm_space[0]));
2435 if (dst->ret || dst->count == 0)
2436 return;
2437 }
2438 if (dst->pos < OFFSET(padding[0]))
2439 dst->ret = user_regset_copyout(&dst->pos, &dst->count,
2440 &dst->u.get.kbuf, &dst->u.get.ubuf,
2441 &info->sw->f16, OFFSET(xmm_space[0]),
2442 OFFSET(padding[0]));
2443}
2444
2445static void do_fpxregs_set(struct unw_frame_info *info, void *arg)
2446{
2447 struct regset_getset *dst = arg;
2448 struct task_struct *task = dst->target;
2449 char buf[128];
2450 int start, end;
2451
2452 if (dst->count == 0 || unw_unwind_to_user(info) < 0)
2453 return;
2454
2455 if (dst->pos < OFFSET(st_space[0])) {
2456 start = dst->pos;
2457 dst->ret = user_regset_copyin(&dst->pos, &dst->count,
2458 &dst->u.set.kbuf, &dst->u.set.ubuf,
2459 buf, 0, OFFSET(st_space[0]));
2460 if (dst->ret)
2461 return;
2462 setfpxreg(task, start, dst->pos, buf);
2463 if (dst->count == 0)
2464 return;
2465 }
2466 if (dst->pos < OFFSET(xmm_space[0])) {
2467 struct pt_regs *pt;
2468 int tos;
2469 pt = task_pt_regs(task);
2470 tos = (task->thread.fsr >> 11) & 7;
2471 start = (dst->pos - OFFSET(st_space[0])) / 16;
2472 dst->ret = user_regset_copyin(&dst->pos, &dst->count,
2473 &dst->u.set.kbuf, &dst->u.set.ubuf,
2474 buf, OFFSET(st_space[0]), OFFSET(xmm_space[0]));
2475 if (dst->ret)
2476 return;
2477 end = (dst->pos - OFFSET(st_space[0])) / 16;
2478 for (; start < end; start++)
2479 access_fpreg_ia32(start, buf + 16 * start, pt, info->sw,
2480 tos, 1);
2481 if (dst->count == 0)
2482 return;
2483 }
2484 if (dst->pos < OFFSET(padding[0]))
2485 dst->ret = user_regset_copyin(&dst->pos, &dst->count,
2486 &dst->u.set.kbuf, &dst->u.set.ubuf,
2487 &info->sw->f16, OFFSET(xmm_space[0]),
2488 OFFSET(padding[0]));
2489}
2490#undef OFFSET
2491
2492static int do_regset_call(void (*call)(struct unw_frame_info *, void *),
2493 struct task_struct *target,
2494 const struct user_regset *regset,
2495 unsigned int pos, unsigned int count,
2496 const void *kbuf, const void __user *ubuf)
2497{
2498 struct regset_getset info = { .target = target, .regset = regset,
2499 .pos = pos, .count = count,
2500 .u.set = { .kbuf = kbuf, .ubuf = ubuf },
2501 .ret = 0 };
2502
2503 if (target == current)
2504 unw_init_running(call, &info);
2505 else {
2506 struct unw_frame_info ufi;
2507 memset(&ufi, 0, sizeof(ufi));
2508 unw_init_from_blocked_task(&ufi, target);
2509 (*call)(&ufi, &info);
2510 }
2511
2512 return info.ret;
2513}
2514
2515static int ia32_fpregs_get(struct task_struct *target,
2516 const struct user_regset *regset,
2517 unsigned int pos, unsigned int count,
2518 void *kbuf, void __user *ubuf)
2519{
2520 return do_regset_call(do_fpregs_get, target, regset, pos, count,
2521 kbuf, ubuf);
2522}
2523
2524static int ia32_fpregs_set(struct task_struct *target,
2525 const struct user_regset *regset,
2526 unsigned int pos, unsigned int count,
2527 const void *kbuf, const void __user *ubuf)
2528{
2529 return do_regset_call(do_fpregs_set, target, regset, pos, count,
2530 kbuf, ubuf);
2531}
2532
2533static int ia32_fpxregs_get(struct task_struct *target,
2534 const struct user_regset *regset,
2535 unsigned int pos, unsigned int count,
2536 void *kbuf, void __user *ubuf)
2537{
2538 return do_regset_call(do_fpxregs_get, target, regset, pos, count,
2539 kbuf, ubuf);
2540}
2541
2542static int ia32_fpxregs_set(struct task_struct *target,
2543 const struct user_regset *regset,
2544 unsigned int pos, unsigned int count,
2545 const void *kbuf, const void __user *ubuf)
2546{
2547 return do_regset_call(do_fpxregs_set, target, regset, pos, count,
2548 kbuf, ubuf);
2549}
2550
2551static int ia32_genregs_get(struct task_struct *target,
2552 const struct user_regset *regset,
2553 unsigned int pos, unsigned int count,
2554 void *kbuf, void __user *ubuf)
2555{
2556 if (kbuf) {
2557 u32 *kp = kbuf;
2558 while (count > 0) {
2559 *kp++ = getreg(target, pos);
2560 pos += 4;
2561 count -= 4;
2562 }
2563 } else {
2564 u32 __user *up = ubuf;
2565 while (count > 0) {
2566 if (__put_user(getreg(target, pos), up++))
2567 return -EFAULT;
2568 pos += 4;
2569 count -= 4;
2570 }
2571 }
2572 return 0;
2573}
2574
2575static int ia32_genregs_set(struct task_struct *target,
2576 const struct user_regset *regset,
2577 unsigned int pos, unsigned int count,
2578 const void *kbuf, const void __user *ubuf)
2579{
2580 int ret = 0;
2581
2582 if (kbuf) {
2583 const u32 *kp = kbuf;
2584 while (!ret && count > 0) {
2585 putreg(target, pos, *kp++);
2586 pos += 4;
2587 count -= 4;
2588 }
2589 } else {
2590 const u32 __user *up = ubuf;
2591 u32 val;
2592 while (!ret && count > 0) {
2593 ret = __get_user(val, up++);
2594 if (!ret)
2595 putreg(target, pos, val);
2596 pos += 4;
2597 count -= 4;
2598 }
2599 }
2600 return ret;
2601}
2602
2603static int ia32_tls_active(struct task_struct *target,
2604 const struct user_regset *regset)
2605{
2606 struct thread_struct *t = &target->thread;
2607 int n = GDT_ENTRY_TLS_ENTRIES;
2608 while (n > 0 && desc_empty(&t->tls_array[n -1]))
2609 --n;
2610 return n;
2611}
2612
2613static int ia32_tls_get(struct task_struct *target,
2614 const struct user_regset *regset, unsigned int pos,
2615 unsigned int count, void *kbuf, void __user *ubuf)
2616{
2617 const struct desc_struct *tls;
2618
2619 if (pos > GDT_ENTRY_TLS_ENTRIES * sizeof(struct ia32_user_desc) ||
2620 (pos % sizeof(struct ia32_user_desc)) != 0 ||
2621 (count % sizeof(struct ia32_user_desc)) != 0)
2622 return -EINVAL;
2623
2624 pos /= sizeof(struct ia32_user_desc);
2625 count /= sizeof(struct ia32_user_desc);
2626
2627 tls = &target->thread.tls_array[pos];
2628
2629 if (kbuf) {
2630 struct ia32_user_desc *info = kbuf;
2631 while (count-- > 0)
2632 fill_user_desc(info++, GDT_ENTRY_TLS_MIN + pos++,
2633 tls++);
2634 } else {
2635 struct ia32_user_desc __user *u_info = ubuf;
2636 while (count-- > 0) {
2637 struct ia32_user_desc info;
2638 fill_user_desc(&info, GDT_ENTRY_TLS_MIN + pos++, tls++);
2639 if (__copy_to_user(u_info++, &info, sizeof(info)))
2640 return -EFAULT;
2641 }
2642 }
2643
2644 return 0;
2645}
2646
2647static int ia32_tls_set(struct task_struct *target,
2648 const struct user_regset *regset, unsigned int pos,
2649 unsigned int count, const void *kbuf, const void __user *ubuf)
2650{
2651 struct ia32_user_desc infobuf[GDT_ENTRY_TLS_ENTRIES];
2652 const struct ia32_user_desc *info;
2653
2654 if (pos > GDT_ENTRY_TLS_ENTRIES * sizeof(struct ia32_user_desc) ||
2655 (pos % sizeof(struct ia32_user_desc)) != 0 ||
2656 (count % sizeof(struct ia32_user_desc)) != 0)
2657 return -EINVAL;
2658
2659 if (kbuf)
2660 info = kbuf;
2661 else if (__copy_from_user(infobuf, ubuf, count))
2662 return -EFAULT;
2663 else
2664 info = infobuf;
2665
2666 set_tls_desc(target,
2667 GDT_ENTRY_TLS_MIN + (pos / sizeof(struct ia32_user_desc)),
2668 info, count / sizeof(struct ia32_user_desc));
2669
2670 return 0;
2671}
2672
2673/*
2674 * This should match arch/i386/kernel/ptrace.c:native_regsets.
2675 * XXX ioperm? vm86?
2676 */
2677static const struct user_regset ia32_regsets[] = {
2678 {
2679 .core_note_type = NT_PRSTATUS,
2680 .n = sizeof(struct user_regs_struct32)/4,
2681 .size = 4, .align = 4,
2682 .get = ia32_genregs_get, .set = ia32_genregs_set
2683 },
2684 {
2685 .core_note_type = NT_PRFPREG,
2686 .n = sizeof(struct ia32_user_i387_struct) / 4,
2687 .size = 4, .align = 4,
2688 .get = ia32_fpregs_get, .set = ia32_fpregs_set
2689 },
2690 {
2691 .core_note_type = NT_PRXFPREG,
2692 .n = sizeof(struct ia32_user_fxsr_struct) / 4,
2693 .size = 4, .align = 4,
2694 .get = ia32_fpxregs_get, .set = ia32_fpxregs_set
2695 },
2696 {
2697 .core_note_type = NT_386_TLS,
2698 .n = GDT_ENTRY_TLS_ENTRIES,
2699 .bias = GDT_ENTRY_TLS_MIN,
2700 .size = sizeof(struct ia32_user_desc),
2701 .align = sizeof(struct ia32_user_desc),
2702 .active = ia32_tls_active,
2703 .get = ia32_tls_get, .set = ia32_tls_set,
2704 },
2705};
2706
2707const struct user_regset_view user_ia32_view = {
2708 .name = "i386", .e_machine = EM_386,
2709 .regsets = ia32_regsets, .n = ARRAY_SIZE(ia32_regsets)
2710};
2711
2712long sys32_fadvise64_64(int fd, __u32 offset_low, __u32 offset_high,
2713 __u32 len_low, __u32 len_high, int advice)
2714{
2715 return sys_fadvise64_64(fd,
2716 (((u64)offset_high)<<32) | offset_low,
2717 (((u64)len_high)<<32) | len_low,
2718 advice);
2719}
2720
2721#ifdef NOTYET /* UNTESTED FOR IA64 FROM HERE DOWN */
2722
2723asmlinkage long sys32_setreuid(compat_uid_t ruid, compat_uid_t euid)
2724{
2725 uid_t sruid, seuid;
2726
2727 sruid = (ruid == (compat_uid_t)-1) ? ((uid_t)-1) : ((uid_t)ruid);
2728 seuid = (euid == (compat_uid_t)-1) ? ((uid_t)-1) : ((uid_t)euid);
2729 return sys_setreuid(sruid, seuid);
2730}
2731
2732asmlinkage long
2733sys32_setresuid(compat_uid_t ruid, compat_uid_t euid,
2734 compat_uid_t suid)
2735{
2736 uid_t sruid, seuid, ssuid;
2737
2738 sruid = (ruid == (compat_uid_t)-1) ? ((uid_t)-1) : ((uid_t)ruid);
2739 seuid = (euid == (compat_uid_t)-1) ? ((uid_t)-1) : ((uid_t)euid);
2740 ssuid = (suid == (compat_uid_t)-1) ? ((uid_t)-1) : ((uid_t)suid);
2741 return sys_setresuid(sruid, seuid, ssuid);
2742}
2743
2744asmlinkage long
2745sys32_setregid(compat_gid_t rgid, compat_gid_t egid)
2746{
2747 gid_t srgid, segid;
2748
2749 srgid = (rgid == (compat_gid_t)-1) ? ((gid_t)-1) : ((gid_t)rgid);
2750 segid = (egid == (compat_gid_t)-1) ? ((gid_t)-1) : ((gid_t)egid);
2751 return sys_setregid(srgid, segid);
2752}
2753
2754asmlinkage long
2755sys32_setresgid(compat_gid_t rgid, compat_gid_t egid,
2756 compat_gid_t sgid)
2757{
2758 gid_t srgid, segid, ssgid;
2759
2760 srgid = (rgid == (compat_gid_t)-1) ? ((gid_t)-1) : ((gid_t)rgid);
2761 segid = (egid == (compat_gid_t)-1) ? ((gid_t)-1) : ((gid_t)egid);
2762 ssgid = (sgid == (compat_gid_t)-1) ? ((gid_t)-1) : ((gid_t)sgid);
2763 return sys_setresgid(srgid, segid, ssgid);
2764}
2765#endif /* NOTYET */
diff --git a/arch/ia64/include/asm/Kbuild b/arch/ia64/include/asm/Kbuild
index c7d0a71b9242..241d1c53ba69 100644
--- a/arch/ia64/include/asm/Kbuild
+++ b/arch/ia64/include/asm/Kbuild
@@ -2,14 +2,13 @@ include include/asm-generic/Kbuild.asm
2 2
3header-y += break.h 3header-y += break.h
4header-y += fpu.h 4header-y += fpu.h
5header-y += gcc_intrin.h
5header-y += ia64regs.h 6header-y += ia64regs.h
6header-y += intel_intrin.h 7header-y += intel_intrin.h
8header-y += intrinsics.h
9header-y += perfmon.h
7header-y += perfmon_default_smpl.h 10header-y += perfmon_default_smpl.h
8header-y += ptrace_offsets.h 11header-y += ptrace_offsets.h
9header-y += rse.h 12header-y += rse.h
10header-y += ucontext.h 13header-y += ucontext.h
11 14header-y += ustack.h
12unifdef-y += gcc_intrin.h
13unifdef-y += intrinsics.h
14unifdef-y += perfmon.h
15unifdef-y += ustack.h
diff --git a/arch/ia64/include/asm/acpi.h b/arch/ia64/include/asm/acpi.h
index 7ae58892ba8d..837dc82a013e 100644
--- a/arch/ia64/include/asm/acpi.h
+++ b/arch/ia64/include/asm/acpi.h
@@ -97,8 +97,34 @@ ia64_acpi_release_global_lock (unsigned int *lock)
97#endif 97#endif
98#define acpi_processor_cstate_check(x) (x) /* no idle limits on IA64 :) */ 98#define acpi_processor_cstate_check(x) (x) /* no idle limits on IA64 :) */
99static inline void disable_acpi(void) { } 99static inline void disable_acpi(void) { }
100static inline void pci_acpi_crs_quirks(void) { }
100 101
102#ifdef CONFIG_IA64_GENERIC
101const char *acpi_get_sysname (void); 103const char *acpi_get_sysname (void);
104#else
105static inline const char *acpi_get_sysname (void)
106{
107# if defined (CONFIG_IA64_HP_SIM)
108 return "hpsim";
109# elif defined (CONFIG_IA64_HP_ZX1)
110 return "hpzx1";
111# elif defined (CONFIG_IA64_HP_ZX1_SWIOTLB)
112 return "hpzx1_swiotlb";
113# elif defined (CONFIG_IA64_SGI_SN2)
114 return "sn2";
115# elif defined (CONFIG_IA64_SGI_UV)
116 return "uv";
117# elif defined (CONFIG_IA64_DIG)
118 return "dig";
119# elif defined (CONFIG_IA64_XEN_GUEST)
120 return "xen";
121# elif defined(CONFIG_IA64_DIG_VTD)
122 return "dig_vtd";
123# else
124# error Unknown platform. Fix acpi.c.
125# endif
126}
127#endif
102int acpi_request_vector (u32 int_type); 128int acpi_request_vector (u32 int_type);
103int acpi_gsi_to_irq (u32 gsi, unsigned int *irq); 129int acpi_gsi_to_irq (u32 gsi, unsigned int *irq);
104 130
diff --git a/arch/ia64/include/asm/atomic.h b/arch/ia64/include/asm/atomic.h
index 88405cb0832a..446881439675 100644
--- a/arch/ia64/include/asm/atomic.h
+++ b/arch/ia64/include/asm/atomic.h
@@ -21,8 +21,8 @@
21#define ATOMIC_INIT(i) ((atomic_t) { (i) }) 21#define ATOMIC_INIT(i) ((atomic_t) { (i) })
22#define ATOMIC64_INIT(i) ((atomic64_t) { (i) }) 22#define ATOMIC64_INIT(i) ((atomic64_t) { (i) })
23 23
24#define atomic_read(v) ((v)->counter) 24#define atomic_read(v) (*(volatile int *)&(v)->counter)
25#define atomic64_read(v) ((v)->counter) 25#define atomic64_read(v) (*(volatile long *)&(v)->counter)
26 26
27#define atomic_set(v,i) (((v)->counter) = (i)) 27#define atomic_set(v,i) (((v)->counter) = (i))
28#define atomic64_set(v,i) (((v)->counter) = (i)) 28#define atomic64_set(v,i) (((v)->counter) = (i))
@@ -41,7 +41,7 @@ ia64_atomic_add (int i, atomic_t *v)
41 return new; 41 return new;
42} 42}
43 43
44static __inline__ int 44static __inline__ long
45ia64_atomic64_add (__s64 i, atomic64_t *v) 45ia64_atomic64_add (__s64 i, atomic64_t *v)
46{ 46{
47 __s64 old, new; 47 __s64 old, new;
@@ -69,7 +69,7 @@ ia64_atomic_sub (int i, atomic_t *v)
69 return new; 69 return new;
70} 70}
71 71
72static __inline__ int 72static __inline__ long
73ia64_atomic64_sub (__s64 i, atomic64_t *v) 73ia64_atomic64_sub (__s64 i, atomic64_t *v)
74{ 74{
75 __s64 old, new; 75 __s64 old, new;
@@ -107,7 +107,7 @@ static __inline__ int atomic_add_unless(atomic_t *v, int a, int u)
107 107
108#define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0) 108#define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0)
109 109
110static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u) 110static __inline__ long atomic64_add_unless(atomic64_t *v, long a, long u)
111{ 111{
112 long c, old; 112 long c, old;
113 c = atomic64_read(v); 113 c = atomic64_read(v);
@@ -158,7 +158,7 @@ atomic_add_negative (int i, atomic_t *v)
158 return atomic_add_return(i, v) < 0; 158 return atomic_add_return(i, v) < 0;
159} 159}
160 160
161static __inline__ int 161static __inline__ long
162atomic64_add_negative (__s64 i, atomic64_t *v) 162atomic64_add_negative (__s64 i, atomic64_t *v)
163{ 163{
164 return atomic64_add_return(i, v) < 0; 164 return atomic64_add_return(i, v) < 0;
diff --git a/arch/ia64/include/asm/bitops.h b/arch/ia64/include/asm/bitops.h
index 6ebc229a1c51..9da3df6f1a52 100644
--- a/arch/ia64/include/asm/bitops.h
+++ b/arch/ia64/include/asm/bitops.h
@@ -437,17 +437,18 @@ __fls (unsigned long x)
437 * hweightN: returns the hamming weight (i.e. the number 437 * hweightN: returns the hamming weight (i.e. the number
438 * of bits set) of a N-bit word 438 * of bits set) of a N-bit word
439 */ 439 */
440static __inline__ unsigned long 440static __inline__ unsigned long __arch_hweight64(unsigned long x)
441hweight64 (unsigned long x)
442{ 441{
443 unsigned long result; 442 unsigned long result;
444 result = ia64_popcnt(x); 443 result = ia64_popcnt(x);
445 return result; 444 return result;
446} 445}
447 446
448#define hweight32(x) (unsigned int) hweight64((x) & 0xfffffffful) 447#define __arch_hweight32(x) ((unsigned int) __arch_hweight64((x) & 0xfffffffful))
449#define hweight16(x) (unsigned int) hweight64((x) & 0xfffful) 448#define __arch_hweight16(x) ((unsigned int) __arch_hweight64((x) & 0xfffful))
450#define hweight8(x) (unsigned int) hweight64((x) & 0xfful) 449#define __arch_hweight8(x) ((unsigned int) __arch_hweight64((x) & 0xfful))
450
451#include <asm-generic/bitops/const_hweight.h>
451 452
452#endif /* __KERNEL__ */ 453#endif /* __KERNEL__ */
453 454
diff --git a/arch/ia64/include/asm/compat.h b/arch/ia64/include/asm/compat.h
index dfcf75b8426d..9301a2821615 100644
--- a/arch/ia64/include/asm/compat.h
+++ b/arch/ia64/include/asm/compat.h
@@ -5,7 +5,8 @@
5 */ 5 */
6#include <linux/types.h> 6#include <linux/types.h>
7 7
8#define COMPAT_USER_HZ 100 8#define COMPAT_USER_HZ 100
9#define COMPAT_UTS_MACHINE "i686\0\0\0"
9 10
10typedef u32 compat_size_t; 11typedef u32 compat_size_t;
11typedef s32 compat_ssize_t; 12typedef s32 compat_ssize_t;
@@ -198,7 +199,7 @@ ptr_to_compat(void __user *uptr)
198} 199}
199 200
200static __inline__ void __user * 201static __inline__ void __user *
201compat_alloc_user_space (long len) 202arch_compat_alloc_user_space (long len)
202{ 203{
203 struct pt_regs *regs = task_pt_regs(current); 204 struct pt_regs *regs = task_pt_regs(current);
204 return (void __user *) (((regs->r12 & 0xffffffff) & -16) - len); 205 return (void __user *) (((regs->r12 & 0xffffffff) & -16) - len);
diff --git a/arch/ia64/include/asm/dma-mapping.h b/arch/ia64/include/asm/dma-mapping.h
index 7d09a09cdaad..a2e7368a0150 100644
--- a/arch/ia64/include/asm/dma-mapping.h
+++ b/arch/ia64/include/asm/dma-mapping.h
@@ -86,8 +86,6 @@ static inline phys_addr_t dma_to_phys(struct device *dev, dma_addr_t daddr)
86 return daddr; 86 return daddr;
87} 87}
88 88
89extern int dma_get_cache_alignment(void);
90
91static inline void 89static inline void
92dma_cache_sync (struct device *dev, void *vaddr, size_t size, 90dma_cache_sync (struct device *dev, void *vaddr, size_t size,
93 enum dma_data_direction dir) 91 enum dma_data_direction dir)
@@ -99,6 +97,4 @@ dma_cache_sync (struct device *dev, void *vaddr, size_t size,
99 mb(); 97 mb();
100} 98}
101 99
102#define dma_is_consistent(d, h) (1) /* all we do is coherent memory... */
103
104#endif /* _ASM_IA64_DMA_MAPPING_H */ 100#endif /* _ASM_IA64_DMA_MAPPING_H */
diff --git a/arch/ia64/include/asm/dmi.h b/arch/ia64/include/asm/dmi.h
index 00eb1b130b63..1ed4c8fedb83 100644
--- a/arch/ia64/include/asm/dmi.h
+++ b/arch/ia64/include/asm/dmi.h
@@ -1,6 +1,7 @@
1#ifndef _ASM_DMI_H 1#ifndef _ASM_DMI_H
2#define _ASM_DMI_H 1 2#define _ASM_DMI_H 1
3 3
4#include <linux/slab.h>
4#include <asm/io.h> 5#include <asm/io.h>
5 6
6/* Use normal IO mappings for DMI */ 7/* Use normal IO mappings for DMI */
diff --git a/arch/ia64/include/asm/elf.h b/arch/ia64/include/asm/elf.h
index e14108b19c09..b5298eb09adb 100644
--- a/arch/ia64/include/asm/elf.h
+++ b/arch/ia64/include/asm/elf.h
@@ -201,7 +201,9 @@ extern void ia64_elf_core_copy_regs (struct pt_regs *src, elf_gregset_t dst);
201 relevant until we have real hardware to play with... */ 201 relevant until we have real hardware to play with... */
202#define ELF_PLATFORM NULL 202#define ELF_PLATFORM NULL
203 203
204#define SET_PERSONALITY(ex) set_personality(PER_LINUX) 204#define SET_PERSONALITY(ex) \
205 set_personality((current->personality & ~PER_MASK) | PER_LINUX)
206
205#define elf_read_implies_exec(ex, executable_stack) \ 207#define elf_read_implies_exec(ex, executable_stack) \
206 ((executable_stack!=EXSTACK_DISABLE_X) && ((ex).e_flags & EF_IA_64_LINUX_EXECUTABLE_STACK) != 0) 208 ((executable_stack!=EXSTACK_DISABLE_X) && ((ex).e_flags & EF_IA_64_LINUX_EXECUTABLE_STACK) != 0)
207 209
@@ -217,54 +219,6 @@ do { \
217 NEW_AUX_ENT(AT_SYSINFO_EHDR, (unsigned long) GATE_EHDR); \ 219 NEW_AUX_ENT(AT_SYSINFO_EHDR, (unsigned long) GATE_EHDR); \
218} while (0) 220} while (0)
219 221
220
221/*
222 * These macros parameterize elf_core_dump in fs/binfmt_elf.c to write out
223 * extra segments containing the gate DSO contents. Dumping its
224 * contents makes post-mortem fully interpretable later without matching up
225 * the same kernel and hardware config to see what PC values meant.
226 * Dumping its extra ELF program headers includes all the other information
227 * a debugger needs to easily find how the gate DSO was being used.
228 */
229#define ELF_CORE_EXTRA_PHDRS (GATE_EHDR->e_phnum)
230#define ELF_CORE_WRITE_EXTRA_PHDRS \
231do { \
232 const struct elf_phdr *const gate_phdrs = \
233 (const struct elf_phdr *) (GATE_ADDR + GATE_EHDR->e_phoff); \
234 int i; \
235 Elf64_Off ofs = 0; \
236 for (i = 0; i < GATE_EHDR->e_phnum; ++i) { \
237 struct elf_phdr phdr = gate_phdrs[i]; \
238 if (phdr.p_type == PT_LOAD) { \
239 phdr.p_memsz = PAGE_ALIGN(phdr.p_memsz); \
240 phdr.p_filesz = phdr.p_memsz; \
241 if (ofs == 0) { \
242 ofs = phdr.p_offset = offset; \
243 offset += phdr.p_filesz; \
244 } \
245 else \
246 phdr.p_offset = ofs; \
247 } \
248 else \
249 phdr.p_offset += ofs; \
250 phdr.p_paddr = 0; /* match other core phdrs */ \
251 DUMP_WRITE(&phdr, sizeof(phdr)); \
252 } \
253} while (0)
254#define ELF_CORE_WRITE_EXTRA_DATA \
255do { \
256 const struct elf_phdr *const gate_phdrs = \
257 (const struct elf_phdr *) (GATE_ADDR + GATE_EHDR->e_phoff); \
258 int i; \
259 for (i = 0; i < GATE_EHDR->e_phnum; ++i) { \
260 if (gate_phdrs[i].p_type == PT_LOAD) { \
261 DUMP_WRITE((void *) gate_phdrs[i].p_vaddr, \
262 PAGE_ALIGN(gate_phdrs[i].p_memsz)); \
263 break; \
264 } \
265 } \
266} while (0)
267
268/* 222/*
269 * format for entries in the Global Offset Table 223 * format for entries in the Global Offset Table
270 */ 224 */
diff --git a/arch/ia64/include/asm/ia32.h b/arch/ia64/include/asm/ia32.h
deleted file mode 100644
index 2390ee145aa1..000000000000
--- a/arch/ia64/include/asm/ia32.h
+++ /dev/null
@@ -1,40 +0,0 @@
1#ifndef _ASM_IA64_IA32_H
2#define _ASM_IA64_IA32_H
3
4
5#include <asm/ptrace.h>
6#include <asm/signal.h>
7
8#define IA32_NR_syscalls 285 /* length of syscall table */
9#define IA32_PAGE_SHIFT 12 /* 4KB pages */
10
11#ifndef __ASSEMBLY__
12
13# ifdef CONFIG_IA32_SUPPORT
14
15#define IA32_PAGE_OFFSET 0xc0000000
16
17extern void ia32_cpu_init (void);
18extern void ia32_mem_init (void);
19extern void ia32_gdt_init (void);
20extern int ia32_exception (struct pt_regs *regs, unsigned long isr);
21extern int ia32_intercept (struct pt_regs *regs, unsigned long isr);
22extern int ia32_clone_tls (struct task_struct *child, struct pt_regs *childregs);
23
24# endif /* !CONFIG_IA32_SUPPORT */
25
26/* Declare this unconditionally, so we don't get warnings for unreachable code. */
27extern int ia32_setup_frame1 (int sig, struct k_sigaction *ka, siginfo_t *info,
28 sigset_t *set, struct pt_regs *regs);
29#if PAGE_SHIFT > IA32_PAGE_SHIFT
30extern int ia32_copy_ia64_partial_page_list(struct task_struct *,
31 unsigned long);
32extern void ia32_drop_ia64_partial_page_list(struct task_struct *);
33#else
34# define ia32_copy_ia64_partial_page_list(a1, a2) 0
35# define ia32_drop_ia64_partial_page_list(a1) do { ; } while (0)
36#endif
37
38#endif /* !__ASSEMBLY__ */
39
40#endif /* _ASM_IA64_IA32_H */
diff --git a/arch/ia64/include/asm/ioctls.h b/arch/ia64/include/asm/ioctls.h
index f41b636a0bf6..b79c385114ef 100644
--- a/arch/ia64/include/asm/ioctls.h
+++ b/arch/ia64/include/asm/ioctls.h
@@ -59,6 +59,7 @@
59#define TCSETSF2 _IOW('T',0x2D, struct termios2) 59#define TCSETSF2 _IOW('T',0x2D, struct termios2)
60#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ 60#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
61#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */ 61#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
62#define TIOCSIG _IOW('T',0x36, int) /* Generate signal on Pty slave */
62 63
63#define FIONCLEX 0x5450 /* these numbers need to be adjusted. */ 64#define FIONCLEX 0x5450 /* these numbers need to be adjusted. */
64#define FIOCLEX 0x5451 65#define FIOCLEX 0x5451
@@ -75,8 +76,6 @@
75 76
76#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */ 77#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
77#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */ 78#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
78#define TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */
79#define TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */
80#define FIOQSIZE 0x5460 79#define FIOQSIZE 0x5460
81 80
82/* Used for packet mode */ 81/* Used for packet mode */
@@ -87,6 +86,7 @@
87#define TIOCPKT_START 8 86#define TIOCPKT_START 8
88#define TIOCPKT_NOSTOP 16 87#define TIOCPKT_NOSTOP 16
89#define TIOCPKT_DOSTOP 32 88#define TIOCPKT_DOSTOP 32
89#define TIOCPKT_IOCTL 64
90 90
91#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */ 91#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
92 92
diff --git a/arch/ia64/include/asm/kvm_host.h b/arch/ia64/include/asm/kvm_host.h
index a362e67e0ca6..2f229e5de498 100644
--- a/arch/ia64/include/asm/kvm_host.h
+++ b/arch/ia64/include/asm/kvm_host.h
@@ -235,6 +235,7 @@ struct kvm_vm_data {
235#define KVM_REQ_PTC_G 32 235#define KVM_REQ_PTC_G 32
236#define KVM_REQ_RESUME 33 236#define KVM_REQ_RESUME 33
237 237
238#define KVM_HPAGE_GFN_SHIFT(x) 0
238#define KVM_NR_PAGE_SIZES 1 239#define KVM_NR_PAGE_SIZES 1
239#define KVM_PAGES_PER_HPAGE(x) 1 240#define KVM_PAGES_PER_HPAGE(x) 1
240 241
diff --git a/arch/ia64/include/asm/local64.h b/arch/ia64/include/asm/local64.h
new file mode 100644
index 000000000000..36c93b5cc239
--- /dev/null
+++ b/arch/ia64/include/asm/local64.h
@@ -0,0 +1 @@
#include <asm-generic/local64.h>
diff --git a/arch/ia64/include/asm/mmzone.h b/arch/ia64/include/asm/mmzone.h
index f2ca32069b3f..e0de61709cf1 100644
--- a/arch/ia64/include/asm/mmzone.h
+++ b/arch/ia64/include/asm/mmzone.h
@@ -19,16 +19,12 @@
19 19
20static inline int pfn_to_nid(unsigned long pfn) 20static inline int pfn_to_nid(unsigned long pfn)
21{ 21{
22#ifdef CONFIG_NUMA
23 extern int paddr_to_nid(unsigned long); 22 extern int paddr_to_nid(unsigned long);
24 int nid = paddr_to_nid(pfn << PAGE_SHIFT); 23 int nid = paddr_to_nid(pfn << PAGE_SHIFT);
25 if (nid < 0) 24 if (nid < 0)
26 return 0; 25 return 0;
27 else 26 else
28 return nid; 27 return nid;
29#else
30 return 0;
31#endif
32} 28}
33 29
34#ifdef CONFIG_IA64_DIG /* DIG systems are small */ 30#ifdef CONFIG_IA64_DIG /* DIG systems are small */
diff --git a/arch/ia64/include/asm/page.h b/arch/ia64/include/asm/page.h
index 5f271bc712ee..41b6d31110fd 100644
--- a/arch/ia64/include/asm/page.h
+++ b/arch/ia64/include/asm/page.h
@@ -41,7 +41,7 @@
41#define PAGE_SIZE (__IA64_UL_CONST(1) << PAGE_SHIFT) 41#define PAGE_SIZE (__IA64_UL_CONST(1) << PAGE_SHIFT)
42#define PAGE_MASK (~(PAGE_SIZE - 1)) 42#define PAGE_MASK (~(PAGE_SIZE - 1))
43 43
44#define PERCPU_PAGE_SHIFT 16 /* log2() of max. size of per-CPU area */ 44#define PERCPU_PAGE_SHIFT 18 /* log2() of max. size of per-CPU area */
45#define PERCPU_PAGE_SIZE (__IA64_UL_CONST(1) << PERCPU_PAGE_SHIFT) 45#define PERCPU_PAGE_SIZE (__IA64_UL_CONST(1) << PERCPU_PAGE_SHIFT)
46 46
47 47
diff --git a/arch/ia64/include/asm/pci.h b/arch/ia64/include/asm/pci.h
index 55281aabe5f2..73b5f785e70c 100644
--- a/arch/ia64/include/asm/pci.h
+++ b/arch/ia64/include/asm/pci.h
@@ -56,20 +56,6 @@ pcibios_penalize_isa_irq (int irq, int active)
56 56
57#include <asm-generic/pci-dma-compat.h> 57#include <asm-generic/pci-dma-compat.h>
58 58
59/* pci_unmap_{single,page} is not a nop, thus... */
60#define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME) \
61 dma_addr_t ADDR_NAME;
62#define DECLARE_PCI_UNMAP_LEN(LEN_NAME) \
63 __u32 LEN_NAME;
64#define pci_unmap_addr(PTR, ADDR_NAME) \
65 ((PTR)->ADDR_NAME)
66#define pci_unmap_addr_set(PTR, ADDR_NAME, VAL) \
67 (((PTR)->ADDR_NAME) = (VAL))
68#define pci_unmap_len(PTR, LEN_NAME) \
69 ((PTR)->LEN_NAME)
70#define pci_unmap_len_set(PTR, LEN_NAME, VAL) \
71 (((PTR)->LEN_NAME) = (VAL))
72
73#ifdef CONFIG_PCI 59#ifdef CONFIG_PCI
74static inline void pci_dma_burst_advice(struct pci_dev *pdev, 60static inline void pci_dma_burst_advice(struct pci_dev *pdev,
75 enum pci_dma_burst_strategy *strat, 61 enum pci_dma_burst_strategy *strat,
diff --git a/arch/ia64/include/asm/percpu.h b/arch/ia64/include/asm/percpu.h
index 35d9aeb6d85f..14aa1c58912b 100644
--- a/arch/ia64/include/asm/percpu.h
+++ b/arch/ia64/include/asm/percpu.h
@@ -9,7 +9,7 @@
9#define PERCPU_ENOUGH_ROOM PERCPU_PAGE_SIZE 9#define PERCPU_ENOUGH_ROOM PERCPU_PAGE_SIZE
10 10
11#ifdef __ASSEMBLY__ 11#ifdef __ASSEMBLY__
12# define THIS_CPU(var) (per_cpu__##var) /* use this to mark accesses to per-CPU variables... */ 12# define THIS_CPU(var) (var) /* use this to mark accesses to per-CPU variables... */
13#else /* !__ASSEMBLY__ */ 13#else /* !__ASSEMBLY__ */
14 14
15 15
@@ -39,7 +39,10 @@ extern void *per_cpu_init(void);
39 * On the positive side, using __ia64_per_cpu_var() instead of __get_cpu_var() is slightly 39 * On the positive side, using __ia64_per_cpu_var() instead of __get_cpu_var() is slightly
40 * more efficient. 40 * more efficient.
41 */ 41 */
42#define __ia64_per_cpu_var(var) per_cpu__##var 42#define __ia64_per_cpu_var(var) (*({ \
43 __verify_pcpu_ptr(&(var)); \
44 ((typeof(var) __kernel __force *)&(var)); \
45}))
43 46
44#include <asm-generic/percpu.h> 47#include <asm-generic/percpu.h>
45 48
diff --git a/arch/ia64/include/asm/pgtable.h b/arch/ia64/include/asm/pgtable.h
index 69bf13857a9f..c3286f42e501 100644
--- a/arch/ia64/include/asm/pgtable.h
+++ b/arch/ia64/include/asm/pgtable.h
@@ -462,7 +462,7 @@ pte_same (pte_t a, pte_t b)
462 return pte_val(a) == pte_val(b); 462 return pte_val(a) == pte_val(b);
463} 463}
464 464
465#define update_mmu_cache(vma, address, pte) do { } while (0) 465#define update_mmu_cache(vma, address, ptep) do { } while (0)
466 466
467extern pgd_t swapper_pg_dir[PTRS_PER_PGD]; 467extern pgd_t swapper_pg_dir[PTRS_PER_PGD];
468extern void paging_init (void); 468extern void paging_init (void);
diff --git a/arch/ia64/include/asm/processor.h b/arch/ia64/include/asm/processor.h
index 7fa90f73f6be..348e44d08ce3 100644
--- a/arch/ia64/include/asm/processor.h
+++ b/arch/ia64/include/asm/processor.h
@@ -270,23 +270,6 @@ typedef struct {
270 (int __user *) (addr)); \ 270 (int __user *) (addr)); \
271}) 271})
272 272
273#ifdef CONFIG_IA32_SUPPORT
274struct desc_struct {
275 unsigned int a, b;
276};
277
278#define desc_empty(desc) (!((desc)->a | (desc)->b))
279#define desc_equal(desc1, desc2) (((desc1)->a == (desc2)->a) && ((desc1)->b == (desc2)->b))
280
281#define GDT_ENTRY_TLS_ENTRIES 3
282#define GDT_ENTRY_TLS_MIN 6
283#define GDT_ENTRY_TLS_MAX (GDT_ENTRY_TLS_MIN + GDT_ENTRY_TLS_ENTRIES - 1)
284
285#define TLS_SIZE (GDT_ENTRY_TLS_ENTRIES * 8)
286
287struct ia64_partial_page_list;
288#endif
289
290struct thread_struct { 273struct thread_struct {
291 __u32 flags; /* various thread flags (see IA64_THREAD_*) */ 274 __u32 flags; /* various thread flags (see IA64_THREAD_*) */
292 /* writing on_ustack is performance-critical, so it's worth spending 8 bits on it... */ 275 /* writing on_ustack is performance-critical, so it's worth spending 8 bits on it... */
@@ -298,29 +281,6 @@ struct thread_struct {
298 __u64 rbs_bot; /* the base address for the RBS */ 281 __u64 rbs_bot; /* the base address for the RBS */
299 int last_fph_cpu; /* CPU that may hold the contents of f32-f127 */ 282 int last_fph_cpu; /* CPU that may hold the contents of f32-f127 */
300 283
301#ifdef CONFIG_IA32_SUPPORT
302 __u64 eflag; /* IA32 EFLAGS reg */
303 __u64 fsr; /* IA32 floating pt status reg */
304 __u64 fcr; /* IA32 floating pt control reg */
305 __u64 fir; /* IA32 fp except. instr. reg */
306 __u64 fdr; /* IA32 fp except. data reg */
307 __u64 old_k1; /* old value of ar.k1 */
308 __u64 old_iob; /* old IOBase value */
309 struct ia64_partial_page_list *ppl; /* partial page list for 4K page size issue */
310 /* cached TLS descriptors. */
311 struct desc_struct tls_array[GDT_ENTRY_TLS_ENTRIES];
312
313# define INIT_THREAD_IA32 .eflag = 0, \
314 .fsr = 0, \
315 .fcr = 0x17800000037fULL, \
316 .fir = 0, \
317 .fdr = 0, \
318 .old_k1 = 0, \
319 .old_iob = 0, \
320 .ppl = NULL,
321#else
322# define INIT_THREAD_IA32
323#endif /* CONFIG_IA32_SUPPORT */
324#ifdef CONFIG_PERFMON 284#ifdef CONFIG_PERFMON
325 void *pfm_context; /* pointer to detailed PMU context */ 285 void *pfm_context; /* pointer to detailed PMU context */
326 unsigned long pfm_needs_checking; /* when >0, pending perfmon work on kernel exit */ 286 unsigned long pfm_needs_checking; /* when >0, pending perfmon work on kernel exit */
@@ -342,7 +302,6 @@ struct thread_struct {
342 .rbs_bot = STACK_TOP - DEFAULT_USER_STACK_SIZE, \ 302 .rbs_bot = STACK_TOP - DEFAULT_USER_STACK_SIZE, \
343 .task_size = DEFAULT_TASK_SIZE, \ 303 .task_size = DEFAULT_TASK_SIZE, \
344 .last_fph_cpu = -1, \ 304 .last_fph_cpu = -1, \
345 INIT_THREAD_IA32 \
346 INIT_THREAD_PM \ 305 INIT_THREAD_PM \
347 .dbr = {0, }, \ 306 .dbr = {0, }, \
348 .ibr = {0, }, \ 307 .ibr = {0, }, \
@@ -485,11 +444,6 @@ extern void __ia64_load_fpu (struct ia64_fpreg *fph);
485extern void ia64_save_debug_regs (unsigned long *save_area); 444extern void ia64_save_debug_regs (unsigned long *save_area);
486extern void ia64_load_debug_regs (unsigned long *save_area); 445extern void ia64_load_debug_regs (unsigned long *save_area);
487 446
488#ifdef CONFIG_IA32_SUPPORT
489extern void ia32_save_state (struct task_struct *task);
490extern void ia32_load_state (struct task_struct *task);
491#endif
492
493#define ia64_fph_enable() do { ia64_rsm(IA64_PSR_DFH); ia64_srlz_d(); } while (0) 447#define ia64_fph_enable() do { ia64_rsm(IA64_PSR_DFH); ia64_srlz_d(); } while (0)
494#define ia64_fph_disable() do { ia64_ssm(IA64_PSR_DFH); ia64_srlz_d(); } while (0) 448#define ia64_fph_disable() do { ia64_ssm(IA64_PSR_DFH); ia64_srlz_d(); } while (0)
495 449
diff --git a/arch/ia64/include/asm/ptrace.h b/arch/ia64/include/asm/ptrace.h
index 14055c636adf..7ae9c3f15a1c 100644
--- a/arch/ia64/include/asm/ptrace.h
+++ b/arch/ia64/include/asm/ptrace.h
@@ -319,11 +319,7 @@ static inline unsigned long user_stack_pointer(struct pt_regs *regs)
319 ptrace_attach_sync_user_rbs(child) 319 ptrace_attach_sync_user_rbs(child)
320 320
321 #define arch_has_single_step() (1) 321 #define arch_has_single_step() (1)
322 extern void user_enable_single_step(struct task_struct *);
323 extern void user_disable_single_step(struct task_struct *);
324
325 #define arch_has_block_step() (1) 322 #define arch_has_block_step() (1)
326 extern void user_enable_block_step(struct task_struct *);
327 323
328#endif /* !__KERNEL__ */ 324#endif /* !__KERNEL__ */
329 325
diff --git a/arch/ia64/include/asm/rwsem.h b/arch/ia64/include/asm/rwsem.h
index e8762688e8e3..215d5454c7d3 100644
--- a/arch/ia64/include/asm/rwsem.h
+++ b/arch/ia64/include/asm/rwsem.h
@@ -40,9 +40,9 @@ struct rw_semaphore {
40}; 40};
41 41
42#define RWSEM_UNLOCKED_VALUE __IA64_UL_CONST(0x0000000000000000) 42#define RWSEM_UNLOCKED_VALUE __IA64_UL_CONST(0x0000000000000000)
43#define RWSEM_ACTIVE_BIAS __IA64_UL_CONST(0x0000000000000001) 43#define RWSEM_ACTIVE_BIAS (1L)
44#define RWSEM_ACTIVE_MASK __IA64_UL_CONST(0x00000000ffffffff) 44#define RWSEM_ACTIVE_MASK (0xffffffffL)
45#define RWSEM_WAITING_BIAS -__IA64_UL_CONST(0x0000000100000000) 45#define RWSEM_WAITING_BIAS (-0x100000000L)
46#define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS 46#define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
47#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS) 47#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
48 48
diff --git a/arch/ia64/include/asm/scatterlist.h b/arch/ia64/include/asm/scatterlist.h
index d6f57874041d..08fd93bff1db 100644
--- a/arch/ia64/include/asm/scatterlist.h
+++ b/arch/ia64/include/asm/scatterlist.h
@@ -1,38 +1,7 @@
1#ifndef _ASM_IA64_SCATTERLIST_H 1#ifndef _ASM_IA64_SCATTERLIST_H
2#define _ASM_IA64_SCATTERLIST_H 2#define _ASM_IA64_SCATTERLIST_H
3 3
4/* 4#include <asm-generic/scatterlist.h>
5 * Modified 1998-1999, 2001-2002, 2004 5#define ARCH_HAS_SG_CHAIN
6 * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co
7 */
8
9#include <asm/types.h>
10
11struct scatterlist {
12#ifdef CONFIG_DEBUG_SG
13 unsigned long sg_magic;
14#endif
15 unsigned long page_link;
16 unsigned int offset;
17 unsigned int length; /* buffer length */
18
19 dma_addr_t dma_address;
20 unsigned int dma_length;
21};
22
23/*
24 * It used to be that ISA_DMA_THRESHOLD had something to do with the
25 * DMA-limits of ISA-devices. Nowadays, its only remaining use (apart
26 * from the aha1542.c driver, which isn't 64-bit clean anyhow) is to
27 * tell the block-layer (via BLK_BOUNCE_ISA) what the max. physical
28 * address of a page is that is allocated with GFP_DMA. On IA-64,
29 * that's 4GB - 1.
30 */
31#define ISA_DMA_THRESHOLD 0xffffffff
32
33#define sg_dma_len(sg) ((sg)->dma_length)
34#define sg_dma_address(sg) ((sg)->dma_address)
35
36#define ARCH_HAS_SG_CHAIN
37 6
38#endif /* _ASM_IA64_SCATTERLIST_H */ 7#endif /* _ASM_IA64_SCATTERLIST_H */
diff --git a/arch/ia64/include/asm/syscall.h b/arch/ia64/include/asm/syscall.h
index 2f758a42f94b..a7ff1c6ab068 100644
--- a/arch/ia64/include/asm/syscall.h
+++ b/arch/ia64/include/asm/syscall.h
@@ -22,33 +22,18 @@ static inline long syscall_get_nr(struct task_struct *task,
22 if ((long)regs->cr_ifs < 0) /* Not a syscall */ 22 if ((long)regs->cr_ifs < 0) /* Not a syscall */
23 return -1; 23 return -1;
24 24
25#ifdef CONFIG_IA32_SUPPORT
26 if (IS_IA32_PROCESS(regs))
27 return regs->r1;
28#endif
29
30 return regs->r15; 25 return regs->r15;
31} 26}
32 27
33static inline void syscall_rollback(struct task_struct *task, 28static inline void syscall_rollback(struct task_struct *task,
34 struct pt_regs *regs) 29 struct pt_regs *regs)
35{ 30{
36#ifdef CONFIG_IA32_SUPPORT
37 if (IS_IA32_PROCESS(regs))
38 regs->r8 = regs->r1;
39#endif
40
41 /* do nothing */ 31 /* do nothing */
42} 32}
43 33
44static inline long syscall_get_error(struct task_struct *task, 34static inline long syscall_get_error(struct task_struct *task,
45 struct pt_regs *regs) 35 struct pt_regs *regs)
46{ 36{
47#ifdef CONFIG_IA32_SUPPORT
48 if (IS_IA32_PROCESS(regs))
49 return regs->r8;
50#endif
51
52 return regs->r10 == -1 ? regs->r8:0; 37 return regs->r10 == -1 ? regs->r8:0;
53} 38}
54 39
@@ -62,13 +47,6 @@ static inline void syscall_set_return_value(struct task_struct *task,
62 struct pt_regs *regs, 47 struct pt_regs *regs,
63 int error, long val) 48 int error, long val)
64{ 49{
65#ifdef CONFIG_IA32_SUPPORT
66 if (IS_IA32_PROCESS(regs)) {
67 regs->r8 = (long) error ? error : val;
68 return;
69 }
70#endif
71
72 if (error) { 50 if (error) {
73 /* error < 0, but ia64 uses > 0 return value */ 51 /* error < 0, but ia64 uses > 0 return value */
74 regs->r8 = -error; 52 regs->r8 = -error;
@@ -89,37 +67,6 @@ static inline void syscall_get_arguments(struct task_struct *task,
89{ 67{
90 BUG_ON(i + n > 6); 68 BUG_ON(i + n > 6);
91 69
92#ifdef CONFIG_IA32_SUPPORT
93 if (IS_IA32_PROCESS(regs)) {
94 switch (i + n) {
95 case 6:
96 if (!n--) break;
97 *args++ = regs->r13;
98 case 5:
99 if (!n--) break;
100 *args++ = regs->r15;
101 case 4:
102 if (!n--) break;
103 *args++ = regs->r14;
104 case 3:
105 if (!n--) break;
106 *args++ = regs->r10;
107 case 2:
108 if (!n--) break;
109 *args++ = regs->r9;
110 case 1:
111 if (!n--) break;
112 *args++ = regs->r11;
113 case 0:
114 if (!n--) break;
115 default:
116 BUG();
117 break;
118 }
119
120 return;
121 }
122#endif
123 ia64_syscall_get_set_arguments(task, regs, i, n, args, 0); 70 ia64_syscall_get_set_arguments(task, regs, i, n, args, 0);
124} 71}
125 72
@@ -130,34 +77,6 @@ static inline void syscall_set_arguments(struct task_struct *task,
130{ 77{
131 BUG_ON(i + n > 6); 78 BUG_ON(i + n > 6);
132 79
133#ifdef CONFIG_IA32_SUPPORT
134 if (IS_IA32_PROCESS(regs)) {
135 switch (i + n) {
136 case 6:
137 if (!n--) break;
138 regs->r13 = *args++;
139 case 5:
140 if (!n--) break;
141 regs->r15 = *args++;
142 case 4:
143 if (!n--) break;
144 regs->r14 = *args++;
145 case 3:
146 if (!n--) break;
147 regs->r10 = *args++;
148 case 2:
149 if (!n--) break;
150 regs->r9 = *args++;
151 case 1:
152 if (!n--) break;
153 regs->r11 = *args++;
154 case 0:
155 if (!n--) break;
156 }
157
158 return;
159 }
160#endif
161 ia64_syscall_get_set_arguments(task, regs, i, n, args, 1); 80 ia64_syscall_get_set_arguments(task, regs, i, n, args, 1);
162} 81}
163#endif /* _ASM_SYSCALL_H */ 82#endif /* _ASM_SYSCALL_H */
diff --git a/arch/ia64/include/asm/system.h b/arch/ia64/include/asm/system.h
index 927a381c20ca..9f342a574ce8 100644
--- a/arch/ia64/include/asm/system.h
+++ b/arch/ia64/include/asm/system.h
@@ -191,15 +191,6 @@ do { \
191 191
192#ifdef __KERNEL__ 192#ifdef __KERNEL__
193 193
194#ifdef CONFIG_IA32_SUPPORT
195# define IS_IA32_PROCESS(regs) (ia64_psr(regs)->is != 0)
196#else
197# define IS_IA32_PROCESS(regs) 0
198struct task_struct;
199static inline void ia32_save_state(struct task_struct *t __attribute__((unused))){}
200static inline void ia32_load_state(struct task_struct *t __attribute__((unused))){}
201#endif
202
203/* 194/*
204 * Context switch from one thread to another. If the two threads have 195 * Context switch from one thread to another. If the two threads have
205 * different address spaces, schedule() has already taken care of 196 * different address spaces, schedule() has already taken care of
@@ -233,7 +224,7 @@ extern void ia64_account_on_switch (struct task_struct *prev, struct task_struct
233 224
234#define IA64_HAS_EXTRA_STATE(t) \ 225#define IA64_HAS_EXTRA_STATE(t) \
235 ((t)->thread.flags & (IA64_THREAD_DBG_VALID|IA64_THREAD_PM_VALID) \ 226 ((t)->thread.flags & (IA64_THREAD_DBG_VALID|IA64_THREAD_PM_VALID) \
236 || IS_IA32_PROCESS(task_pt_regs(t)) || PERFMON_IS_SYSWIDE()) 227 || PERFMON_IS_SYSWIDE())
237 228
238#define __switch_to(prev,next,last) do { \ 229#define __switch_to(prev,next,last) do { \
239 IA64_ACCOUNT_ON_SWITCH(prev, next); \ 230 IA64_ACCOUNT_ON_SWITCH(prev, next); \
diff --git a/arch/ia64/include/asm/termbits.h b/arch/ia64/include/asm/termbits.h
index 9f162e0089ad..c009b94e58d9 100644
--- a/arch/ia64/include/asm/termbits.h
+++ b/arch/ia64/include/asm/termbits.h
@@ -187,6 +187,7 @@ struct ktermios {
187#define FLUSHO 0010000 187#define FLUSHO 0010000
188#define PENDIN 0040000 188#define PENDIN 0040000
189#define IEXTEN 0100000 189#define IEXTEN 0100000
190#define EXTPROC 0200000
190 191
191/* tcflow() and TCXONC use these */ 192/* tcflow() and TCXONC use these */
192#define TCOOFF 0 193#define TCOOFF 0
diff --git a/arch/ia64/include/asm/thread_info.h b/arch/ia64/include/asm/thread_info.h
index 8ce2e388e37c..b6a5ba2aca34 100644
--- a/arch/ia64/include/asm/thread_info.h
+++ b/arch/ia64/include/asm/thread_info.h
@@ -102,7 +102,7 @@ struct thread_info {
102#define TIF_SINGLESTEP 4 /* restore singlestep on return to user mode */ 102#define TIF_SINGLESTEP 4 /* restore singlestep on return to user mode */
103#define TIF_NOTIFY_RESUME 6 /* resumption notification requested */ 103#define TIF_NOTIFY_RESUME 6 /* resumption notification requested */
104#define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling TIF_NEED_RESCHED */ 104#define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling TIF_NEED_RESCHED */
105#define TIF_MEMDIE 17 105#define TIF_MEMDIE 17 /* is terminating due to OOM killer */
106#define TIF_MCA_INIT 18 /* this task is processing MCA or INIT */ 106#define TIF_MCA_INIT 18 /* this task is processing MCA or INIT */
107#define TIF_DB_DISABLED 19 /* debug trap disabled for fsyscall */ 107#define TIF_DB_DISABLED 19 /* debug trap disabled for fsyscall */
108#define TIF_FREEZE 20 /* is freezing for suspend */ 108#define TIF_FREEZE 20 /* is freezing for suspend */
diff --git a/arch/ia64/include/asm/topology.h b/arch/ia64/include/asm/topology.h
index d323071d0f91..09f646753d1a 100644
--- a/arch/ia64/include/asm/topology.h
+++ b/arch/ia64/include/asm/topology.h
@@ -26,11 +26,6 @@
26#define RECLAIM_DISTANCE 15 26#define RECLAIM_DISTANCE 15
27 27
28/* 28/*
29 * Returns the number of the node containing CPU 'cpu'
30 */
31#define cpu_to_node(cpu) (int)(cpu_to_node_map[cpu])
32
33/*
34 * Returns a bitmask of CPUs on Node 'node'. 29 * Returns a bitmask of CPUs on Node 'node'.
35 */ 30 */
36#define cpumask_of_node(node) ((node) == -1 ? \ 31#define cpumask_of_node(node) ((node) == -1 ? \
diff --git a/arch/ia64/include/asm/unistd.h b/arch/ia64/include/asm/unistd.h
index 10a8f21ca9e3..954d398a54b4 100644
--- a/arch/ia64/include/asm/unistd.h
+++ b/arch/ia64/include/asm/unistd.h
@@ -312,11 +312,14 @@
312#define __NR_pwritev 1320 312#define __NR_pwritev 1320
313#define __NR_rt_tgsigqueueinfo 1321 313#define __NR_rt_tgsigqueueinfo 1321
314#define __NR_recvmmsg 1322 314#define __NR_recvmmsg 1322
315#define __NR_fanotify_init 1323
316#define __NR_fanotify_mark 1324
317#define __NR_prlimit64 1325
315 318
316#ifdef __KERNEL__ 319#ifdef __KERNEL__
317 320
318 321
319#define NR_syscalls 299 /* length of syscall table */ 322#define NR_syscalls 302 /* length of syscall table */
320 323
321/* 324/*
322 * The following defines stop scripts/checksyscalls.sh from complaining about 325 * The following defines stop scripts/checksyscalls.sh from complaining about
@@ -335,20 +338,6 @@
335#define __ARCH_WANT_SYS_RT_SIGACTION 338#define __ARCH_WANT_SYS_RT_SIGACTION
336#define __ARCH_WANT_SYS_RT_SIGSUSPEND 339#define __ARCH_WANT_SYS_RT_SIGSUSPEND
337 340
338#ifdef CONFIG_IA32_SUPPORT
339# define __ARCH_WANT_SYS_FADVISE64
340# define __ARCH_WANT_SYS_GETPGRP
341# define __ARCH_WANT_SYS_LLSEEK
342# define __ARCH_WANT_SYS_NICE
343# define __ARCH_WANT_SYS_OLD_GETRLIMIT
344# define __ARCH_WANT_SYS_OLDUMOUNT
345# define __ARCH_WANT_SYS_PAUSE
346# define __ARCH_WANT_SYS_SIGPENDING
347# define __ARCH_WANT_SYS_SIGPROCMASK
348# define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
349# define __ARCH_WANT_COMPAT_SYS_TIME
350#endif
351
352#if !defined(__ASSEMBLY__) && !defined(ASSEMBLER) 341#if !defined(__ASSEMBLY__) && !defined(ASSEMBLER)
353 342
354#include <linux/types.h> 343#include <linux/types.h>
@@ -367,8 +356,6 @@ asmlinkage unsigned long sys_mmap2(
367 int fd, long pgoff); 356 int fd, long pgoff);
368struct pt_regs; 357struct pt_regs;
369struct sigaction; 358struct sigaction;
370long sys_execve(char __user *filename, char __user * __user *argv,
371 char __user * __user *envp, struct pt_regs *regs);
372asmlinkage long sys_ia64_pipe(void); 359asmlinkage long sys_ia64_pipe(void);
373asmlinkage long sys_rt_sigaction(int sig, 360asmlinkage long sys_rt_sigaction(int sig,
374 const struct sigaction __user *act, 361 const struct sigaction __user *act,
diff --git a/arch/ia64/include/asm/xen/events.h b/arch/ia64/include/asm/xen/events.h
index b8370c8b6198..baa74c82aa71 100644
--- a/arch/ia64/include/asm/xen/events.h
+++ b/arch/ia64/include/asm/xen/events.h
@@ -36,10 +36,6 @@ static inline int xen_irqs_disabled(struct pt_regs *regs)
36 return !(ia64_psr(regs)->i); 36 return !(ia64_psr(regs)->i);
37} 37}
38 38
39static inline void handle_irq(int irq, struct pt_regs *regs)
40{
41 __do_IRQ(irq);
42}
43#define irq_ctx_init(cpu) do { } while (0) 39#define irq_ctx_init(cpu) do { } while (0)
44 40
45#endif /* _ASM_IA64_XEN_EVENTS_H */ 41#endif /* _ASM_IA64_XEN_EVENTS_H */
diff --git a/arch/ia64/kernel/Makefile b/arch/ia64/kernel/Makefile
index e1236349c99f..db10b1e378b0 100644
--- a/arch/ia64/kernel/Makefile
+++ b/arch/ia64/kernel/Makefile
@@ -8,15 +8,13 @@ endif
8 8
9extra-y := head.o init_task.o vmlinux.lds 9extra-y := head.o init_task.o vmlinux.lds
10 10
11obj-y := acpi.o entry.o efi.o efi_stub.o gate-data.o fsys.o ia64_ksyms.o irq.o irq_ia64.o \ 11obj-y := entry.o efi.o efi_stub.o gate-data.o fsys.o ia64_ksyms.o irq.o irq_ia64.o \
12 irq_lsapic.o ivt.o machvec.o pal.o paravirt_patchlist.o patch.o process.o perfmon.o ptrace.o sal.o \ 12 irq_lsapic.o ivt.o machvec.o pal.o paravirt_patchlist.o patch.o process.o perfmon.o ptrace.o sal.o \
13 salinfo.o setup.o signal.o sys_ia64.o time.o traps.o unaligned.o \ 13 salinfo.o setup.o signal.o sys_ia64.o time.o traps.o unaligned.o \
14 unwind.o mca.o mca_asm.o topology.o dma-mapping.o 14 unwind.o mca.o mca_asm.o topology.o dma-mapping.o
15 15
16obj-$(CONFIG_ACPI) += acpi.o acpi-ext.o
16obj-$(CONFIG_IA64_BRL_EMU) += brl_emu.o 17obj-$(CONFIG_IA64_BRL_EMU) += brl_emu.o
17obj-$(CONFIG_IA64_GENERIC) += acpi-ext.o
18obj-$(CONFIG_IA64_HP_ZX1) += acpi-ext.o
19obj-$(CONFIG_IA64_HP_ZX1_SWIOTLB) += acpi-ext.o
20 18
21obj-$(CONFIG_IA64_PALINFO) += palinfo.o 19obj-$(CONFIG_IA64_PALINFO) += palinfo.o
22obj-$(CONFIG_IOSAPIC) += iosapic.o 20obj-$(CONFIG_IOSAPIC) += iosapic.o
@@ -47,6 +45,8 @@ endif
47obj-$(CONFIG_DMAR) += pci-dma.o 45obj-$(CONFIG_DMAR) += pci-dma.o
48obj-$(CONFIG_SWIOTLB) += pci-swiotlb.o 46obj-$(CONFIG_SWIOTLB) += pci-swiotlb.o
49 47
48obj-$(CONFIG_BINFMT_ELF) += elfcore.o
49
50# fp_emulate() expects f2-f5,f16-f31 to contain the user-level state. 50# fp_emulate() expects f2-f5,f16-f31 to contain the user-level state.
51CFLAGS_traps.o += -mfixed-range=f2-f5,f16-f31 51CFLAGS_traps.o += -mfixed-range=f2-f5,f16-f31
52 52
diff --git a/arch/ia64/kernel/acpi-ext.c b/arch/ia64/kernel/acpi-ext.c
index b7515bc808a8..8b9318d311a0 100644
--- a/arch/ia64/kernel/acpi-ext.c
+++ b/arch/ia64/kernel/acpi-ext.c
@@ -10,6 +10,7 @@
10 10
11#include <linux/module.h> 11#include <linux/module.h>
12#include <linux/types.h> 12#include <linux/types.h>
13#include <linux/slab.h>
13#include <linux/acpi.h> 14#include <linux/acpi.h>
14 15
15#include <asm/acpi-ext.h> 16#include <asm/acpi-ext.h>
diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c
index 40574ae11401..c6c90f39f4d9 100644
--- a/arch/ia64/kernel/acpi.c
+++ b/arch/ia64/kernel/acpi.c
@@ -44,6 +44,8 @@
44#include <linux/efi.h> 44#include <linux/efi.h>
45#include <linux/mmzone.h> 45#include <linux/mmzone.h>
46#include <linux/nodemask.h> 46#include <linux/nodemask.h>
47#include <linux/slab.h>
48#include <acpi/processor.h>
47#include <asm/io.h> 49#include <asm/io.h>
48#include <asm/iosapic.h> 50#include <asm/iosapic.h>
49#include <asm/machvec.h> 51#include <asm/machvec.h>
@@ -60,11 +62,6 @@
60 62
61#define PREFIX "ACPI: " 63#define PREFIX "ACPI: "
62 64
63void (*pm_idle) (void);
64EXPORT_SYMBOL(pm_idle);
65void (*pm_power_off) (void);
66EXPORT_SYMBOL(pm_power_off);
67
68u32 acpi_rsdt_forced; 65u32 acpi_rsdt_forced;
69unsigned int acpi_cpei_override; 66unsigned int acpi_cpei_override;
70unsigned int acpi_cpei_phys_cpuid; 67unsigned int acpi_cpei_phys_cpuid;
@@ -83,12 +80,10 @@ static unsigned long __init acpi_find_rsdp(void)
83 "v1.0/r0.71 tables no longer supported\n"); 80 "v1.0/r0.71 tables no longer supported\n");
84 return rsdp_phys; 81 return rsdp_phys;
85} 82}
86#endif
87 83
88const char __init * 84const char __init *
89acpi_get_sysname(void) 85acpi_get_sysname(void)
90{ 86{
91#ifdef CONFIG_IA64_GENERIC
92 unsigned long rsdp_phys; 87 unsigned long rsdp_phys;
93 struct acpi_table_rsdp *rsdp; 88 struct acpi_table_rsdp *rsdp;
94 struct acpi_table_xsdt *xsdt; 89 struct acpi_table_xsdt *xsdt;
@@ -143,30 +138,8 @@ acpi_get_sysname(void)
143#endif 138#endif
144 139
145 return "dig"; 140 return "dig";
146#else
147# if defined (CONFIG_IA64_HP_SIM)
148 return "hpsim";
149# elif defined (CONFIG_IA64_HP_ZX1)
150 return "hpzx1";
151# elif defined (CONFIG_IA64_HP_ZX1_SWIOTLB)
152 return "hpzx1_swiotlb";
153# elif defined (CONFIG_IA64_SGI_SN2)
154 return "sn2";
155# elif defined (CONFIG_IA64_SGI_UV)
156 return "uv";
157# elif defined (CONFIG_IA64_DIG)
158 return "dig";
159# elif defined (CONFIG_IA64_XEN_GUEST)
160 return "xen";
161# elif defined(CONFIG_IA64_DIG_VTD)
162 return "dig_vtd";
163# else
164# error Unknown platform. Fix acpi.c.
165# endif
166#endif
167} 141}
168 142#endif /* CONFIG_IA64_GENERIC */
169#ifdef CONFIG_ACPI
170 143
171#define ACPI_MAX_PLATFORM_INTERRUPTS 256 144#define ACPI_MAX_PLATFORM_INTERRUPTS 256
172 145
@@ -812,6 +785,14 @@ int acpi_gsi_to_irq(u32 gsi, unsigned int *irq)
812 return 0; 785 return 0;
813} 786}
814 787
788int acpi_isa_irq_to_gsi(unsigned isa_irq, u32 *gsi)
789{
790 if (isa_irq >= 16)
791 return -1;
792 *gsi = isa_irq;
793 return 0;
794}
795
815/* 796/*
816 * ACPI based hotplug CPU support 797 * ACPI based hotplug CPU support
817 */ 798 */
@@ -881,8 +862,8 @@ __init void prefill_possible_map(void)
881 862
882 possible = available_cpus + additional_cpus; 863 possible = available_cpus + additional_cpus;
883 864
884 if (possible > NR_CPUS) 865 if (possible > nr_cpu_ids)
885 possible = NR_CPUS; 866 possible = nr_cpu_ids;
886 867
887 printk(KERN_INFO "SMP: Allowing %d CPUs, %d hotplug CPUs\n", 868 printk(KERN_INFO "SMP: Allowing %d CPUs, %d hotplug CPUs\n",
888 possible, max((possible - available_cpus), 0)); 869 possible, max((possible - available_cpus), 0));
@@ -936,6 +917,8 @@ int acpi_map_lsapic(acpi_handle handle, int *pcpu)
936 cpu_set(cpu, cpu_present_map); 917 cpu_set(cpu, cpu_present_map);
937 ia64_cpu_to_sapicid[cpu] = physid; 918 ia64_cpu_to_sapicid[cpu] = physid;
938 919
920 acpi_processor_set_pdc(handle);
921
939 *pcpu = cpu; 922 *pcpu = cpu;
940 return (0); 923 return (0);
941} 924}
@@ -1060,5 +1043,3 @@ void acpi_restore_state_mem(void) {}
1060 * do_suspend_lowlevel() 1043 * do_suspend_lowlevel()
1061 */ 1044 */
1062void do_suspend_lowlevel(void) {} 1045void do_suspend_lowlevel(void) {}
1063
1064#endif /* CONFIG_ACPI */
diff --git a/arch/ia64/kernel/audit.c b/arch/ia64/kernel/audit.c
index f3802ae89b10..96a9d18ff4c4 100644
--- a/arch/ia64/kernel/audit.c
+++ b/arch/ia64/kernel/audit.c
@@ -30,20 +30,11 @@ static unsigned signal_class[] = {
30 30
31int audit_classify_arch(int arch) 31int audit_classify_arch(int arch)
32{ 32{
33#ifdef CONFIG_IA32_SUPPORT
34 if (arch == AUDIT_ARCH_I386)
35 return 1;
36#endif
37 return 0; 33 return 0;
38} 34}
39 35
40int audit_classify_syscall(int abi, unsigned syscall) 36int audit_classify_syscall(int abi, unsigned syscall)
41{ 37{
42#ifdef CONFIG_IA32_SUPPORT
43 extern int ia32_classify_syscall(unsigned);
44 if (abi == AUDIT_ARCH_I386)
45 return ia32_classify_syscall(syscall);
46#endif
47 switch(syscall) { 38 switch(syscall) {
48 case __NR_open: 39 case __NR_open:
49 return 2; 40 return 2;
@@ -58,18 +49,6 @@ int audit_classify_syscall(int abi, unsigned syscall)
58 49
59static int __init audit_classes_init(void) 50static int __init audit_classes_init(void)
60{ 51{
61#ifdef CONFIG_IA32_SUPPORT
62 extern __u32 ia32_dir_class[];
63 extern __u32 ia32_write_class[];
64 extern __u32 ia32_read_class[];
65 extern __u32 ia32_chattr_class[];
66 extern __u32 ia32_signal_class[];
67 audit_register_class(AUDIT_CLASS_WRITE_32, ia32_write_class);
68 audit_register_class(AUDIT_CLASS_READ_32, ia32_read_class);
69 audit_register_class(AUDIT_CLASS_DIR_WRITE_32, ia32_dir_class);
70 audit_register_class(AUDIT_CLASS_CHATTR_32, ia32_chattr_class);
71 audit_register_class(AUDIT_CLASS_SIGNAL_32, ia32_signal_class);
72#endif
73 audit_register_class(AUDIT_CLASS_WRITE, write_class); 52 audit_register_class(AUDIT_CLASS_WRITE, write_class);
74 audit_register_class(AUDIT_CLASS_READ, read_class); 53 audit_register_class(AUDIT_CLASS_READ, read_class);
75 audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class); 54 audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class);
diff --git a/arch/ia64/kernel/cpufreq/acpi-cpufreq.c b/arch/ia64/kernel/cpufreq/acpi-cpufreq.c
index 7b435451b3dc..22f61526a8e1 100644
--- a/arch/ia64/kernel/cpufreq/acpi-cpufreq.c
+++ b/arch/ia64/kernel/cpufreq/acpi-cpufreq.c
@@ -10,6 +10,7 @@
10 */ 10 */
11 11
12#include <linux/kernel.h> 12#include <linux/kernel.h>
13#include <linux/slab.h>
13#include <linux/module.h> 14#include <linux/module.h>
14#include <linux/init.h> 15#include <linux/init.h>
15#include <linux/cpufreq.h> 16#include <linux/cpufreq.h>
@@ -112,7 +113,7 @@ processor_get_freq (
112 dprintk("processor_get_freq\n"); 113 dprintk("processor_get_freq\n");
113 114
114 saved_mask = current->cpus_allowed; 115 saved_mask = current->cpus_allowed;
115 set_cpus_allowed(current, cpumask_of_cpu(cpu)); 116 set_cpus_allowed_ptr(current, cpumask_of(cpu));
116 if (smp_processor_id() != cpu) 117 if (smp_processor_id() != cpu)
117 goto migrate_end; 118 goto migrate_end;
118 119
@@ -120,7 +121,7 @@ processor_get_freq (
120 ret = processor_get_pstate(&value); 121 ret = processor_get_pstate(&value);
121 122
122 if (ret) { 123 if (ret) {
123 set_cpus_allowed(current, saved_mask); 124 set_cpus_allowed_ptr(current, &saved_mask);
124 printk(KERN_WARNING "get performance failed with error %d\n", 125 printk(KERN_WARNING "get performance failed with error %d\n",
125 ret); 126 ret);
126 ret = 0; 127 ret = 0;
@@ -130,7 +131,7 @@ processor_get_freq (
130 ret = (clock_freq*1000); 131 ret = (clock_freq*1000);
131 132
132migrate_end: 133migrate_end:
133 set_cpus_allowed(current, saved_mask); 134 set_cpus_allowed_ptr(current, &saved_mask);
134 return ret; 135 return ret;
135} 136}
136 137
@@ -150,7 +151,7 @@ processor_set_freq (
150 dprintk("processor_set_freq\n"); 151 dprintk("processor_set_freq\n");
151 152
152 saved_mask = current->cpus_allowed; 153 saved_mask = current->cpus_allowed;
153 set_cpus_allowed(current, cpumask_of_cpu(cpu)); 154 set_cpus_allowed_ptr(current, cpumask_of(cpu));
154 if (smp_processor_id() != cpu) { 155 if (smp_processor_id() != cpu) {
155 retval = -EAGAIN; 156 retval = -EAGAIN;
156 goto migrate_end; 157 goto migrate_end;
@@ -207,7 +208,7 @@ processor_set_freq (
207 retval = 0; 208 retval = 0;
208 209
209migrate_end: 210migrate_end:
210 set_cpus_allowed(current, saved_mask); 211 set_cpus_allowed_ptr(current, &saved_mask);
211 return (retval); 212 return (retval);
212} 213}
213 214
diff --git a/arch/ia64/kernel/efi.c b/arch/ia64/kernel/efi.c
index c745d0aeb6e0..a0f001928502 100644
--- a/arch/ia64/kernel/efi.c
+++ b/arch/ia64/kernel/efi.c
@@ -26,6 +26,7 @@
26#include <linux/kernel.h> 26#include <linux/kernel.h>
27#include <linux/init.h> 27#include <linux/init.h>
28#include <linux/types.h> 28#include <linux/types.h>
29#include <linux/slab.h>
29#include <linux/time.h> 30#include <linux/time.h>
30#include <linux/efi.h> 31#include <linux/efi.h>
31#include <linux/kexec.h> 32#include <linux/kexec.h>
diff --git a/arch/ia64/kernel/elfcore.c b/arch/ia64/kernel/elfcore.c
new file mode 100644
index 000000000000..bac1639bc320
--- /dev/null
+++ b/arch/ia64/kernel/elfcore.c
@@ -0,0 +1,80 @@
1#include <linux/elf.h>
2#include <linux/coredump.h>
3#include <linux/fs.h>
4#include <linux/mm.h>
5
6#include <asm/elf.h>
7
8
9Elf64_Half elf_core_extra_phdrs(void)
10{
11 return GATE_EHDR->e_phnum;
12}
13
14int elf_core_write_extra_phdrs(struct file *file, loff_t offset, size_t *size,
15 unsigned long limit)
16{
17 const struct elf_phdr *const gate_phdrs =
18 (const struct elf_phdr *) (GATE_ADDR + GATE_EHDR->e_phoff);
19 int i;
20 Elf64_Off ofs = 0;
21
22 for (i = 0; i < GATE_EHDR->e_phnum; ++i) {
23 struct elf_phdr phdr = gate_phdrs[i];
24
25 if (phdr.p_type == PT_LOAD) {
26 phdr.p_memsz = PAGE_ALIGN(phdr.p_memsz);
27 phdr.p_filesz = phdr.p_memsz;
28 if (ofs == 0) {
29 ofs = phdr.p_offset = offset;
30 offset += phdr.p_filesz;
31 } else {
32 phdr.p_offset = ofs;
33 }
34 } else {
35 phdr.p_offset += ofs;
36 }
37 phdr.p_paddr = 0; /* match other core phdrs */
38 *size += sizeof(phdr);
39 if (*size > limit || !dump_write(file, &phdr, sizeof(phdr)))
40 return 0;
41 }
42 return 1;
43}
44
45int elf_core_write_extra_data(struct file *file, size_t *size,
46 unsigned long limit)
47{
48 const struct elf_phdr *const gate_phdrs =
49 (const struct elf_phdr *) (GATE_ADDR + GATE_EHDR->e_phoff);
50 int i;
51
52 for (i = 0; i < GATE_EHDR->e_phnum; ++i) {
53 if (gate_phdrs[i].p_type == PT_LOAD) {
54 void *addr = (void *)gate_phdrs[i].p_vaddr;
55 size_t memsz = PAGE_ALIGN(gate_phdrs[i].p_memsz);
56
57 *size += memsz;
58 if (*size > limit || !dump_write(file, addr, memsz))
59 return 0;
60 break;
61 }
62 }
63 return 1;
64}
65
66size_t elf_core_extra_data_size(void)
67{
68 const struct elf_phdr *const gate_phdrs =
69 (const struct elf_phdr *) (GATE_ADDR + GATE_EHDR->e_phoff);
70 int i;
71 size_t size = 0;
72
73 for (i = 0; i < GATE_EHDR->e_phnum; ++i) {
74 if (gate_phdrs[i].p_type == PT_LOAD) {
75 size += PAGE_ALIGN(gate_phdrs[i].p_memsz);
76 break;
77 }
78 }
79 return size;
80}
diff --git a/arch/ia64/kernel/entry.S b/arch/ia64/kernel/entry.S
index d75b872ca4dc..244704a174de 100644
--- a/arch/ia64/kernel/entry.S
+++ b/arch/ia64/kernel/entry.S
@@ -71,15 +71,6 @@ ENTRY(ia64_execve)
71 add out3=16,sp // regs 71 add out3=16,sp // regs
72 br.call.sptk.many rp=sys_execve 72 br.call.sptk.many rp=sys_execve
73.ret0: 73.ret0:
74#ifdef CONFIG_IA32_SUPPORT
75 /*
76 * Check if we're returning to ia32 mode. If so, we need to restore ia32 registers
77 * from pt_regs.
78 */
79 adds r16=PT(CR_IPSR)+16,sp
80 ;;
81 ld8 r16=[r16]
82#endif
83 cmp4.ge p6,p7=r8,r0 74 cmp4.ge p6,p7=r8,r0
84 mov ar.pfs=loc1 // restore ar.pfs 75 mov ar.pfs=loc1 // restore ar.pfs
85 sxt4 r8=r8 // return 64-bit result 76 sxt4 r8=r8 // return 64-bit result
@@ -108,12 +99,6 @@ ENTRY(ia64_execve)
108 ldf.fill f23=[sp]; ldf.fill f24=[sp]; mov f25=f0 99 ldf.fill f23=[sp]; ldf.fill f24=[sp]; mov f25=f0
109 ldf.fill f26=[sp]; ldf.fill f27=[sp]; mov f28=f0 100 ldf.fill f26=[sp]; ldf.fill f27=[sp]; mov f28=f0
110 ldf.fill f29=[sp]; ldf.fill f30=[sp]; mov f31=f0 101 ldf.fill f29=[sp]; ldf.fill f30=[sp]; mov f31=f0
111#ifdef CONFIG_IA32_SUPPORT
112 tbit.nz p6,p0=r16, IA64_PSR_IS_BIT
113 movl loc0=ia64_ret_from_ia32_execve
114 ;;
115(p6) mov rp=loc0
116#endif
117 br.ret.sptk.many rp 102 br.ret.sptk.many rp
118END(ia64_execve) 103END(ia64_execve)
119 104
@@ -848,30 +833,6 @@ __paravirt_work_processed_syscall:
848 br.cond.sptk.many rbs_switch // B 833 br.cond.sptk.many rbs_switch // B
849END(__paravirt_leave_syscall) 834END(__paravirt_leave_syscall)
850 835
851#ifdef __IA64_ASM_PARAVIRTUALIZED_NATIVE
852#ifdef CONFIG_IA32_SUPPORT
853GLOBAL_ENTRY(ia64_ret_from_ia32_execve)
854 PT_REGS_UNWIND_INFO(0)
855 adds r2=PT(R8)+16,sp // r2 = &pt_regs.r8
856 adds r3=PT(R10)+16,sp // r3 = &pt_regs.r10
857 ;;
858 .mem.offset 0,0
859 st8.spill [r2]=r8 // store return value in slot for r8 and set unat bit
860 .mem.offset 8,0
861 st8.spill [r3]=r0 // clear error indication in slot for r10 and set unat bit
862#ifdef CONFIG_PARAVIRT
863 ;;
864 // don't fall through, ia64_leave_kernel may be #define'd
865 br.cond.sptk.few ia64_leave_kernel
866 ;;
867#endif /* CONFIG_PARAVIRT */
868END(ia64_ret_from_ia32_execve)
869#ifndef CONFIG_PARAVIRT
870 // fall through
871#endif
872#endif /* CONFIG_IA32_SUPPORT */
873#endif /* __IA64_ASM_PARAVIRTUALIZED_NATIVE */
874
875GLOBAL_ENTRY(__paravirt_leave_kernel) 836GLOBAL_ENTRY(__paravirt_leave_kernel)
876 PT_REGS_UNWIND_INFO(0) 837 PT_REGS_UNWIND_INFO(0)
877 /* 838 /*
@@ -1807,6 +1768,9 @@ sys_call_table:
1807 data8 sys_pwritev // 1320 1768 data8 sys_pwritev // 1320
1808 data8 sys_rt_tgsigqueueinfo 1769 data8 sys_rt_tgsigqueueinfo
1809 data8 sys_recvmmsg 1770 data8 sys_recvmmsg
1771 data8 sys_fanotify_init
1772 data8 sys_fanotify_mark
1773 data8 sys_prlimit64 // 1325
1810 1774
1811 .org sys_call_table + 8*NR_syscalls // guard against failures to increase NR_syscalls 1775 .org sys_call_table + 8*NR_syscalls // guard against failures to increase NR_syscalls
1812#endif /* __IA64_ASM_PARAVIRTUALIZED_NATIVE */ 1776#endif /* __IA64_ASM_PARAVIRTUALIZED_NATIVE */
diff --git a/arch/ia64/kernel/fsys.S b/arch/ia64/kernel/fsys.S
index 3567d54f8cee..331d42bda77a 100644
--- a/arch/ia64/kernel/fsys.S
+++ b/arch/ia64/kernel/fsys.S
@@ -420,22 +420,31 @@ EX(.fail_efault, ld8 r14=[r33]) // r14 <- *set
420 ;; 420 ;;
421 421
422 RSM_PSR_I(p0, r18, r19) // mask interrupt delivery 422 RSM_PSR_I(p0, r18, r19) // mask interrupt delivery
423 mov ar.ccv=0
424 andcm r14=r14,r17 // filter out SIGKILL & SIGSTOP 423 andcm r14=r14,r17 // filter out SIGKILL & SIGSTOP
424 mov r8=EINVAL // default to EINVAL
425 425
426#ifdef CONFIG_SMP 426#ifdef CONFIG_SMP
427 mov r17=1 427 // __ticket_spin_trylock(r31)
428 ld4 r17=[r31]
428 ;; 429 ;;
429 cmpxchg4.acq r18=[r31],r17,ar.ccv // try to acquire the lock 430 mov.m ar.ccv=r17
430 mov r8=EINVAL // default to EINVAL 431 extr.u r9=r17,17,15
432 adds r19=1,r17
433 extr.u r18=r17,0,15
434 ;;
435 cmp.eq p6,p7=r9,r18
431 ;; 436 ;;
437(p6) cmpxchg4.acq r9=[r31],r19,ar.ccv
438(p6) dep.z r20=r19,1,15 // next serving ticket for unlock
439(p7) br.cond.spnt.many .lock_contention
440 ;;
441 cmp4.eq p0,p7=r9,r17
442 adds r31=2,r31
443(p7) br.cond.spnt.many .lock_contention
432 ld8 r3=[r2] // re-read current->blocked now that we hold the lock 444 ld8 r3=[r2] // re-read current->blocked now that we hold the lock
433 cmp4.ne p6,p0=r18,r0
434(p6) br.cond.spnt.many .lock_contention
435 ;; 445 ;;
436#else 446#else
437 ld8 r3=[r2] // re-read current->blocked now that we hold the lock 447 ld8 r3=[r2] // re-read current->blocked now that we hold the lock
438 mov r8=EINVAL // default to EINVAL
439#endif 448#endif
440 add r18=IA64_TASK_PENDING_OFFSET+IA64_SIGPENDING_SIGNAL_OFFSET,r16 449 add r18=IA64_TASK_PENDING_OFFSET+IA64_SIGPENDING_SIGNAL_OFFSET,r16
441 add r19=IA64_TASK_SIGNAL_OFFSET,r16 450 add r19=IA64_TASK_SIGNAL_OFFSET,r16
@@ -490,7 +499,9 @@ EX(.fail_efault, ld8 r14=[r33]) // r14 <- *set
490(p6) br.cond.spnt.few 1b // yes -> retry 499(p6) br.cond.spnt.few 1b // yes -> retry
491 500
492#ifdef CONFIG_SMP 501#ifdef CONFIG_SMP
493 st4.rel [r31]=r0 // release the lock 502 // __ticket_spin_unlock(r31)
503 st2.rel [r31]=r20
504 mov r20=0 // i must not leak kernel bits...
494#endif 505#endif
495 SSM_PSR_I(p0, p9, r31) 506 SSM_PSR_I(p0, p9, r31)
496 ;; 507 ;;
@@ -512,7 +523,8 @@ EX(.fail_efault, (p15) st8 [r34]=r3)
512 523
513.sig_pending: 524.sig_pending:
514#ifdef CONFIG_SMP 525#ifdef CONFIG_SMP
515 st4.rel [r31]=r0 // release the lock 526 // __ticket_spin_unlock(r31)
527 st2.rel [r31]=r20 // release the lock
516#endif 528#endif
517 SSM_PSR_I(p0, p9, r17) 529 SSM_PSR_I(p0, p9, r17)
518 ;; 530 ;;
diff --git a/arch/ia64/kernel/ia64_ksyms.c b/arch/ia64/kernel/ia64_ksyms.c
index 461b99902bf6..7f4a0ed24152 100644
--- a/arch/ia64/kernel/ia64_ksyms.c
+++ b/arch/ia64/kernel/ia64_ksyms.c
@@ -30,9 +30,9 @@ EXPORT_SYMBOL(max_low_pfn); /* defined by bootmem.c, but not exported by generic
30#endif 30#endif
31 31
32#include <asm/processor.h> 32#include <asm/processor.h>
33EXPORT_SYMBOL(per_cpu__ia64_cpu_info); 33EXPORT_SYMBOL(ia64_cpu_info);
34#ifdef CONFIG_SMP 34#ifdef CONFIG_SMP
35EXPORT_SYMBOL(per_cpu__local_per_cpu_offset); 35EXPORT_SYMBOL(local_per_cpu_offset);
36#endif 36#endif
37 37
38#include <asm/uaccess.h> 38#include <asm/uaccess.h>
diff --git a/arch/ia64/kernel/iosapic.c b/arch/ia64/kernel/iosapic.c
index 95ac77aeae9b..7ded76658d2d 100644
--- a/arch/ia64/kernel/iosapic.c
+++ b/arch/ia64/kernel/iosapic.c
@@ -86,6 +86,7 @@
86#include <linux/kernel.h> 86#include <linux/kernel.h>
87#include <linux/list.h> 87#include <linux/list.h>
88#include <linux/pci.h> 88#include <linux/pci.h>
89#include <linux/slab.h>
89#include <linux/smp.h> 90#include <linux/smp.h>
90#include <linux/string.h> 91#include <linux/string.h>
91#include <linux/bootmem.h> 92#include <linux/bootmem.h>
diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c
index d4093a173a3e..f14c35f9b03a 100644
--- a/arch/ia64/kernel/irq_ia64.c
+++ b/arch/ia64/kernel/irq_ia64.c
@@ -22,7 +22,6 @@
22#include <linux/interrupt.h> 22#include <linux/interrupt.h>
23#include <linux/ioport.h> 23#include <linux/ioport.h>
24#include <linux/kernel_stat.h> 24#include <linux/kernel_stat.h>
25#include <linux/slab.h>
26#include <linux/ptrace.h> 25#include <linux/ptrace.h>
27#include <linux/random.h> /* for rand_initialize_irq() */ 26#include <linux/random.h> /* for rand_initialize_irq() */
28#include <linux/signal.h> 27#include <linux/signal.h>
@@ -30,6 +29,7 @@
30#include <linux/threads.h> 29#include <linux/threads.h>
31#include <linux/bitops.h> 30#include <linux/bitops.h>
32#include <linux/irq.h> 31#include <linux/irq.h>
32#include <linux/ratelimit.h>
33 33
34#include <asm/delay.h> 34#include <asm/delay.h>
35#include <asm/intrinsics.h> 35#include <asm/intrinsics.h>
@@ -468,13 +468,9 @@ ia64_handle_irq (ia64_vector vector, struct pt_regs *regs)
468 sp = ia64_getreg(_IA64_REG_SP); 468 sp = ia64_getreg(_IA64_REG_SP);
469 469
470 if ((sp - bsp) < 1024) { 470 if ((sp - bsp) < 1024) {
471 static unsigned char count; 471 static DEFINE_RATELIMIT_STATE(ratelimit, 5 * HZ, 5);
472 static long last_time;
473 472
474 if (time_after(jiffies, last_time + 5 * HZ)) 473 if (__ratelimit(&ratelimit)) {
475 count = 0;
476 if (++count < 5) {
477 last_time = jiffies;
478 printk("ia64_handle_irq: DANGER: less than " 474 printk("ia64_handle_irq: DANGER: less than "
479 "1KB of free stack space!!\n" 475 "1KB of free stack space!!\n"
480 "(bsp=0x%lx, sp=%lx)\n", bsp, sp); 476 "(bsp=0x%lx, sp=%lx)\n", bsp, sp);
diff --git a/arch/ia64/kernel/ivt.S b/arch/ia64/kernel/ivt.S
index 0c14512b12dc..d93e396bf599 100644
--- a/arch/ia64/kernel/ivt.S
+++ b/arch/ia64/kernel/ivt.S
@@ -49,7 +49,6 @@
49 49
50#include <asm/asmmacro.h> 50#include <asm/asmmacro.h>
51#include <asm/break.h> 51#include <asm/break.h>
52#include <asm/ia32.h>
53#include <asm/kregs.h> 52#include <asm/kregs.h>
54#include <asm/asm-offsets.h> 53#include <asm/asm-offsets.h>
55#include <asm/pgtable.h> 54#include <asm/pgtable.h>
@@ -1386,28 +1385,6 @@ END(ia32_exception)
1386// 0x6a00 Entry 46 (size 16 bundles) IA-32 Intercept (30,31,59,70,71) 1385// 0x6a00 Entry 46 (size 16 bundles) IA-32 Intercept (30,31,59,70,71)
1387ENTRY(ia32_intercept) 1386ENTRY(ia32_intercept)
1388 DBG_FAULT(46) 1387 DBG_FAULT(46)
1389#ifdef CONFIG_IA32_SUPPORT
1390 mov r31=pr
1391 MOV_FROM_ISR(r16)
1392 ;;
1393 extr.u r17=r16,16,8 // get ISR.code
1394 mov r18=ar.eflag
1395 MOV_FROM_IIM(r19) // old eflag value
1396 ;;
1397 cmp.ne p6,p0=2,r17
1398(p6) br.cond.spnt 1f // not a system flag fault
1399 xor r16=r18,r19
1400 ;;
1401 extr.u r17=r16,18,1 // get the eflags.ac bit
1402 ;;
1403 cmp.eq p6,p0=0,r17
1404(p6) br.cond.spnt 1f // eflags.ac bit didn't change
1405 ;;
1406 mov pr=r31,-1 // restore predicate registers
1407 RFI
1408
14091:
1410#endif // CONFIG_IA32_SUPPORT
1411 FAULT(46) 1388 FAULT(46)
1412END(ia32_intercept) 1389END(ia32_intercept)
1413 1390
@@ -1416,12 +1393,7 @@ END(ia32_intercept)
1416// 0x6b00 Entry 47 (size 16 bundles) IA-32 Interrupt (74) 1393// 0x6b00 Entry 47 (size 16 bundles) IA-32 Interrupt (74)
1417ENTRY(ia32_interrupt) 1394ENTRY(ia32_interrupt)
1418 DBG_FAULT(47) 1395 DBG_FAULT(47)
1419#ifdef CONFIG_IA32_SUPPORT
1420 mov r31=pr
1421 br.sptk.many dispatch_to_ia32_handler
1422#else
1423 FAULT(47) 1396 FAULT(47)
1424#endif
1425END(ia32_interrupt) 1397END(ia32_interrupt)
1426 1398
1427 .org ia64_ivt+0x6c00 1399 .org ia64_ivt+0x6c00
@@ -1715,89 +1687,3 @@ ENTRY(dispatch_illegal_op_fault)
1715(p6) br.call.dpnt.many b6=b6 // call returns to ia64_leave_kernel 1687(p6) br.call.dpnt.many b6=b6 // call returns to ia64_leave_kernel
1716 br.sptk.many ia64_leave_kernel 1688 br.sptk.many ia64_leave_kernel
1717END(dispatch_illegal_op_fault) 1689END(dispatch_illegal_op_fault)
1718
1719#ifdef CONFIG_IA32_SUPPORT
1720
1721 /*
1722 * There is no particular reason for this code to be here, other than that
1723 * there happens to be space here that would go unused otherwise. If this
1724 * fault ever gets "unreserved", simply moved the following code to a more
1725 * suitable spot...
1726 */
1727
1728 // IA32 interrupt entry point
1729
1730ENTRY(dispatch_to_ia32_handler)
1731 SAVE_MIN
1732 ;;
1733 MOV_FROM_ISR(r14)
1734 SSM_PSR_IC_AND_DEFAULT_BITS_AND_SRLZ_I(r3, r24)
1735 // guarantee that interruption collection is on
1736 ;;
1737 SSM_PSR_I(p15, p15, r3)
1738 adds r3=8,r2 // Base pointer for SAVE_REST
1739 ;;
1740 SAVE_REST
1741 ;;
1742 mov r15=0x80
1743 shr r14=r14,16 // Get interrupt number
1744 ;;
1745 cmp.ne p6,p0=r14,r15
1746(p6) br.call.dpnt.many b6=non_ia32_syscall
1747
1748 adds r14=IA64_PT_REGS_R8_OFFSET + 16,sp // 16 byte hole per SW conventions
1749 adds r15=IA64_PT_REGS_R1_OFFSET + 16,sp
1750 ;;
1751 cmp.eq pSys,pNonSys=r0,r0 // set pSys=1, pNonSys=0
1752 ld8 r8=[r14] // get r8
1753 ;;
1754 st8 [r15]=r8 // save original EAX in r1 (IA32 procs don't use the GP)
1755 ;;
1756 alloc r15=ar.pfs,0,0,6,0 // must first in an insn group
1757 ;;
1758 ld4 r8=[r14],8 // r8 == eax (syscall number)
1759 mov r15=IA32_NR_syscalls
1760 ;;
1761 cmp.ltu.unc p6,p7=r8,r15
1762 ld4 out1=[r14],8 // r9 == ecx
1763 ;;
1764 ld4 out2=[r14],8 // r10 == edx
1765 ;;
1766 ld4 out0=[r14] // r11 == ebx
1767 adds r14=(IA64_PT_REGS_R13_OFFSET) + 16,sp
1768 ;;
1769 ld4 out5=[r14],PT(R14)-PT(R13) // r13 == ebp
1770 ;;
1771 ld4 out3=[r14],PT(R15)-PT(R14) // r14 == esi
1772 adds r2=TI_FLAGS+IA64_TASK_SIZE,r13
1773 ;;
1774 ld4 out4=[r14] // r15 == edi
1775 movl r16=ia32_syscall_table
1776 ;;
1777(p6) shladd r16=r8,3,r16 // force ni_syscall if not valid syscall number
1778 ld4 r2=[r2] // r2 = current_thread_info()->flags
1779 ;;
1780 ld8 r16=[r16]
1781 and r2=_TIF_SYSCALL_TRACEAUDIT,r2 // mask trace or audit
1782 ;;
1783 mov b6=r16
1784 movl r15=ia32_ret_from_syscall
1785 cmp.eq p8,p0=r2,r0
1786 ;;
1787 mov rp=r15
1788(p8) br.call.sptk.many b6=b6
1789 br.cond.sptk ia32_trace_syscall
1790
1791non_ia32_syscall:
1792 alloc r15=ar.pfs,0,0,2,0
1793 mov out0=r14 // interrupt #
1794 add out1=16,sp // pointer to pt_regs
1795 ;; // avoid WAW on CFM
1796 br.call.sptk.many rp=ia32_bad_interrupt
1797.ret1: movl r15=ia64_leave_kernel
1798 ;;
1799 mov rp=r15
1800 br.ret.sptk.many rp
1801END(dispatch_to_ia32_handler)
1802
1803#endif /* CONFIG_IA32_SUPPORT */
diff --git a/arch/ia64/kernel/kprobes.c b/arch/ia64/kernel/kprobes.c
index 9adac441ac9b..7026b29e277a 100644
--- a/arch/ia64/kernel/kprobes.c
+++ b/arch/ia64/kernel/kprobes.c
@@ -870,7 +870,7 @@ static int __kprobes pre_kprobes_handler(struct die_args *args)
870 return 1; 870 return 1;
871 871
872ss_probe: 872ss_probe:
873#if !defined(CONFIG_PREEMPT) || defined(CONFIG_FREEZER) 873#if !defined(CONFIG_PREEMPT)
874 if (p->ainsn.inst_flag == INST_FLAG_BOOSTABLE && !p->post_handler) { 874 if (p->ainsn.inst_flag == INST_FLAG_BOOSTABLE && !p->post_handler) {
875 /* Boost up -- we can execute copied instructions directly */ 875 /* Boost up -- we can execute copied instructions directly */
876 ia64_psr(regs)->ri = p->ainsn.slot; 876 ia64_psr(regs)->ri = p->ainsn.slot;
diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c
index 378b4833024f..a0220dc5ff42 100644
--- a/arch/ia64/kernel/mca.c
+++ b/arch/ia64/kernel/mca.c
@@ -85,6 +85,7 @@
85#include <linux/cpumask.h> 85#include <linux/cpumask.h>
86#include <linux/kdebug.h> 86#include <linux/kdebug.h>
87#include <linux/cpu.h> 87#include <linux/cpu.h>
88#include <linux/gfp.h>
88 89
89#include <asm/delay.h> 90#include <asm/delay.h>
90#include <asm/machvec.h> 91#include <asm/machvec.h>
diff --git a/arch/ia64/kernel/mca_drv.c b/arch/ia64/kernel/mca_drv.c
index f94aaa86933f..09b4d6828c45 100644
--- a/arch/ia64/kernel/mca_drv.c
+++ b/arch/ia64/kernel/mca_drv.c
@@ -22,6 +22,7 @@
22#include <linux/smp.h> 22#include <linux/smp.h>
23#include <linux/workqueue.h> 23#include <linux/workqueue.h>
24#include <linux/mm.h> 24#include <linux/mm.h>
25#include <linux/slab.h>
25 26
26#include <asm/delay.h> 27#include <asm/delay.h>
27#include <asm/machvec.h> 28#include <asm/machvec.h>
diff --git a/arch/ia64/kernel/msi_ia64.c b/arch/ia64/kernel/msi_ia64.c
index 6c8922856049..4a746ea838ff 100644
--- a/arch/ia64/kernel/msi_ia64.c
+++ b/arch/ia64/kernel/msi_ia64.c
@@ -25,7 +25,7 @@ static int ia64_set_msi_irq_affinity(unsigned int irq,
25 if (irq_prepare_move(irq, cpu)) 25 if (irq_prepare_move(irq, cpu))
26 return -1; 26 return -1;
27 27
28 read_msi_msg(irq, &msg); 28 get_cached_msi_msg(irq, &msg);
29 29
30 addr = msg.address_lo; 30 addr = msg.address_lo;
31 addr &= MSI_ADDR_DEST_ID_MASK; 31 addr &= MSI_ADDR_DEST_ID_MASK;
diff --git a/arch/ia64/kernel/pci-swiotlb.c b/arch/ia64/kernel/pci-swiotlb.c
index 53292abf846c..d9485d952ed0 100644
--- a/arch/ia64/kernel/pci-swiotlb.c
+++ b/arch/ia64/kernel/pci-swiotlb.c
@@ -1,6 +1,7 @@
1/* Glue code to lib/swiotlb.c */ 1/* Glue code to lib/swiotlb.c */
2 2
3#include <linux/pci.h> 3#include <linux/pci.h>
4#include <linux/gfp.h>
4#include <linux/cache.h> 5#include <linux/cache.h>
5#include <linux/module.h> 6#include <linux/module.h>
6#include <linux/dma-mapping.h> 7#include <linux/dma-mapping.h>
@@ -30,8 +31,6 @@ struct dma_map_ops swiotlb_dma_ops = {
30 .unmap_sg = swiotlb_unmap_sg_attrs, 31 .unmap_sg = swiotlb_unmap_sg_attrs,
31 .sync_single_for_cpu = swiotlb_sync_single_for_cpu, 32 .sync_single_for_cpu = swiotlb_sync_single_for_cpu,
32 .sync_single_for_device = swiotlb_sync_single_for_device, 33 .sync_single_for_device = swiotlb_sync_single_for_device,
33 .sync_single_range_for_cpu = swiotlb_sync_single_range_for_cpu,
34 .sync_single_range_for_device = swiotlb_sync_single_range_for_device,
35 .sync_sg_for_cpu = swiotlb_sync_sg_for_cpu, 34 .sync_sg_for_cpu = swiotlb_sync_sg_for_cpu,
36 .sync_sg_for_device = swiotlb_sync_sg_for_device, 35 .sync_sg_for_device = swiotlb_sync_sg_for_device,
37 .dma_supported = swiotlb_dma_supported, 36 .dma_supported = swiotlb_dma_supported,
diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c
index 6bcbe215b9a4..cce050e85c73 100644
--- a/arch/ia64/kernel/perfmon.c
+++ b/arch/ia64/kernel/perfmon.c
@@ -41,6 +41,7 @@
41#include <linux/rcupdate.h> 41#include <linux/rcupdate.h>
42#include <linux/completion.h> 42#include <linux/completion.h>
43#include <linux/tracehook.h> 43#include <linux/tracehook.h>
44#include <linux/slab.h>
44 45
45#include <asm/errno.h> 46#include <asm/errno.h>
46#include <asm/intrinsics.h> 47#include <asm/intrinsics.h>
@@ -1695,8 +1696,8 @@ pfm_poll(struct file *filp, poll_table * wait)
1695 return mask; 1696 return mask;
1696} 1697}
1697 1698
1698static int 1699static long
1699pfm_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) 1700pfm_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
1700{ 1701{
1701 DPRINT(("pfm_ioctl called\n")); 1702 DPRINT(("pfm_ioctl called\n"));
1702 return -EINVAL; 1703 return -EINVAL;
@@ -2173,15 +2174,15 @@ pfm_no_open(struct inode *irrelevant, struct file *dontcare)
2173 2174
2174 2175
2175static const struct file_operations pfm_file_ops = { 2176static const struct file_operations pfm_file_ops = {
2176 .llseek = no_llseek, 2177 .llseek = no_llseek,
2177 .read = pfm_read, 2178 .read = pfm_read,
2178 .write = pfm_write, 2179 .write = pfm_write,
2179 .poll = pfm_poll, 2180 .poll = pfm_poll,
2180 .ioctl = pfm_ioctl, 2181 .unlocked_ioctl = pfm_ioctl,
2181 .open = pfm_no_open, /* special open code to disallow open via /proc */ 2182 .open = pfm_no_open, /* special open code to disallow open via /proc */
2182 .fasync = pfm_fasync, 2183 .fasync = pfm_fasync,
2183 .release = pfm_close, 2184 .release = pfm_close,
2184 .flush = pfm_flush 2185 .flush = pfm_flush
2185}; 2186};
2186 2187
2187static int 2188static int
@@ -2190,8 +2191,15 @@ pfmfs_delete_dentry(struct dentry *dentry)
2190 return 1; 2191 return 1;
2191} 2192}
2192 2193
2194static char *pfmfs_dname(struct dentry *dentry, char *buffer, int buflen)
2195{
2196 return dynamic_dname(dentry, buffer, buflen, "pfm:[%lu]",
2197 dentry->d_inode->i_ino);
2198}
2199
2193static const struct dentry_operations pfmfs_dentry_operations = { 2200static const struct dentry_operations pfmfs_dentry_operations = {
2194 .d_delete = pfmfs_delete_dentry, 2201 .d_delete = pfmfs_delete_dentry,
2202 .d_dname = pfmfs_dname,
2195}; 2203};
2196 2204
2197 2205
@@ -2201,8 +2209,7 @@ pfm_alloc_file(pfm_context_t *ctx)
2201 struct file *file; 2209 struct file *file;
2202 struct inode *inode; 2210 struct inode *inode;
2203 struct path path; 2211 struct path path;
2204 char name[32]; 2212 struct qstr this = { .name = "" };
2205 struct qstr this;
2206 2213
2207 /* 2214 /*
2208 * allocate a new inode 2215 * allocate a new inode
@@ -2217,11 +2224,6 @@ pfm_alloc_file(pfm_context_t *ctx)
2217 inode->i_uid = current_fsuid(); 2224 inode->i_uid = current_fsuid();
2218 inode->i_gid = current_fsgid(); 2225 inode->i_gid = current_fsgid();
2219 2226
2220 sprintf(name, "[%lu]", inode->i_ino);
2221 this.name = name;
2222 this.len = strlen(name);
2223 this.hash = inode->i_ino;
2224
2225 /* 2227 /*
2226 * allocate a new dcache entry 2228 * allocate a new dcache entry
2227 */ 2229 */
@@ -2315,6 +2317,7 @@ pfm_smpl_buffer_alloc(struct task_struct *task, struct file *filp, pfm_context_t
2315 DPRINT(("Cannot allocate vma\n")); 2317 DPRINT(("Cannot allocate vma\n"));
2316 goto error_kmem; 2318 goto error_kmem;
2317 } 2319 }
2320 INIT_LIST_HEAD(&vma->anon_vma_chain);
2318 2321
2319 /* 2322 /*
2320 * partially initialize the vma for the sampling buffer 2323 * partially initialize the vma for the sampling buffer
@@ -2713,7 +2716,7 @@ pfm_context_create(pfm_context_t *ctx, void *arg, int count, struct pt_regs *reg
2713 goto buffer_error; 2716 goto buffer_error;
2714 } 2717 }
2715 2718
2716 DPRINT(("ctx=%p flags=0x%x system=%d notify_block=%d excl_idle=%d no_msg=%d ctx_fd=%d \n", 2719 DPRINT(("ctx=%p flags=0x%x system=%d notify_block=%d excl_idle=%d no_msg=%d ctx_fd=%d\n",
2717 ctx, 2720 ctx,
2718 ctx_flags, 2721 ctx_flags,
2719 ctx->ctx_fl_system, 2722 ctx->ctx_fl_system,
@@ -3677,7 +3680,7 @@ pfm_restart(pfm_context_t *ctx, void *arg, int count, struct pt_regs *regs)
3677 * "self-monitoring". 3680 * "self-monitoring".
3678 */ 3681 */
3679 if (CTX_OVFL_NOBLOCK(ctx) == 0 && state == PFM_CTX_MASKED) { 3682 if (CTX_OVFL_NOBLOCK(ctx) == 0 && state == PFM_CTX_MASKED) {
3680 DPRINT(("unblocking [%d] \n", task_pid_nr(task))); 3683 DPRINT(("unblocking [%d]\n", task_pid_nr(task)));
3681 complete(&ctx->ctx_restart_done); 3684 complete(&ctx->ctx_restart_done);
3682 } else { 3685 } else {
3683 DPRINT(("[%d] armed exit trap\n", task_pid_nr(task))); 3686 DPRINT(("[%d] armed exit trap\n", task_pid_nr(task)));
diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c
index 9bcec9945c12..16f1c7b04c69 100644
--- a/arch/ia64/kernel/process.c
+++ b/arch/ia64/kernel/process.c
@@ -15,11 +15,11 @@
15#include <linux/kallsyms.h> 15#include <linux/kallsyms.h>
16#include <linux/kernel.h> 16#include <linux/kernel.h>
17#include <linux/mm.h> 17#include <linux/mm.h>
18#include <linux/slab.h>
18#include <linux/module.h> 19#include <linux/module.h>
19#include <linux/notifier.h> 20#include <linux/notifier.h>
20#include <linux/personality.h> 21#include <linux/personality.h>
21#include <linux/sched.h> 22#include <linux/sched.h>
22#include <linux/slab.h>
23#include <linux/stddef.h> 23#include <linux/stddef.h>
24#include <linux/thread_info.h> 24#include <linux/thread_info.h>
25#include <linux/unistd.h> 25#include <linux/unistd.h>
@@ -33,7 +33,6 @@
33#include <asm/cpu.h> 33#include <asm/cpu.h>
34#include <asm/delay.h> 34#include <asm/delay.h>
35#include <asm/elf.h> 35#include <asm/elf.h>
36#include <asm/ia32.h>
37#include <asm/irq.h> 36#include <asm/irq.h>
38#include <asm/kexec.h> 37#include <asm/kexec.h>
39#include <asm/pgalloc.h> 38#include <asm/pgalloc.h>
@@ -60,6 +59,10 @@ unsigned long idle_halt;
60EXPORT_SYMBOL(idle_halt); 59EXPORT_SYMBOL(idle_halt);
61unsigned long idle_nomwait; 60unsigned long idle_nomwait;
62EXPORT_SYMBOL(idle_nomwait); 61EXPORT_SYMBOL(idle_nomwait);
62void (*pm_idle) (void);
63EXPORT_SYMBOL(pm_idle);
64void (*pm_power_off) (void);
65EXPORT_SYMBOL(pm_power_off);
63 66
64void 67void
65ia64_do_show_stack (struct unw_frame_info *info, void *arg) 68ia64_do_show_stack (struct unw_frame_info *info, void *arg)
@@ -358,11 +361,6 @@ ia64_save_extra (struct task_struct *task)
358 if (info & PFM_CPUINFO_SYST_WIDE) 361 if (info & PFM_CPUINFO_SYST_WIDE)
359 pfm_syst_wide_update_task(task, info, 0); 362 pfm_syst_wide_update_task(task, info, 0);
360#endif 363#endif
361
362#ifdef CONFIG_IA32_SUPPORT
363 if (IS_IA32_PROCESS(task_pt_regs(task)))
364 ia32_save_state(task);
365#endif
366} 364}
367 365
368void 366void
@@ -383,11 +381,6 @@ ia64_load_extra (struct task_struct *task)
383 if (info & PFM_CPUINFO_SYST_WIDE) 381 if (info & PFM_CPUINFO_SYST_WIDE)
384 pfm_syst_wide_update_task(task, info, 1); 382 pfm_syst_wide_update_task(task, info, 1);
385#endif 383#endif
386
387#ifdef CONFIG_IA32_SUPPORT
388 if (IS_IA32_PROCESS(task_pt_regs(task)))
389 ia32_load_state(task);
390#endif
391} 384}
392 385
393/* 386/*
@@ -426,7 +419,7 @@ copy_thread(unsigned long clone_flags,
426 unsigned long user_stack_base, unsigned long user_stack_size, 419 unsigned long user_stack_base, unsigned long user_stack_size,
427 struct task_struct *p, struct pt_regs *regs) 420 struct task_struct *p, struct pt_regs *regs)
428{ 421{
429 extern char ia64_ret_from_clone, ia32_ret_from_clone; 422 extern char ia64_ret_from_clone;
430 struct switch_stack *child_stack, *stack; 423 struct switch_stack *child_stack, *stack;
431 unsigned long rbs, child_rbs, rbs_size; 424 unsigned long rbs, child_rbs, rbs_size;
432 struct pt_regs *child_ptregs; 425 struct pt_regs *child_ptregs;
@@ -457,7 +450,7 @@ copy_thread(unsigned long clone_flags,
457 memcpy((void *) child_rbs, (void *) rbs, rbs_size); 450 memcpy((void *) child_rbs, (void *) rbs, rbs_size);
458 451
459 if (likely(user_mode(child_ptregs))) { 452 if (likely(user_mode(child_ptregs))) {
460 if ((clone_flags & CLONE_SETTLS) && !IS_IA32_PROCESS(regs)) 453 if (clone_flags & CLONE_SETTLS)
461 child_ptregs->r13 = regs->r16; /* see sys_clone2() in entry.S */ 454 child_ptregs->r13 = regs->r16; /* see sys_clone2() in entry.S */
462 if (user_stack_base) { 455 if (user_stack_base) {
463 child_ptregs->r12 = user_stack_base + user_stack_size - 16; 456 child_ptregs->r12 = user_stack_base + user_stack_size - 16;
@@ -477,10 +470,7 @@ copy_thread(unsigned long clone_flags,
477 child_ptregs->r13 = (unsigned long) p; /* set `current' pointer */ 470 child_ptregs->r13 = (unsigned long) p; /* set `current' pointer */
478 } 471 }
479 child_stack->ar_bspstore = child_rbs + rbs_size; 472 child_stack->ar_bspstore = child_rbs + rbs_size;
480 if (IS_IA32_PROCESS(regs)) 473 child_stack->b0 = (unsigned long) &ia64_ret_from_clone;
481 child_stack->b0 = (unsigned long) &ia32_ret_from_clone;
482 else
483 child_stack->b0 = (unsigned long) &ia64_ret_from_clone;
484 474
485 /* copy parts of thread_struct: */ 475 /* copy parts of thread_struct: */
486 p->thread.ksp = (unsigned long) child_stack - 16; 476 p->thread.ksp = (unsigned long) child_stack - 16;
@@ -515,22 +505,6 @@ copy_thread(unsigned long clone_flags,
515 p->thread.flags = ((current->thread.flags & ~THREAD_FLAGS_TO_CLEAR) 505 p->thread.flags = ((current->thread.flags & ~THREAD_FLAGS_TO_CLEAR)
516 | THREAD_FLAGS_TO_SET); 506 | THREAD_FLAGS_TO_SET);
517 ia64_drop_fpu(p); /* don't pick up stale state from a CPU's fph */ 507 ia64_drop_fpu(p); /* don't pick up stale state from a CPU's fph */
518#ifdef CONFIG_IA32_SUPPORT
519 /*
520 * If we're cloning an IA32 task then save the IA32 extra
521 * state from the current task to the new task
522 */
523 if (IS_IA32_PROCESS(task_pt_regs(current))) {
524 ia32_save_state(p);
525 if (clone_flags & CLONE_SETTLS)
526 retval = ia32_clone_tls(p, child_ptregs);
527
528 /* Copy partially mapped page list */
529 if (!retval)
530 retval = ia32_copy_ia64_partial_page_list(p,
531 clone_flags);
532 }
533#endif
534 508
535#ifdef CONFIG_PERFMON 509#ifdef CONFIG_PERFMON
536 if (current->thread.pfm_context) 510 if (current->thread.pfm_context)
@@ -659,7 +633,9 @@ dump_fpu (struct pt_regs *pt, elf_fpregset_t dst)
659} 633}
660 634
661long 635long
662sys_execve (char __user *filename, char __user * __user *argv, char __user * __user *envp, 636sys_execve (const char __user *filename,
637 const char __user *const __user *argv,
638 const char __user *const __user *envp,
663 struct pt_regs *regs) 639 struct pt_regs *regs)
664{ 640{
665 char *fname; 641 char *fname;
@@ -704,15 +680,6 @@ EXPORT_SYMBOL(kernel_thread);
704int 680int
705kernel_thread_helper (int (*fn)(void *), void *arg) 681kernel_thread_helper (int (*fn)(void *), void *arg)
706{ 682{
707#ifdef CONFIG_IA32_SUPPORT
708 if (IS_IA32_PROCESS(task_pt_regs(current))) {
709 /* A kernel thread is always a 64-bit process. */
710 current->thread.map_base = DEFAULT_MAP_BASE;
711 current->thread.task_size = DEFAULT_TASK_SIZE;
712 ia64_set_kr(IA64_KR_IO_BASE, current->thread.old_iob);
713 ia64_set_kr(IA64_KR_TSSD, current->thread.old_k1);
714 }
715#endif
716 return (*fn)(arg); 683 return (*fn)(arg);
717} 684}
718 685
@@ -725,14 +692,6 @@ flush_thread (void)
725 /* drop floating-point and debug-register state if it exists: */ 692 /* drop floating-point and debug-register state if it exists: */
726 current->thread.flags &= ~(IA64_THREAD_FPH_VALID | IA64_THREAD_DBG_VALID); 693 current->thread.flags &= ~(IA64_THREAD_FPH_VALID | IA64_THREAD_DBG_VALID);
727 ia64_drop_fpu(current); 694 ia64_drop_fpu(current);
728#ifdef CONFIG_IA32_SUPPORT
729 if (IS_IA32_PROCESS(task_pt_regs(current))) {
730 ia32_drop_ia64_partial_page_list(current);
731 current->thread.task_size = IA32_PAGE_OFFSET;
732 set_fs(USER_DS);
733 memset(current->thread.tls_array, 0, sizeof(current->thread.tls_array));
734 }
735#endif
736} 695}
737 696
738/* 697/*
@@ -753,8 +712,6 @@ exit_thread (void)
753 if (current->thread.flags & IA64_THREAD_DBG_VALID) 712 if (current->thread.flags & IA64_THREAD_DBG_VALID)
754 pfm_release_debug_registers(current); 713 pfm_release_debug_registers(current);
755#endif 714#endif
756 if (IS_IA32_PROCESS(task_pt_regs(current)))
757 ia32_drop_ia64_partial_page_list(current);
758} 715}
759 716
760unsigned long 717unsigned long
diff --git a/arch/ia64/kernel/ptrace.c b/arch/ia64/kernel/ptrace.c
index 9daa87fdb018..7c7909f9bc93 100644
--- a/arch/ia64/kernel/ptrace.c
+++ b/arch/ia64/kernel/ptrace.c
@@ -11,7 +11,6 @@
11 */ 11 */
12#include <linux/kernel.h> 12#include <linux/kernel.h>
13#include <linux/sched.h> 13#include <linux/sched.h>
14#include <linux/slab.h>
15#include <linux/mm.h> 14#include <linux/mm.h>
16#include <linux/errno.h> 15#include <linux/errno.h>
17#include <linux/ptrace.h> 16#include <linux/ptrace.h>
@@ -639,7 +638,7 @@ ptrace_attach_sync_user_rbs (struct task_struct *child)
639 */ 638 */
640 639
641 read_lock(&tasklist_lock); 640 read_lock(&tasklist_lock);
642 if (child->signal) { 641 if (child->sighand) {
643 spin_lock_irq(&child->sighand->siglock); 642 spin_lock_irq(&child->sighand->siglock);
644 if (child->state == TASK_STOPPED && 643 if (child->state == TASK_STOPPED &&
645 !test_and_set_tsk_thread_flag(child, TIF_RESTORE_RSE)) { 644 !test_and_set_tsk_thread_flag(child, TIF_RESTORE_RSE)) {
@@ -663,7 +662,7 @@ ptrace_attach_sync_user_rbs (struct task_struct *child)
663 * job control stop, so that SIGCONT can be used to wake it up. 662 * job control stop, so that SIGCONT can be used to wake it up.
664 */ 663 */
665 read_lock(&tasklist_lock); 664 read_lock(&tasklist_lock);
666 if (child->signal) { 665 if (child->sighand) {
667 spin_lock_irq(&child->sighand->siglock); 666 spin_lock_irq(&child->sighand->siglock);
668 if (child->state == TASK_TRACED && 667 if (child->state == TASK_TRACED &&
669 (child->signal->flags & SIGNAL_STOP_STOPPED)) { 668 (child->signal->flags & SIGNAL_STOP_STOPPED)) {
@@ -1250,13 +1249,8 @@ syscall_trace_enter (long arg0, long arg1, long arg2, long arg3,
1250 long syscall; 1249 long syscall;
1251 int arch; 1250 int arch;
1252 1251
1253 if (IS_IA32_PROCESS(&regs)) { 1252 syscall = regs.r15;
1254 syscall = regs.r1; 1253 arch = AUDIT_ARCH_IA64;
1255 arch = AUDIT_ARCH_I386;
1256 } else {
1257 syscall = regs.r15;
1258 arch = AUDIT_ARCH_IA64;
1259 }
1260 1254
1261 audit_syscall_entry(arch, syscall, arg0, arg1, arg2, arg3); 1255 audit_syscall_entry(arch, syscall, arg0, arg1, arg2, arg3);
1262 } 1256 }
@@ -2172,11 +2166,6 @@ static const struct user_regset_view user_ia64_view = {
2172 2166
2173const struct user_regset_view *task_user_regset_view(struct task_struct *tsk) 2167const struct user_regset_view *task_user_regset_view(struct task_struct *tsk)
2174{ 2168{
2175#ifdef CONFIG_IA32_SUPPORT
2176 extern const struct user_regset_view user_ia32_view;
2177 if (IS_IA32_PROCESS(task_pt_regs(tsk)))
2178 return &user_ia32_view;
2179#endif
2180 return &user_ia64_view; 2169 return &user_ia64_view;
2181} 2170}
2182 2171
diff --git a/arch/ia64/kernel/salinfo.c b/arch/ia64/kernel/salinfo.c
index e6676fca4828..aa8b5fa1a8de 100644
--- a/arch/ia64/kernel/salinfo.c
+++ b/arch/ia64/kernel/salinfo.c
@@ -404,10 +404,9 @@ static void
404call_on_cpu(int cpu, void (*fn)(void *), void *arg) 404call_on_cpu(int cpu, void (*fn)(void *), void *arg)
405{ 405{
406 cpumask_t save_cpus_allowed = current->cpus_allowed; 406 cpumask_t save_cpus_allowed = current->cpus_allowed;
407 cpumask_t new_cpus_allowed = cpumask_of_cpu(cpu); 407 set_cpus_allowed_ptr(current, cpumask_of(cpu));
408 set_cpus_allowed(current, new_cpus_allowed);
409 (*fn)(arg); 408 (*fn)(arg);
410 set_cpus_allowed(current, save_cpus_allowed); 409 set_cpus_allowed_ptr(current, &save_cpus_allowed);
411} 410}
412 411
413static void 412static void
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c
index a1ea87919777..8fb958abf8d0 100644
--- a/arch/ia64/kernel/setup.c
+++ b/arch/ia64/kernel/setup.c
@@ -46,7 +46,6 @@
46#include <linux/kexec.h> 46#include <linux/kexec.h>
47#include <linux/crash_dump.h> 47#include <linux/crash_dump.h>
48 48
49#include <asm/ia32.h>
50#include <asm/machvec.h> 49#include <asm/machvec.h>
51#include <asm/mca.h> 50#include <asm/mca.h>
52#include <asm/meminit.h> 51#include <asm/meminit.h>
@@ -99,12 +98,6 @@ static struct resource bss_resource = {
99 98
100unsigned long ia64_max_cacheline_size; 99unsigned long ia64_max_cacheline_size;
101 100
102int dma_get_cache_alignment(void)
103{
104 return ia64_max_cacheline_size;
105}
106EXPORT_SYMBOL(dma_get_cache_alignment);
107
108unsigned long ia64_iobase; /* virtual address for I/O accesses */ 101unsigned long ia64_iobase; /* virtual address for I/O accesses */
109EXPORT_SYMBOL(ia64_iobase); 102EXPORT_SYMBOL(ia64_iobase);
110struct io_space io_space[MAX_IO_SPACES]; 103struct io_space io_space[MAX_IO_SPACES];
@@ -1016,10 +1009,6 @@ cpu_init (void)
1016 ia64_mmu_init(ia64_imva(cpu_data)); 1009 ia64_mmu_init(ia64_imva(cpu_data));
1017 ia64_mca_cpu_init(ia64_imva(cpu_data)); 1010 ia64_mca_cpu_init(ia64_imva(cpu_data));
1018 1011
1019#ifdef CONFIG_IA32_SUPPORT
1020 ia32_cpu_init();
1021#endif
1022
1023 /* Clear ITC to eliminate sched_clock() overflows in human time. */ 1012 /* Clear ITC to eliminate sched_clock() overflows in human time. */
1024 ia64_set_itc(0); 1013 ia64_set_itc(0);
1025 1014
diff --git a/arch/ia64/kernel/signal.c b/arch/ia64/kernel/signal.c
index e1821ca4c7df..7bdafc8788bd 100644
--- a/arch/ia64/kernel/signal.c
+++ b/arch/ia64/kernel/signal.c
@@ -21,7 +21,6 @@
21#include <linux/unistd.h> 21#include <linux/unistd.h>
22#include <linux/wait.h> 22#include <linux/wait.h>
23 23
24#include <asm/ia32.h>
25#include <asm/intrinsics.h> 24#include <asm/intrinsics.h>
26#include <asm/uaccess.h> 25#include <asm/uaccess.h>
27#include <asm/rse.h> 26#include <asm/rse.h>
@@ -425,14 +424,8 @@ static long
425handle_signal (unsigned long sig, struct k_sigaction *ka, siginfo_t *info, sigset_t *oldset, 424handle_signal (unsigned long sig, struct k_sigaction *ka, siginfo_t *info, sigset_t *oldset,
426 struct sigscratch *scr) 425 struct sigscratch *scr)
427{ 426{
428 if (IS_IA32_PROCESS(&scr->pt)) { 427 if (!setup_frame(sig, ka, info, oldset, scr))
429 /* send signal to IA-32 process */ 428 return 0;
430 if (!ia32_setup_frame1(sig, ka, info, oldset, &scr->pt))
431 return 0;
432 } else
433 /* send signal to IA-64 process */
434 if (!setup_frame(sig, ka, info, oldset, scr))
435 return 0;
436 429
437 spin_lock_irq(&current->sighand->siglock); 430 spin_lock_irq(&current->sighand->siglock);
438 sigorsets(&current->blocked, &current->blocked, &ka->sa.sa_mask); 431 sigorsets(&current->blocked, &current->blocked, &ka->sa.sa_mask);
@@ -462,7 +455,6 @@ ia64_do_signal (struct sigscratch *scr, long in_syscall)
462 siginfo_t info; 455 siginfo_t info;
463 long restart = in_syscall; 456 long restart = in_syscall;
464 long errno = scr->pt.r8; 457 long errno = scr->pt.r8;
465# define ERR_CODE(c) (IS_IA32_PROCESS(&scr->pt) ? -(c) : (c))
466 458
467 /* 459 /*
468 * In the ia64_leave_kernel code path, we want the common case to go fast, which 460 * In the ia64_leave_kernel code path, we want the common case to go fast, which
@@ -490,14 +482,7 @@ ia64_do_signal (struct sigscratch *scr, long in_syscall)
490 * inferior call), thus it's important to check for restarting _after_ 482 * inferior call), thus it's important to check for restarting _after_
491 * get_signal_to_deliver(). 483 * get_signal_to_deliver().
492 */ 484 */
493 if (IS_IA32_PROCESS(&scr->pt)) { 485 if ((long) scr->pt.r10 != -1)
494 if (in_syscall) {
495 if (errno >= 0)
496 restart = 0;
497 else
498 errno = -errno;
499 }
500 } else if ((long) scr->pt.r10 != -1)
501 /* 486 /*
502 * A system calls has to be restarted only if one of the error codes 487 * A system calls has to be restarted only if one of the error codes
503 * ERESTARTNOHAND, ERESTARTSYS, or ERESTARTNOINTR is returned. If r10 488 * ERESTARTNOHAND, ERESTARTSYS, or ERESTARTNOINTR is returned. If r10
@@ -513,22 +498,18 @@ ia64_do_signal (struct sigscratch *scr, long in_syscall)
513 switch (errno) { 498 switch (errno) {
514 case ERESTART_RESTARTBLOCK: 499 case ERESTART_RESTARTBLOCK:
515 case ERESTARTNOHAND: 500 case ERESTARTNOHAND:
516 scr->pt.r8 = ERR_CODE(EINTR); 501 scr->pt.r8 = EINTR;
517 /* note: scr->pt.r10 is already -1 */ 502 /* note: scr->pt.r10 is already -1 */
518 break; 503 break;
519 504
520 case ERESTARTSYS: 505 case ERESTARTSYS:
521 if ((ka.sa.sa_flags & SA_RESTART) == 0) { 506 if ((ka.sa.sa_flags & SA_RESTART) == 0) {
522 scr->pt.r8 = ERR_CODE(EINTR); 507 scr->pt.r8 = EINTR;
523 /* note: scr->pt.r10 is already -1 */ 508 /* note: scr->pt.r10 is already -1 */
524 break; 509 break;
525 } 510 }
526 case ERESTARTNOINTR: 511 case ERESTARTNOINTR:
527 if (IS_IA32_PROCESS(&scr->pt)) { 512 ia64_decrement_ip(&scr->pt);
528 scr->pt.r8 = scr->pt.r1;
529 scr->pt.cr_iip -= 2;
530 } else
531 ia64_decrement_ip(&scr->pt);
532 restart = 0; /* don't restart twice if handle_signal() fails... */ 513 restart = 0; /* don't restart twice if handle_signal() fails... */
533 } 514 }
534 } 515 }
@@ -555,21 +536,14 @@ ia64_do_signal (struct sigscratch *scr, long in_syscall)
555 if (errno == ERESTARTNOHAND || errno == ERESTARTSYS || errno == ERESTARTNOINTR 536 if (errno == ERESTARTNOHAND || errno == ERESTARTSYS || errno == ERESTARTNOINTR
556 || errno == ERESTART_RESTARTBLOCK) 537 || errno == ERESTART_RESTARTBLOCK)
557 { 538 {
558 if (IS_IA32_PROCESS(&scr->pt)) { 539 /*
559 scr->pt.r8 = scr->pt.r1; 540 * Note: the syscall number is in r15 which is saved in
560 scr->pt.cr_iip -= 2; 541 * pt_regs so all we need to do here is adjust ip so that
561 if (errno == ERESTART_RESTARTBLOCK) 542 * the "break" instruction gets re-executed.
562 scr->pt.r8 = 0; /* x86 version of __NR_restart_syscall */ 543 */
563 } else { 544 ia64_decrement_ip(&scr->pt);
564 /* 545 if (errno == ERESTART_RESTARTBLOCK)
565 * Note: the syscall number is in r15 which is saved in 546 scr->pt.r15 = __NR_restart_syscall;
566 * pt_regs so all we need to do here is adjust ip so that
567 * the "break" instruction gets re-executed.
568 */
569 ia64_decrement_ip(&scr->pt);
570 if (errno == ERESTART_RESTARTBLOCK)
571 scr->pt.r15 = __NR_restart_syscall;
572 }
573 } 547 }
574 } 548 }
575 549
diff --git a/arch/ia64/kernel/smpboot.c b/arch/ia64/kernel/smpboot.c
index de100aa7ff03..d003b502a432 100644
--- a/arch/ia64/kernel/smpboot.c
+++ b/arch/ia64/kernel/smpboot.c
@@ -44,7 +44,6 @@
44#include <asm/cache.h> 44#include <asm/cache.h>
45#include <asm/current.h> 45#include <asm/current.h>
46#include <asm/delay.h> 46#include <asm/delay.h>
47#include <asm/ia32.h>
48#include <asm/io.h> 47#include <asm/io.h>
49#include <asm/irq.h> 48#include <asm/irq.h>
50#include <asm/machvec.h> 49#include <asm/machvec.h>
@@ -391,6 +390,12 @@ smp_callin (void)
391 390
392 fix_b0_for_bsp(); 391 fix_b0_for_bsp();
393 392
393 /*
394 * numa_node_id() works after this.
395 */
396 set_numa_node(cpu_to_node_map[cpuid]);
397 set_numa_mem(local_memory_node(cpu_to_node_map[cpuid]));
398
394 ipi_call_lock_irq(); 399 ipi_call_lock_irq();
395 spin_lock(&vector_lock); 400 spin_lock(&vector_lock);
396 /* Setup the per cpu irq handling data structures */ 401 /* Setup the per cpu irq handling data structures */
@@ -443,10 +448,6 @@ smp_callin (void)
443 calibrate_delay(); 448 calibrate_delay();
444 local_cpu_data->loops_per_jiffy = loops_per_jiffy; 449 local_cpu_data->loops_per_jiffy = loops_per_jiffy;
445 450
446#ifdef CONFIG_IA32_SUPPORT
447 ia32_gdt_init();
448#endif
449
450 /* 451 /*
451 * Allow the master to continue. 452 * Allow the master to continue.
452 */ 453 */
@@ -507,21 +508,18 @@ do_boot_cpu (int sapicid, int cpu)
507 .done = COMPLETION_INITIALIZER(c_idle.done), 508 .done = COMPLETION_INITIALIZER(c_idle.done),
508 }; 509 };
509 510
511 /*
512 * We can't use kernel_thread since we must avoid to
513 * reschedule the child.
514 */
510 c_idle.idle = get_idle_for_cpu(cpu); 515 c_idle.idle = get_idle_for_cpu(cpu);
511 if (c_idle.idle) { 516 if (c_idle.idle) {
512 init_idle(c_idle.idle, cpu); 517 init_idle(c_idle.idle, cpu);
513 goto do_rest; 518 goto do_rest;
514 } 519 }
515 520
516 /* 521 schedule_work(&c_idle.work);
517 * We can't use kernel_thread since we must avoid to reschedule the child. 522 wait_for_completion(&c_idle.done);
518 */
519 if (!keventd_up() || current_is_keventd())
520 c_idle.work.func(&c_idle.work);
521 else {
522 schedule_work(&c_idle.work);
523 wait_for_completion(&c_idle.done);
524 }
525 523
526 if (IS_ERR(c_idle.idle)) 524 if (IS_ERR(c_idle.idle))
527 panic("failed fork for CPU %d", cpu); 525 panic("failed fork for CPU %d", cpu);
@@ -637,6 +635,7 @@ void __devinit smp_prepare_boot_cpu(void)
637{ 635{
638 cpu_set(smp_processor_id(), cpu_online_map); 636 cpu_set(smp_processor_id(), cpu_online_map);
639 cpu_set(smp_processor_id(), cpu_callin_map); 637 cpu_set(smp_processor_id(), cpu_callin_map);
638 set_numa_node(cpu_to_node_map[smp_processor_id()]);
640 per_cpu(cpu_state, smp_processor_id()) = CPU_ONLINE; 639 per_cpu(cpu_state, smp_processor_id()) = CPU_ONLINE;
641 paravirt_post_smp_prepare_boot_cpu(); 640 paravirt_post_smp_prepare_boot_cpu();
642} 641}
diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c
index a35c661e5e89..ed6f22eb5b12 100644
--- a/arch/ia64/kernel/time.c
+++ b/arch/ia64/kernel/time.c
@@ -61,7 +61,7 @@ unsigned long long sched_clock(void)
61 61
62#ifdef CONFIG_PARAVIRT 62#ifdef CONFIG_PARAVIRT
63static void 63static void
64paravirt_clocksource_resume(void) 64paravirt_clocksource_resume(struct clocksource *cs)
65{ 65{
66 if (pv_time_ops.clocksource_resume) 66 if (pv_time_ops.clocksource_resume)
67 pv_time_ops.clocksource_resume(); 67 pv_time_ops.clocksource_resume();
@@ -430,18 +430,16 @@ static int __init rtc_init(void)
430} 430}
431module_init(rtc_init); 431module_init(rtc_init);
432 432
433void read_persistent_clock(struct timespec *ts)
434{
435 efi_gettimeofday(ts);
436}
437
433void __init 438void __init
434time_init (void) 439time_init (void)
435{ 440{
436 register_percpu_irq(IA64_TIMER_VECTOR, &timer_irqaction); 441 register_percpu_irq(IA64_TIMER_VECTOR, &timer_irqaction);
437 efi_gettimeofday(&xtime);
438 ia64_init_itm(); 442 ia64_init_itm();
439
440 /*
441 * Initialize wall_to_monotonic such that adding it to xtime will yield zero, the
442 * tv_nsec field must be normalized (i.e., 0 <= nsec < NSEC_PER_SEC).
443 */
444 set_normalized_timespec(&wall_to_monotonic, -xtime.tv_sec, -xtime.tv_nsec);
445} 443}
446 444
447/* 445/*
@@ -473,7 +471,8 @@ void update_vsyscall_tz(void)
473{ 471{
474} 472}
475 473
476void update_vsyscall(struct timespec *wall, struct clocksource *c, u32 mult) 474void update_vsyscall(struct timespec *wall, struct timespec *wtm,
475 struct clocksource *c, u32 mult)
477{ 476{
478 unsigned long flags; 477 unsigned long flags;
479 478
@@ -489,9 +488,9 @@ void update_vsyscall(struct timespec *wall, struct clocksource *c, u32 mult)
489 /* copy kernel time structures */ 488 /* copy kernel time structures */
490 fsyscall_gtod_data.wall_time.tv_sec = wall->tv_sec; 489 fsyscall_gtod_data.wall_time.tv_sec = wall->tv_sec;
491 fsyscall_gtod_data.wall_time.tv_nsec = wall->tv_nsec; 490 fsyscall_gtod_data.wall_time.tv_nsec = wall->tv_nsec;
492 fsyscall_gtod_data.monotonic_time.tv_sec = wall_to_monotonic.tv_sec 491 fsyscall_gtod_data.monotonic_time.tv_sec = wtm->tv_sec
493 + wall->tv_sec; 492 + wall->tv_sec;
494 fsyscall_gtod_data.monotonic_time.tv_nsec = wall_to_monotonic.tv_nsec 493 fsyscall_gtod_data.monotonic_time.tv_nsec = wtm->tv_nsec
495 + wall->tv_nsec; 494 + wall->tv_nsec;
496 495
497 /* normalize */ 496 /* normalize */
diff --git a/arch/ia64/kernel/topology.c b/arch/ia64/kernel/topology.c
index 8f060352e129..0baa1bbb65fe 100644
--- a/arch/ia64/kernel/topology.c
+++ b/arch/ia64/kernel/topology.c
@@ -17,6 +17,7 @@
17#include <linux/kernel.h> 17#include <linux/kernel.h>
18#include <linux/mm.h> 18#include <linux/mm.h>
19#include <linux/node.h> 19#include <linux/node.h>
20#include <linux/slab.h>
20#include <linux/init.h> 21#include <linux/init.h>
21#include <linux/bootmem.h> 22#include <linux/bootmem.h>
22#include <linux/nodemask.h> 23#include <linux/nodemask.h>
@@ -282,7 +283,7 @@ static ssize_t cache_show(struct kobject * kobj, struct attribute * attr, char *
282 return ret; 283 return ret;
283} 284}
284 285
285static struct sysfs_ops cache_sysfs_ops = { 286static const struct sysfs_ops cache_sysfs_ops = {
286 .show = cache_show 287 .show = cache_show
287}; 288};
288 289
@@ -360,12 +361,12 @@ static int __cpuinit cache_add_dev(struct sys_device * sys_dev)
360 return 0; 361 return 0;
361 362
362 oldmask = current->cpus_allowed; 363 oldmask = current->cpus_allowed;
363 retval = set_cpus_allowed(current, cpumask_of_cpu(cpu)); 364 retval = set_cpus_allowed_ptr(current, cpumask_of(cpu));
364 if (unlikely(retval)) 365 if (unlikely(retval))
365 return retval; 366 return retval;
366 367
367 retval = cpu_cache_sysfs_init(cpu); 368 retval = cpu_cache_sysfs_init(cpu);
368 set_cpus_allowed(current, oldmask); 369 set_cpus_allowed_ptr(current, &oldmask);
369 if (unlikely(retval < 0)) 370 if (unlikely(retval < 0))
370 return retval; 371 return retval;
371 372
diff --git a/arch/ia64/kernel/traps.c b/arch/ia64/kernel/traps.c
index f0cda765e681..fd80e70018a9 100644
--- a/arch/ia64/kernel/traps.c
+++ b/arch/ia64/kernel/traps.c
@@ -19,7 +19,6 @@
19#include <linux/kdebug.h> 19#include <linux/kdebug.h>
20 20
21#include <asm/fpswa.h> 21#include <asm/fpswa.h>
22#include <asm/ia32.h>
23#include <asm/intrinsics.h> 22#include <asm/intrinsics.h>
24#include <asm/processor.h> 23#include <asm/processor.h>
25#include <asm/uaccess.h> 24#include <asm/uaccess.h>
@@ -626,10 +625,6 @@ ia64_fault (unsigned long vector, unsigned long isr, unsigned long ifa,
626 break; 625 break;
627 626
628 case 45: 627 case 45:
629#ifdef CONFIG_IA32_SUPPORT
630 if (ia32_exception(&regs, isr) == 0)
631 return;
632#endif
633 printk(KERN_ERR "Unexpected IA-32 exception (Trap 45)\n"); 628 printk(KERN_ERR "Unexpected IA-32 exception (Trap 45)\n");
634 printk(KERN_ERR " iip - 0x%lx, ifa - 0x%lx, isr - 0x%lx\n", 629 printk(KERN_ERR " iip - 0x%lx, ifa - 0x%lx, isr - 0x%lx\n",
635 iip, ifa, isr); 630 iip, ifa, isr);
@@ -637,10 +632,6 @@ ia64_fault (unsigned long vector, unsigned long isr, unsigned long ifa,
637 break; 632 break;
638 633
639 case 46: 634 case 46:
640#ifdef CONFIG_IA32_SUPPORT
641 if (ia32_intercept(&regs, isr) == 0)
642 return;
643#endif
644 printk(KERN_ERR "Unexpected IA-32 intercept trap (Trap 46)\n"); 635 printk(KERN_ERR "Unexpected IA-32 intercept trap (Trap 46)\n");
645 printk(KERN_ERR " iip - 0x%lx, ifa - 0x%lx, isr - 0x%lx, iim - 0x%lx\n", 636 printk(KERN_ERR " iip - 0x%lx, ifa - 0x%lx, isr - 0x%lx, iim - 0x%lx\n",
646 iip, ifa, isr, iim); 637 iip, ifa, isr, iim);
diff --git a/arch/ia64/kernel/unaligned.c b/arch/ia64/kernel/unaligned.c
index 776dd40397e2..622772b7fb6c 100644
--- a/arch/ia64/kernel/unaligned.c
+++ b/arch/ia64/kernel/unaligned.c
@@ -17,6 +17,7 @@
17#include <linux/kernel.h> 17#include <linux/kernel.h>
18#include <linux/sched.h> 18#include <linux/sched.h>
19#include <linux/tty.h> 19#include <linux/tty.h>
20#include <linux/ratelimit.h>
20 21
21#include <asm/intrinsics.h> 22#include <asm/intrinsics.h>
22#include <asm/processor.h> 23#include <asm/processor.h>
@@ -1283,24 +1284,9 @@ emulate_store_float (unsigned long ifa, load_store_t ld, struct pt_regs *regs)
1283/* 1284/*
1284 * Make sure we log the unaligned access, so that user/sysadmin can notice it and 1285 * Make sure we log the unaligned access, so that user/sysadmin can notice it and
1285 * eventually fix the program. However, we don't want to do that for every access so we 1286 * eventually fix the program. However, we don't want to do that for every access so we
1286 * pace it with jiffies. This isn't really MP-safe, but it doesn't really have to be 1287 * pace it with jiffies.
1287 * either...
1288 */ 1288 */
1289static int 1289static DEFINE_RATELIMIT_STATE(logging_rate_limit, 5 * HZ, 5);
1290within_logging_rate_limit (void)
1291{
1292 static unsigned long count, last_time;
1293
1294 if (time_after(jiffies, last_time + 5 * HZ))
1295 count = 0;
1296 if (count < 5) {
1297 last_time = jiffies;
1298 count++;
1299 return 1;
1300 }
1301 return 0;
1302
1303}
1304 1290
1305void 1291void
1306ia64_handle_unaligned (unsigned long ifa, struct pt_regs *regs) 1292ia64_handle_unaligned (unsigned long ifa, struct pt_regs *regs)
@@ -1337,7 +1323,7 @@ ia64_handle_unaligned (unsigned long ifa, struct pt_regs *regs)
1337 1323
1338 if (!no_unaligned_warning && 1324 if (!no_unaligned_warning &&
1339 !(current->thread.flags & IA64_THREAD_UAC_NOPRINT) && 1325 !(current->thread.flags & IA64_THREAD_UAC_NOPRINT) &&
1340 within_logging_rate_limit()) 1326 __ratelimit(&logging_rate_limit))
1341 { 1327 {
1342 char buf[200]; /* comm[] is at most 16 bytes... */ 1328 char buf[200]; /* comm[] is at most 16 bytes... */
1343 size_t len; 1329 size_t len;
@@ -1370,7 +1356,7 @@ ia64_handle_unaligned (unsigned long ifa, struct pt_regs *regs)
1370 } 1356 }
1371 } 1357 }
1372 } else { 1358 } else {
1373 if (within_logging_rate_limit()) { 1359 if (__ratelimit(&logging_rate_limit)) {
1374 printk(KERN_WARNING "kernel unaligned access to 0x%016lx, ip=0x%016lx\n", 1360 printk(KERN_WARNING "kernel unaligned access to 0x%016lx, ip=0x%016lx\n",
1375 ifa, regs->cr_iip + ipsr->ri); 1361 ifa, regs->cr_iip + ipsr->ri);
1376 if (unaligned_dump_stack) 1362 if (unaligned_dump_stack)
diff --git a/arch/ia64/kernel/uncached.c b/arch/ia64/kernel/uncached.c
index a595823582d9..c4696d217ce0 100644
--- a/arch/ia64/kernel/uncached.c
+++ b/arch/ia64/kernel/uncached.c
@@ -18,9 +18,9 @@
18#include <linux/init.h> 18#include <linux/init.h>
19#include <linux/errno.h> 19#include <linux/errno.h>
20#include <linux/string.h> 20#include <linux/string.h>
21#include <linux/slab.h>
22#include <linux/efi.h> 21#include <linux/efi.h>
23#include <linux/genalloc.h> 22#include <linux/genalloc.h>
23#include <linux/gfp.h>
24#include <asm/page.h> 24#include <asm/page.h>
25#include <asm/pal.h> 25#include <asm/pal.h>
26#include <asm/system.h> 26#include <asm/system.h>
diff --git a/arch/ia64/kernel/vmlinux.lds.S b/arch/ia64/kernel/vmlinux.lds.S
index e07218a2577f..5a4d044dcb1c 100644
--- a/arch/ia64/kernel/vmlinux.lds.S
+++ b/arch/ia64/kernel/vmlinux.lds.S
@@ -6,204 +6,209 @@
6 6
7#include <asm-generic/vmlinux.lds.h> 7#include <asm-generic/vmlinux.lds.h>
8 8
9#define IVT_TEXT \
10 VMLINUX_SYMBOL(__start_ivt_text) = .; \
11 *(.text..ivt) \
12 VMLINUX_SYMBOL(__end_ivt_text) = .;
13
14OUTPUT_FORMAT("elf64-ia64-little") 9OUTPUT_FORMAT("elf64-ia64-little")
15OUTPUT_ARCH(ia64) 10OUTPUT_ARCH(ia64)
16ENTRY(phys_start) 11ENTRY(phys_start)
17jiffies = jiffies_64; 12jiffies = jiffies_64;
13
18PHDRS { 14PHDRS {
19 code PT_LOAD; 15 code PT_LOAD;
20 percpu PT_LOAD; 16 percpu PT_LOAD;
21 data PT_LOAD; 17 data PT_LOAD;
22 note PT_NOTE; 18 note PT_NOTE;
23 unwind 0x70000001; /* PT_IA_64_UNWIND, but ld doesn't match the name */ 19 unwind 0x70000001; /* PT_IA_64_UNWIND, but ld doesn't match the name */
24} 20}
25SECTIONS
26{
27 /* unwind exit sections must be discarded before the rest of the
28 sections get included. */
29 /DISCARD/ : {
30 *(.IA_64.unwind.exit.text)
31 *(.IA_64.unwind_info.exit.text)
32 *(.comment)
33 *(.note)
34 }
35
36 v = PAGE_OFFSET; /* this symbol is here to make debugging easier... */
37 phys_start = _start - LOAD_OFFSET;
38
39 code : { } :code
40 . = KERNEL_START;
41
42 _text = .;
43 _stext = .;
44
45 .text : AT(ADDR(.text) - LOAD_OFFSET)
46 {
47 IVT_TEXT
48 TEXT_TEXT
49 SCHED_TEXT
50 LOCK_TEXT
51 KPROBES_TEXT
52 *(.gnu.linkonce.t*)
53 }
54 .text2 : AT(ADDR(.text2) - LOAD_OFFSET)
55 { *(.text2) }
56#ifdef CONFIG_SMP
57 .text..lock : AT(ADDR(.text..lock) - LOAD_OFFSET)
58 { *(.text..lock) }
59#endif
60 _etext = .;
61 21
62 /* Read-only data */ 22SECTIONS {
23 /*
24 * unwind exit sections must be discarded before
25 * the rest of the sections get included.
26 */
27 /DISCARD/ : {
28 *(.IA_64.unwind.exit.text)
29 *(.IA_64.unwind_info.exit.text)
30 *(.comment)
31 *(.note)
32 }
63 33
64 NOTES :code :note /* put .notes in text and mark in PT_NOTE */ 34 v = PAGE_OFFSET; /* this symbol is here to make debugging easier... */
65 code_continues : {} :code /* switch back to regular program... */ 35 phys_start = _start - LOAD_OFFSET;
36
37 code : {
38 } :code
39 . = KERNEL_START;
40
41 _text = .;
42 _stext = .;
43
44 .text : AT(ADDR(.text) - LOAD_OFFSET) {
45 __start_ivt_text = .;
46 *(.text..ivt)
47 __end_ivt_text = .;
48 TEXT_TEXT
49 SCHED_TEXT
50 LOCK_TEXT
51 KPROBES_TEXT
52 *(.gnu.linkonce.t*)
53 }
66 54
67 EXCEPTION_TABLE(16) 55 .text2 : AT(ADDR(.text2) - LOAD_OFFSET) {
56 *(.text2)
57 }
68 58
69 /* MCA table */ 59#ifdef CONFIG_SMP
70 . = ALIGN(16); 60 .text..lock : AT(ADDR(.text..lock) - LOAD_OFFSET) {
71 __mca_table : AT(ADDR(__mca_table) - LOAD_OFFSET) 61 *(.text..lock)
72 { 62 }
73 __start___mca_table = .; 63#endif
74 *(__mca_table) 64 _etext = .;
75 __stop___mca_table = .; 65
66 /*
67 * Read-only data
68 */
69 NOTES :code :note /* put .notes in text and mark in PT_NOTE */
70 code_continues : {
71 } : code /* switch back to regular program... */
72
73 EXCEPTION_TABLE(16)
74
75 /* MCA table */
76 . = ALIGN(16);
77 __mca_table : AT(ADDR(__mca_table) - LOAD_OFFSET) {
78 __start___mca_table = .;
79 *(__mca_table)
80 __stop___mca_table = .;
76 } 81 }
77 82
78 .data..patch.phys_stack_reg : AT(ADDR(.data..patch.phys_stack_reg) - LOAD_OFFSET) 83 .data..patch.phys_stack_reg : AT(ADDR(.data..patch.phys_stack_reg) - LOAD_OFFSET) {
79 { 84 __start___phys_stack_reg_patchlist = .;
80 __start___phys_stack_reg_patchlist = .; 85 *(.data..patch.phys_stack_reg)
81 *(.data..patch.phys_stack_reg) 86 __end___phys_stack_reg_patchlist = .;
82 __end___phys_stack_reg_patchlist = .;
83 } 87 }
84 88
85 /* Global data */ 89 /*
86 _data = .; 90 * Global data
91 */
92 _data = .;
87 93
88 /* Unwind info & table: */ 94 /* Unwind info & table: */
89 . = ALIGN(8); 95 . = ALIGN(8);
90 .IA_64.unwind_info : AT(ADDR(.IA_64.unwind_info) - LOAD_OFFSET) 96 .IA_64.unwind_info : AT(ADDR(.IA_64.unwind_info) - LOAD_OFFSET) {
91 { *(.IA_64.unwind_info*) } 97 *(.IA_64.unwind_info*)
92 .IA_64.unwind : AT(ADDR(.IA_64.unwind) - LOAD_OFFSET) 98 }
93 { 99 .IA_64.unwind : AT(ADDR(.IA_64.unwind) - LOAD_OFFSET) {
94 __start_unwind = .; 100 __start_unwind = .;
95 *(.IA_64.unwind*) 101 *(.IA_64.unwind*)
96 __end_unwind = .; 102 __end_unwind = .;
97 } :code :unwind 103 } :code :unwind
98 code_continues2 : {} : code 104 code_continues2 : {
105 } : code
99 106
100 RODATA 107 RODATA
101 108
102 .opd : AT(ADDR(.opd) - LOAD_OFFSET) 109 .opd : AT(ADDR(.opd) - LOAD_OFFSET) {
103 { *(.opd) } 110 *(.opd)
104 111 }
105 /* Initialization code and data: */
106 112
107 . = ALIGN(PAGE_SIZE); 113 /*
108 __init_begin = .; 114 * Initialization code and data:
115 */
116 . = ALIGN(PAGE_SIZE);
117 __init_begin = .;
109 118
110 INIT_TEXT_SECTION(PAGE_SIZE) 119 INIT_TEXT_SECTION(PAGE_SIZE)
111 INIT_DATA_SECTION(16) 120 INIT_DATA_SECTION(16)
112 121
113 .data..patch.vtop : AT(ADDR(.data..patch.vtop) - LOAD_OFFSET) 122 .data..patch.vtop : AT(ADDR(.data..patch.vtop) - LOAD_OFFSET) {
114 { 123 __start___vtop_patchlist = .;
115 __start___vtop_patchlist = .; 124 *(.data..patch.vtop)
116 *(.data..patch.vtop) 125 __end___vtop_patchlist = .;
117 __end___vtop_patchlist = .;
118 } 126 }
119 127
120 .data..patch.rse : AT(ADDR(.data..patch.rse) - LOAD_OFFSET) 128 .data..patch.rse : AT(ADDR(.data..patch.rse) - LOAD_OFFSET) {
121 { 129 __start___rse_patchlist = .;
122 __start___rse_patchlist = .; 130 *(.data..patch.rse)
123 *(.data..patch.rse) 131 __end___rse_patchlist = .;
124 __end___rse_patchlist = .;
125 } 132 }
126 133
127 .data..patch.mckinley_e9 : AT(ADDR(.data..patch.mckinley_e9) - LOAD_OFFSET) 134 .data..patch.mckinley_e9 : AT(ADDR(.data..patch.mckinley_e9) - LOAD_OFFSET) {
128 { 135 __start___mckinley_e9_bundles = .;
129 __start___mckinley_e9_bundles = .; 136 *(.data..patch.mckinley_e9)
130 *(.data..patch.mckinley_e9) 137 __end___mckinley_e9_bundles = .;
131 __end___mckinley_e9_bundles = .;
132 } 138 }
133 139
134#if defined(CONFIG_PARAVIRT) 140#if defined(CONFIG_PARAVIRT)
135 . = ALIGN(16); 141 . = ALIGN(16);
136 .paravirt_bundles : AT(ADDR(.paravirt_bundles) - LOAD_OFFSET) 142 .paravirt_bundles : AT(ADDR(.paravirt_bundles) - LOAD_OFFSET) {
137 { 143 __start_paravirt_bundles = .;
138 __start_paravirt_bundles = .; 144 *(.paravirt_bundles)
139 *(.paravirt_bundles) 145 __stop_paravirt_bundles = .;
140 __stop_paravirt_bundles = .; 146 }
141 } 147 . = ALIGN(16);
142 . = ALIGN(16); 148 .paravirt_insts : AT(ADDR(.paravirt_insts) - LOAD_OFFSET) {
143 .paravirt_insts : AT(ADDR(.paravirt_insts) - LOAD_OFFSET) 149 __start_paravirt_insts = .;
144 { 150 *(.paravirt_insts)
145 __start_paravirt_insts = .; 151 __stop_paravirt_insts = .;
146 *(.paravirt_insts) 152 }
147 __stop_paravirt_insts = .; 153 . = ALIGN(16);
148 } 154 .paravirt_branches : AT(ADDR(.paravirt_branches) - LOAD_OFFSET) {
149 . = ALIGN(16); 155 __start_paravirt_branches = .;
150 .paravirt_branches : AT(ADDR(.paravirt_branches) - LOAD_OFFSET) 156 *(.paravirt_branches)
151 { 157 __stop_paravirt_branches = .;
152 __start_paravirt_branches = .;
153 *(.paravirt_branches)
154 __stop_paravirt_branches = .;
155 } 158 }
156#endif 159#endif
157 160
158#if defined(CONFIG_IA64_GENERIC) 161#if defined(CONFIG_IA64_GENERIC)
159 /* Machine Vector */ 162 /* Machine Vector */
160 . = ALIGN(16); 163 . = ALIGN(16);
161 .machvec : AT(ADDR(.machvec) - LOAD_OFFSET) 164 .machvec : AT(ADDR(.machvec) - LOAD_OFFSET) {
162 { 165 machvec_start = .;
163 machvec_start = .; 166 *(.machvec)
164 *(.machvec) 167 machvec_end = .;
165 machvec_end = .;
166 } 168 }
167#endif 169#endif
168 170
169#ifdef CONFIG_SMP 171#ifdef CONFIG_SMP
170 . = ALIGN(PERCPU_PAGE_SIZE); 172 . = ALIGN(PERCPU_PAGE_SIZE);
171 __cpu0_per_cpu = .; 173 __cpu0_per_cpu = .;
172 . = . + PERCPU_PAGE_SIZE; /* cpu0 per-cpu space */ 174 . = . + PERCPU_PAGE_SIZE; /* cpu0 per-cpu space */
173#endif 175#endif
174 176
175 . = ALIGN(PAGE_SIZE); 177 . = ALIGN(PAGE_SIZE);
176 __init_end = .; 178 __init_end = .;
177 179
178 .data..page_aligned : AT(ADDR(.data..page_aligned) - LOAD_OFFSET) 180 .data..page_aligned : AT(ADDR(.data..page_aligned) - LOAD_OFFSET) {
179 { 181 PAGE_ALIGNED_DATA(PAGE_SIZE)
180 PAGE_ALIGNED_DATA(PAGE_SIZE) 182 . = ALIGN(PAGE_SIZE);
181 . = ALIGN(PAGE_SIZE); 183 __start_gate_section = .;
182 __start_gate_section = .; 184 *(.data..gate)
183 *(.data..gate) 185 __stop_gate_section = .;
184 __stop_gate_section = .;
185#ifdef CONFIG_XEN 186#ifdef CONFIG_XEN
186 . = ALIGN(PAGE_SIZE); 187 . = ALIGN(PAGE_SIZE);
187 __xen_start_gate_section = .; 188 __xen_start_gate_section = .;
188 *(.data..gate.xen) 189 *(.data..gate.xen)
189 __xen_stop_gate_section = .; 190 __xen_stop_gate_section = .;
190#endif 191#endif
191 } 192 }
192 . = ALIGN(PAGE_SIZE); /* make sure the gate page doesn't expose 193 /*
193 * kernel data 194 * make sure the gate page doesn't expose
194 */ 195 * kernel data
195 196 */
196 /* Per-cpu data: */ 197 . = ALIGN(PAGE_SIZE);
197 . = ALIGN(PERCPU_PAGE_SIZE); 198
198 PERCPU_VADDR(PERCPU_ADDR, :percpu) 199 /* Per-cpu data: */
199 __phys_per_cpu_start = __per_cpu_load; 200 . = ALIGN(PERCPU_PAGE_SIZE);
200 . = __phys_per_cpu_start + PERCPU_PAGE_SIZE; /* ensure percpu data fits 201 PERCPU_VADDR(PERCPU_ADDR, :percpu)
201 * into percpu page size 202 __phys_per_cpu_start = __per_cpu_load;
202 */ 203 /*
203 204 * ensure percpu data fits
204 data : { } :data 205 * into percpu page size
205 .data : AT(ADDR(.data) - LOAD_OFFSET) 206 */
206 { 207 . = __phys_per_cpu_start + PERCPU_PAGE_SIZE;
208
209 data : {
210 } :data
211 .data : AT(ADDR(.data) - LOAD_OFFSET) {
207 INIT_TASK_DATA(PAGE_SIZE) 212 INIT_TASK_DATA(PAGE_SIZE)
208 CACHELINE_ALIGNED_DATA(SMP_CACHE_BYTES) 213 CACHELINE_ALIGNED_DATA(SMP_CACHE_BYTES)
209 READ_MOSTLY_DATA(SMP_CACHE_BYTES) 214 READ_MOSTLY_DATA(SMP_CACHE_BYTES)
@@ -213,26 +218,37 @@ SECTIONS
213 CONSTRUCTORS 218 CONSTRUCTORS
214 } 219 }
215 220
216 . = ALIGN(16); /* gp must be 16-byte aligned for exc. table */ 221 . = ALIGN(16); /* gp must be 16-byte aligned for exc. table */
217 .got : AT(ADDR(.got) - LOAD_OFFSET) 222 .got : AT(ADDR(.got) - LOAD_OFFSET) {
218 { *(.got.plt) *(.got) } 223 *(.got.plt)
219 __gp = ADDR(.got) + 0x200000; 224 *(.got)
220 /* We want the small data sections together, so single-instruction offsets 225 }
221 can access them all, and initialized data all before uninitialized, so 226 __gp = ADDR(.got) + 0x200000;
222 we can shorten the on-disk segment size. */ 227
223 .sdata : AT(ADDR(.sdata) - LOAD_OFFSET) 228 /*
224 { *(.sdata) *(.sdata1) *(.srdata) } 229 * We want the small data sections together,
225 _edata = .; 230 * so single-instruction offsets can access
231 * them all, and initialized data all before
232 * uninitialized, so we can shorten the
233 * on-disk segment size.
234 */
235 .sdata : AT(ADDR(.sdata) - LOAD_OFFSET) {
236 *(.sdata)
237 *(.sdata1)
238 *(.srdata)
239 }
240 _edata = .;
226 241
227 BSS_SECTION(0, 0, 0) 242 BSS_SECTION(0, 0, 0)
228 243
229 _end = .; 244 _end = .;
230 245
231 code : { } :code 246 code : {
247 } :code
232 248
233 STABS_DEBUG 249 STABS_DEBUG
234 DWARF_DEBUG 250 DWARF_DEBUG
235 251
236 /* Default discards */ 252 /* Default discards */
237 DISCARDS 253 DISCARDS
238} 254}
diff --git a/arch/ia64/kvm/Kconfig b/arch/ia64/kvm/Kconfig
index ef3e7be29caf..fa4d1e59deb0 100644
--- a/arch/ia64/kvm/Kconfig
+++ b/arch/ia64/kvm/Kconfig
@@ -26,6 +26,7 @@ config KVM
26 select ANON_INODES 26 select ANON_INODES
27 select HAVE_KVM_IRQCHIP 27 select HAVE_KVM_IRQCHIP
28 select KVM_APIC_ARCHITECTURE 28 select KVM_APIC_ARCHITECTURE
29 select KVM_MMIO
29 ---help--- 30 ---help---
30 Support hosting fully virtualized guest machines using hardware 31 Support hosting fully virtualized guest machines using hardware
31 virtualization extensions. You will need a fairly recent 32 virtualization extensions. You will need a fairly recent
@@ -47,6 +48,7 @@ config KVM_INTEL
47 Provides support for KVM on Itanium 2 processors equipped with the VT 48 Provides support for KVM on Itanium 2 processors equipped with the VT
48 extensions. 49 extensions.
49 50
51source drivers/vhost/Kconfig
50source drivers/virtio/Kconfig 52source drivers/virtio/Kconfig
51 53
52endif # VIRTUALIZATION 54endif # VIRTUALIZATION
diff --git a/arch/ia64/kvm/kvm-ia64.c b/arch/ia64/kvm/kvm-ia64.c
index 5fdeec5fddcf..f56a6316e134 100644
--- a/arch/ia64/kvm/kvm-ia64.c
+++ b/arch/ia64/kvm/kvm-ia64.c
@@ -23,8 +23,8 @@
23#include <linux/module.h> 23#include <linux/module.h>
24#include <linux/errno.h> 24#include <linux/errno.h>
25#include <linux/percpu.h> 25#include <linux/percpu.h>
26#include <linux/gfp.h>
27#include <linux/fs.h> 26#include <linux/fs.h>
27#include <linux/slab.h>
28#include <linux/smp.h> 28#include <linux/smp.h>
29#include <linux/kvm_host.h> 29#include <linux/kvm_host.h>
30#include <linux/kvm.h> 30#include <linux/kvm.h>
@@ -144,6 +144,7 @@ int kvm_arch_hardware_enable(void *garbage)
144 VP_INIT_ENV : VP_INIT_ENV_INITALIZE, 144 VP_INIT_ENV : VP_INIT_ENV_INITALIZE,
145 __pa(kvm_vm_buffer), KVM_VM_BUFFER_BASE, &tmp_base); 145 __pa(kvm_vm_buffer), KVM_VM_BUFFER_BASE, &tmp_base);
146 if (status != 0) { 146 if (status != 0) {
147 spin_unlock(&vp_lock);
147 printk(KERN_WARNING"kvm: Failed to Enable VT Support!!!!\n"); 148 printk(KERN_WARNING"kvm: Failed to Enable VT Support!!!!\n");
148 return -EINVAL; 149 return -EINVAL;
149 } 150 }
@@ -241,10 +242,10 @@ static int handle_mmio(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
241 return 0; 242 return 0;
242mmio: 243mmio:
243 if (p->dir) 244 if (p->dir)
244 r = kvm_io_bus_read(&vcpu->kvm->mmio_bus, p->addr, 245 r = kvm_io_bus_read(vcpu->kvm, KVM_MMIO_BUS, p->addr,
245 p->size, &p->data); 246 p->size, &p->data);
246 else 247 else
247 r = kvm_io_bus_write(&vcpu->kvm->mmio_bus, p->addr, 248 r = kvm_io_bus_write(vcpu->kvm, KVM_MMIO_BUS, p->addr,
248 p->size, &p->data); 249 p->size, &p->data);
249 if (r) 250 if (r)
250 printk(KERN_ERR"kvm: No iodevice found! addr:%lx\n", p->addr); 251 printk(KERN_ERR"kvm: No iodevice found! addr:%lx\n", p->addr);
@@ -636,12 +637,9 @@ static void kvm_vcpu_post_transition(struct kvm_vcpu *vcpu)
636static int __vcpu_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) 637static int __vcpu_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
637{ 638{
638 union context *host_ctx, *guest_ctx; 639 union context *host_ctx, *guest_ctx;
639 int r; 640 int r, idx;
640 641
641 /* 642 idx = srcu_read_lock(&vcpu->kvm->srcu);
642 * down_read() may sleep and return with interrupts enabled
643 */
644 down_read(&vcpu->kvm->slots_lock);
645 643
646again: 644again:
647 if (signal_pending(current)) { 645 if (signal_pending(current)) {
@@ -663,7 +661,7 @@ again:
663 if (r < 0) 661 if (r < 0)
664 goto vcpu_run_fail; 662 goto vcpu_run_fail;
665 663
666 up_read(&vcpu->kvm->slots_lock); 664 srcu_read_unlock(&vcpu->kvm->srcu, idx);
667 kvm_guest_enter(); 665 kvm_guest_enter();
668 666
669 /* 667 /*
@@ -687,7 +685,7 @@ again:
687 kvm_guest_exit(); 685 kvm_guest_exit();
688 preempt_enable(); 686 preempt_enable();
689 687
690 down_read(&vcpu->kvm->slots_lock); 688 idx = srcu_read_lock(&vcpu->kvm->srcu);
691 689
692 r = kvm_handle_exit(kvm_run, vcpu); 690 r = kvm_handle_exit(kvm_run, vcpu);
693 691
@@ -697,10 +695,10 @@ again:
697 } 695 }
698 696
699out: 697out:
700 up_read(&vcpu->kvm->slots_lock); 698 srcu_read_unlock(&vcpu->kvm->srcu, idx);
701 if (r > 0) { 699 if (r > 0) {
702 kvm_resched(vcpu); 700 kvm_resched(vcpu);
703 down_read(&vcpu->kvm->slots_lock); 701 idx = srcu_read_lock(&vcpu->kvm->srcu);
704 goto again; 702 goto again;
705 } 703 }
706 704
@@ -727,8 +725,6 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
727 int r; 725 int r;
728 sigset_t sigsaved; 726 sigset_t sigsaved;
729 727
730 vcpu_load(vcpu);
731
732 if (vcpu->sigset_active) 728 if (vcpu->sigset_active)
733 sigprocmask(SIG_SETMASK, &vcpu->sigset, &sigsaved); 729 sigprocmask(SIG_SETMASK, &vcpu->sigset, &sigsaved);
734 730
@@ -750,7 +746,6 @@ out:
750 if (vcpu->sigset_active) 746 if (vcpu->sigset_active)
751 sigprocmask(SIG_SETMASK, &sigsaved, NULL); 747 sigprocmask(SIG_SETMASK, &sigsaved, NULL);
752 748
753 vcpu_put(vcpu);
754 return r; 749 return r;
755} 750}
756 751
@@ -885,8 +880,6 @@ int kvm_arch_vcpu_ioctl_set_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs)
885 struct vpd *vpd = to_host(vcpu->kvm, vcpu->arch.vpd); 880 struct vpd *vpd = to_host(vcpu->kvm, vcpu->arch.vpd);
886 int i; 881 int i;
887 882
888 vcpu_load(vcpu);
889
890 for (i = 0; i < 16; i++) { 883 for (i = 0; i < 16; i++) {
891 vpd->vgr[i] = regs->vpd.vgr[i]; 884 vpd->vgr[i] = regs->vpd.vgr[i];
892 vpd->vbgr[i] = regs->vpd.vbgr[i]; 885 vpd->vbgr[i] = regs->vpd.vbgr[i];
@@ -933,8 +926,6 @@ int kvm_arch_vcpu_ioctl_set_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs)
933 vcpu->arch.itc_offset = regs->saved_itc - kvm_get_itc(vcpu); 926 vcpu->arch.itc_offset = regs->saved_itc - kvm_get_itc(vcpu);
934 set_bit(KVM_REQ_RESUME, &vcpu->requests); 927 set_bit(KVM_REQ_RESUME, &vcpu->requests);
935 928
936 vcpu_put(vcpu);
937
938 return 0; 929 return 0;
939} 930}
940 931
@@ -971,7 +962,7 @@ long kvm_arch_vm_ioctl(struct file *filp,
971 goto out; 962 goto out;
972 r = kvm_setup_default_irq_routing(kvm); 963 r = kvm_setup_default_irq_routing(kvm);
973 if (r) { 964 if (r) {
974 kfree(kvm->arch.vioapic); 965 kvm_ioapic_destroy(kvm);
975 goto out; 966 goto out;
976 } 967 }
977 break; 968 break;
@@ -982,11 +973,13 @@ long kvm_arch_vm_ioctl(struct file *filp,
982 r = -EFAULT; 973 r = -EFAULT;
983 if (copy_from_user(&irq_event, argp, sizeof irq_event)) 974 if (copy_from_user(&irq_event, argp, sizeof irq_event))
984 goto out; 975 goto out;
976 r = -ENXIO;
985 if (irqchip_in_kernel(kvm)) { 977 if (irqchip_in_kernel(kvm)) {
986 __s32 status; 978 __s32 status;
987 status = kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, 979 status = kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID,
988 irq_event.irq, irq_event.level); 980 irq_event.irq, irq_event.level);
989 if (ioctl == KVM_IRQ_LINE_STATUS) { 981 if (ioctl == KVM_IRQ_LINE_STATUS) {
982 r = -EFAULT;
990 irq_event.status = status; 983 irq_event.status = status;
991 if (copy_to_user(argp, &irq_event, 984 if (copy_to_user(argp, &irq_event,
992 sizeof irq_event)) 985 sizeof irq_event))
@@ -1237,7 +1230,7 @@ int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu)
1237 p_ctx->cr[2] = (unsigned long)kvm_vmm_info->vmm_ivt; 1230 p_ctx->cr[2] = (unsigned long)kvm_vmm_info->vmm_ivt;
1238 p_ctx->cr[8] = 0x3c; 1231 p_ctx->cr[8] = 0x3c;
1239 1232
1240 /*Initilize region register*/ 1233 /*Initialize region register*/
1241 p_ctx->rr[0] = 0x30; 1234 p_ctx->rr[0] = 0x30;
1242 p_ctx->rr[1] = 0x30; 1235 p_ctx->rr[1] = 0x30;
1243 p_ctx->rr[2] = 0x30; 1236 p_ctx->rr[2] = 0x30;
@@ -1246,7 +1239,7 @@ int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu)
1246 p_ctx->rr[5] = 0x30; 1239 p_ctx->rr[5] = 0x30;
1247 p_ctx->rr[7] = 0x30; 1240 p_ctx->rr[7] = 0x30;
1248 1241
1249 /*Initilize branch register 0*/ 1242 /*Initialize branch register 0*/
1250 p_ctx->br[0] = *(unsigned long *)kvm_vmm_info->vmm_entry; 1243 p_ctx->br[0] = *(unsigned long *)kvm_vmm_info->vmm_entry;
1251 1244
1252 vcpu->arch.vmm_rr = kvm->arch.vmm_init_rr; 1245 vcpu->arch.vmm_rr = kvm->arch.vmm_init_rr;
@@ -1377,12 +1370,14 @@ static void free_kvm(struct kvm *kvm)
1377 1370
1378static void kvm_release_vm_pages(struct kvm *kvm) 1371static void kvm_release_vm_pages(struct kvm *kvm)
1379{ 1372{
1373 struct kvm_memslots *slots;
1380 struct kvm_memory_slot *memslot; 1374 struct kvm_memory_slot *memslot;
1381 int i, j; 1375 int i, j;
1382 unsigned long base_gfn; 1376 unsigned long base_gfn;
1383 1377
1384 for (i = 0; i < kvm->nmemslots; i++) { 1378 slots = kvm_memslots(kvm);
1385 memslot = &kvm->memslots[i]; 1379 for (i = 0; i < slots->nmemslots; i++) {
1380 memslot = &slots->memslots[i];
1386 base_gfn = memslot->base_gfn; 1381 base_gfn = memslot->base_gfn;
1387 1382
1388 for (j = 0; j < memslot->npages; j++) { 1383 for (j = 0; j < memslot->npages; j++) {
@@ -1405,6 +1400,7 @@ void kvm_arch_destroy_vm(struct kvm *kvm)
1405 kfree(kvm->arch.vioapic); 1400 kfree(kvm->arch.vioapic);
1406 kvm_release_vm_pages(kvm); 1401 kvm_release_vm_pages(kvm);
1407 kvm_free_physmem(kvm); 1402 kvm_free_physmem(kvm);
1403 cleanup_srcu_struct(&kvm->srcu);
1408 free_kvm(kvm); 1404 free_kvm(kvm);
1409} 1405}
1410 1406
@@ -1535,8 +1531,10 @@ long kvm_arch_vcpu_ioctl(struct file *filp,
1535 goto out; 1531 goto out;
1536 1532
1537 if (copy_to_user(user_stack, stack, 1533 if (copy_to_user(user_stack, stack,
1538 sizeof(struct kvm_ia64_vcpu_stack))) 1534 sizeof(struct kvm_ia64_vcpu_stack))) {
1535 r = -EFAULT;
1539 goto out; 1536 goto out;
1537 }
1540 1538
1541 break; 1539 break;
1542 } 1540 }
@@ -1576,15 +1574,15 @@ out:
1576 return r; 1574 return r;
1577} 1575}
1578 1576
1579int kvm_arch_set_memory_region(struct kvm *kvm, 1577int kvm_arch_prepare_memory_region(struct kvm *kvm,
1580 struct kvm_userspace_memory_region *mem, 1578 struct kvm_memory_slot *memslot,
1581 struct kvm_memory_slot old, 1579 struct kvm_memory_slot old,
1580 struct kvm_userspace_memory_region *mem,
1582 int user_alloc) 1581 int user_alloc)
1583{ 1582{
1584 unsigned long i; 1583 unsigned long i;
1585 unsigned long pfn; 1584 unsigned long pfn;
1586 int npages = mem->memory_size >> PAGE_SHIFT; 1585 int npages = memslot->npages;
1587 struct kvm_memory_slot *memslot = &kvm->memslots[mem->slot];
1588 unsigned long base_gfn = memslot->base_gfn; 1586 unsigned long base_gfn = memslot->base_gfn;
1589 1587
1590 if (base_gfn + npages > (KVM_MAX_MEM_SIZE >> PAGE_SHIFT)) 1588 if (base_gfn + npages > (KVM_MAX_MEM_SIZE >> PAGE_SHIFT))
@@ -1608,6 +1606,14 @@ int kvm_arch_set_memory_region(struct kvm *kvm,
1608 return 0; 1606 return 0;
1609} 1607}
1610 1608
1609void kvm_arch_commit_memory_region(struct kvm *kvm,
1610 struct kvm_userspace_memory_region *mem,
1611 struct kvm_memory_slot old,
1612 int user_alloc)
1613{
1614 return;
1615}
1616
1611void kvm_arch_flush_shadow(struct kvm *kvm) 1617void kvm_arch_flush_shadow(struct kvm *kvm)
1612{ 1618{
1613 kvm_flush_remote_tlbs(kvm); 1619 kvm_flush_remote_tlbs(kvm);
@@ -1694,7 +1700,7 @@ static int kvm_relocate_vmm(struct kvm_vmm_info *vmm_info,
1694 BUG_ON(!module); 1700 BUG_ON(!module);
1695 1701
1696 if (!kvm_vmm_base) { 1702 if (!kvm_vmm_base) {
1697 printk("kvm: kvm area hasn't been initilized yet!!\n"); 1703 printk("kvm: kvm area hasn't been initialized yet!!\n");
1698 return -EFAULT; 1704 return -EFAULT;
1699 } 1705 }
1700 1706
@@ -1789,50 +1795,46 @@ void kvm_arch_exit(void)
1789 kvm_vmm_info = NULL; 1795 kvm_vmm_info = NULL;
1790} 1796}
1791 1797
1792static int kvm_ia64_sync_dirty_log(struct kvm *kvm, 1798static void kvm_ia64_sync_dirty_log(struct kvm *kvm,
1793 struct kvm_dirty_log *log) 1799 struct kvm_memory_slot *memslot)
1794{ 1800{
1795 struct kvm_memory_slot *memslot; 1801 int i;
1796 int r, i; 1802 long base;
1797 long n, base; 1803 unsigned long n;
1798 unsigned long *dirty_bitmap = (unsigned long *)(kvm->arch.vm_base + 1804 unsigned long *dirty_bitmap = (unsigned long *)(kvm->arch.vm_base +
1799 offsetof(struct kvm_vm_data, kvm_mem_dirty_log)); 1805 offsetof(struct kvm_vm_data, kvm_mem_dirty_log));
1800 1806
1801 r = -EINVAL; 1807 n = kvm_dirty_bitmap_bytes(memslot);
1802 if (log->slot >= KVM_MEMORY_SLOTS)
1803 goto out;
1804
1805 memslot = &kvm->memslots[log->slot];
1806 r = -ENOENT;
1807 if (!memslot->dirty_bitmap)
1808 goto out;
1809
1810 n = ALIGN(memslot->npages, BITS_PER_LONG) / 8;
1811 base = memslot->base_gfn / BITS_PER_LONG; 1808 base = memslot->base_gfn / BITS_PER_LONG;
1812 1809
1810 spin_lock(&kvm->arch.dirty_log_lock);
1813 for (i = 0; i < n/sizeof(long); ++i) { 1811 for (i = 0; i < n/sizeof(long); ++i) {
1814 memslot->dirty_bitmap[i] = dirty_bitmap[base + i]; 1812 memslot->dirty_bitmap[i] = dirty_bitmap[base + i];
1815 dirty_bitmap[base + i] = 0; 1813 dirty_bitmap[base + i] = 0;
1816 } 1814 }
1817 r = 0; 1815 spin_unlock(&kvm->arch.dirty_log_lock);
1818out:
1819 return r;
1820} 1816}
1821 1817
1822int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, 1818int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm,
1823 struct kvm_dirty_log *log) 1819 struct kvm_dirty_log *log)
1824{ 1820{
1825 int r; 1821 int r;
1826 int n; 1822 unsigned long n;
1827 struct kvm_memory_slot *memslot; 1823 struct kvm_memory_slot *memslot;
1828 int is_dirty = 0; 1824 int is_dirty = 0;
1829 1825
1830 spin_lock(&kvm->arch.dirty_log_lock); 1826 mutex_lock(&kvm->slots_lock);
1831 1827
1832 r = kvm_ia64_sync_dirty_log(kvm, log); 1828 r = -EINVAL;
1833 if (r) 1829 if (log->slot >= KVM_MEMORY_SLOTS)
1834 goto out; 1830 goto out;
1835 1831
1832 memslot = &kvm->memslots->memslots[log->slot];
1833 r = -ENOENT;
1834 if (!memslot->dirty_bitmap)
1835 goto out;
1836
1837 kvm_ia64_sync_dirty_log(kvm, memslot);
1836 r = kvm_get_dirty_log(kvm, log, &is_dirty); 1838 r = kvm_get_dirty_log(kvm, log, &is_dirty);
1837 if (r) 1839 if (r)
1838 goto out; 1840 goto out;
@@ -1840,13 +1842,12 @@ int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm,
1840 /* If nothing is dirty, don't bother messing with page tables. */ 1842 /* If nothing is dirty, don't bother messing with page tables. */
1841 if (is_dirty) { 1843 if (is_dirty) {
1842 kvm_flush_remote_tlbs(kvm); 1844 kvm_flush_remote_tlbs(kvm);
1843 memslot = &kvm->memslots[log->slot]; 1845 n = kvm_dirty_bitmap_bytes(memslot);
1844 n = ALIGN(memslot->npages, BITS_PER_LONG) / 8;
1845 memset(memslot->dirty_bitmap, 0, n); 1846 memset(memslot->dirty_bitmap, 0, n);
1846 } 1847 }
1847 r = 0; 1848 r = 0;
1848out: 1849out:
1849 spin_unlock(&kvm->arch.dirty_log_lock); 1850 mutex_unlock(&kvm->slots_lock);
1850 return r; 1851 return r;
1851} 1852}
1852 1853
@@ -1937,11 +1938,6 @@ int kvm_cpu_has_pending_timer(struct kvm_vcpu *vcpu)
1937 return vcpu->arch.timer_fired; 1938 return vcpu->arch.timer_fired;
1938} 1939}
1939 1940
1940gfn_t unalias_gfn(struct kvm *kvm, gfn_t gfn)
1941{
1942 return gfn;
1943}
1944
1945int kvm_arch_vcpu_runnable(struct kvm_vcpu *vcpu) 1941int kvm_arch_vcpu_runnable(struct kvm_vcpu *vcpu)
1946{ 1942{
1947 return (vcpu->arch.mp_state == KVM_MP_STATE_RUNNABLE) || 1943 return (vcpu->arch.mp_state == KVM_MP_STATE_RUNNABLE) ||
@@ -1951,9 +1947,7 @@ int kvm_arch_vcpu_runnable(struct kvm_vcpu *vcpu)
1951int kvm_arch_vcpu_ioctl_get_mpstate(struct kvm_vcpu *vcpu, 1947int kvm_arch_vcpu_ioctl_get_mpstate(struct kvm_vcpu *vcpu,
1952 struct kvm_mp_state *mp_state) 1948 struct kvm_mp_state *mp_state)
1953{ 1949{
1954 vcpu_load(vcpu);
1955 mp_state->mp_state = vcpu->arch.mp_state; 1950 mp_state->mp_state = vcpu->arch.mp_state;
1956 vcpu_put(vcpu);
1957 return 0; 1951 return 0;
1958} 1952}
1959 1953
@@ -1984,10 +1978,8 @@ int kvm_arch_vcpu_ioctl_set_mpstate(struct kvm_vcpu *vcpu,
1984{ 1978{
1985 int r = 0; 1979 int r = 0;
1986 1980
1987 vcpu_load(vcpu);
1988 vcpu->arch.mp_state = mp_state->mp_state; 1981 vcpu->arch.mp_state = mp_state->mp_state;
1989 if (vcpu->arch.mp_state == KVM_MP_STATE_UNINITIALIZED) 1982 if (vcpu->arch.mp_state == KVM_MP_STATE_UNINITIALIZED)
1990 r = vcpu_reset(vcpu); 1983 r = vcpu_reset(vcpu);
1991 vcpu_put(vcpu);
1992 return r; 1984 return r;
1993} 1985}
diff --git a/arch/ia64/kvm/kvm_fw.c b/arch/ia64/kvm/kvm_fw.c
index e4b82319881d..cb548ee9fcae 100644
--- a/arch/ia64/kvm/kvm_fw.c
+++ b/arch/ia64/kvm/kvm_fw.c
@@ -75,7 +75,7 @@ static void set_pal_result(struct kvm_vcpu *vcpu,
75 struct exit_ctl_data *p; 75 struct exit_ctl_data *p;
76 76
77 p = kvm_get_exit_data(vcpu); 77 p = kvm_get_exit_data(vcpu);
78 if (p && p->exit_reason == EXIT_REASON_PAL_CALL) { 78 if (p->exit_reason == EXIT_REASON_PAL_CALL) {
79 p->u.pal_data.ret = result; 79 p->u.pal_data.ret = result;
80 return ; 80 return ;
81 } 81 }
@@ -87,7 +87,7 @@ static void set_sal_result(struct kvm_vcpu *vcpu,
87 struct exit_ctl_data *p; 87 struct exit_ctl_data *p;
88 88
89 p = kvm_get_exit_data(vcpu); 89 p = kvm_get_exit_data(vcpu);
90 if (p && p->exit_reason == EXIT_REASON_SAL_CALL) { 90 if (p->exit_reason == EXIT_REASON_SAL_CALL) {
91 p->u.sal_data.ret = result; 91 p->u.sal_data.ret = result;
92 return ; 92 return ;
93 } 93 }
@@ -322,7 +322,7 @@ static u64 kvm_get_pal_call_index(struct kvm_vcpu *vcpu)
322 struct exit_ctl_data *p; 322 struct exit_ctl_data *p;
323 323
324 p = kvm_get_exit_data(vcpu); 324 p = kvm_get_exit_data(vcpu);
325 if (p && (p->exit_reason == EXIT_REASON_PAL_CALL)) 325 if (p->exit_reason == EXIT_REASON_PAL_CALL)
326 index = p->u.pal_data.gr28; 326 index = p->u.pal_data.gr28;
327 327
328 return index; 328 return index;
@@ -646,18 +646,16 @@ static void kvm_get_sal_call_data(struct kvm_vcpu *vcpu, u64 *in0, u64 *in1,
646 646
647 p = kvm_get_exit_data(vcpu); 647 p = kvm_get_exit_data(vcpu);
648 648
649 if (p) { 649 if (p->exit_reason == EXIT_REASON_SAL_CALL) {
650 if (p->exit_reason == EXIT_REASON_SAL_CALL) { 650 *in0 = p->u.sal_data.in0;
651 *in0 = p->u.sal_data.in0; 651 *in1 = p->u.sal_data.in1;
652 *in1 = p->u.sal_data.in1; 652 *in2 = p->u.sal_data.in2;
653 *in2 = p->u.sal_data.in2; 653 *in3 = p->u.sal_data.in3;
654 *in3 = p->u.sal_data.in3; 654 *in4 = p->u.sal_data.in4;
655 *in4 = p->u.sal_data.in4; 655 *in5 = p->u.sal_data.in5;
656 *in5 = p->u.sal_data.in5; 656 *in6 = p->u.sal_data.in6;
657 *in6 = p->u.sal_data.in6; 657 *in7 = p->u.sal_data.in7;
658 *in7 = p->u.sal_data.in7; 658 return ;
659 return ;
660 }
661 } 659 }
662 *in0 = 0; 660 *in0 = 0;
663} 661}
diff --git a/arch/ia64/kvm/mmio.c b/arch/ia64/kvm/mmio.c
index 9bf55afd08d0..fb8f9f59a1ed 100644
--- a/arch/ia64/kvm/mmio.c
+++ b/arch/ia64/kvm/mmio.c
@@ -316,8 +316,8 @@ void emulate_io_inst(struct kvm_vcpu *vcpu, u64 padr, u64 ma)
316 return; 316 return;
317 } else { 317 } else {
318 inst_type = -1; 318 inst_type = -1;
319 panic_vm(vcpu, "Unsupported MMIO access instruction! \ 319 panic_vm(vcpu, "Unsupported MMIO access instruction! "
320 Bunld[0]=0x%lx, Bundle[1]=0x%lx\n", 320 "Bunld[0]=0x%lx, Bundle[1]=0x%lx\n",
321 bundle.i64[0], bundle.i64[1]); 321 bundle.i64[0], bundle.i64[1]);
322 } 322 }
323 323
diff --git a/arch/ia64/kvm/vcpu.c b/arch/ia64/kvm/vcpu.c
index dce75b70cdd5..958815c9787d 100644
--- a/arch/ia64/kvm/vcpu.c
+++ b/arch/ia64/kvm/vcpu.c
@@ -1639,8 +1639,8 @@ void vcpu_set_psr(struct kvm_vcpu *vcpu, unsigned long val)
1639 * Otherwise panic 1639 * Otherwise panic
1640 */ 1640 */
1641 if (val & (IA64_PSR_PK | IA64_PSR_IS | IA64_PSR_VM)) 1641 if (val & (IA64_PSR_PK | IA64_PSR_IS | IA64_PSR_VM))
1642 panic_vm(vcpu, "Only support guests with vpsr.pk =0 \ 1642 panic_vm(vcpu, "Only support guests with vpsr.pk =0 "
1643 & vpsr.is=0\n"); 1643 "& vpsr.is=0\n");
1644 1644
1645 /* 1645 /*
1646 * For those IA64_PSR bits: id/da/dd/ss/ed/ia 1646 * For those IA64_PSR bits: id/da/dd/ss/ed/ia
diff --git a/arch/ia64/kvm/vmm.c b/arch/ia64/kvm/vmm.c
index 7a62f75778c5..f0b9cac82414 100644
--- a/arch/ia64/kvm/vmm.c
+++ b/arch/ia64/kvm/vmm.c
@@ -51,7 +51,7 @@ static int __init kvm_vmm_init(void)
51 vmm_fpswa_interface = fpswa_interface; 51 vmm_fpswa_interface = fpswa_interface;
52 52
53 /*Register vmm data to kvm side*/ 53 /*Register vmm data to kvm side*/
54 return kvm_init(&vmm_info, 1024, THIS_MODULE); 54 return kvm_init(&vmm_info, 1024, 0, THIS_MODULE);
55} 55}
56 56
57static void __exit kvm_vmm_exit(void) 57static void __exit kvm_vmm_exit(void)
diff --git a/arch/ia64/mm/discontig.c b/arch/ia64/mm/discontig.c
index 19c4b2195dce..61620323bb60 100644
--- a/arch/ia64/mm/discontig.c
+++ b/arch/ia64/mm/discontig.c
@@ -22,6 +22,7 @@
22#include <linux/acpi.h> 22#include <linux/acpi.h>
23#include <linux/efi.h> 23#include <linux/efi.h>
24#include <linux/nodemask.h> 24#include <linux/nodemask.h>
25#include <linux/slab.h>
25#include <asm/pgalloc.h> 26#include <asm/pgalloc.h>
26#include <asm/tlb.h> 27#include <asm/tlb.h>
27#include <asm/meminit.h> 28#include <asm/meminit.h>
@@ -459,7 +460,7 @@ static void __init initialize_pernode_data(void)
459 cpu = 0; 460 cpu = 0;
460 node = node_cpuid[cpu].nid; 461 node = node_cpuid[cpu].nid;
461 cpu0_cpu_info = (struct cpuinfo_ia64 *)(__phys_per_cpu_start + 462 cpu0_cpu_info = (struct cpuinfo_ia64 *)(__phys_per_cpu_start +
462 ((char *)&per_cpu__ia64_cpu_info - __per_cpu_start)); 463 ((char *)&ia64_cpu_info - __per_cpu_start));
463 cpu0_cpu_info->node_data = mem_data[node].node_data; 464 cpu0_cpu_info->node_data = mem_data[node].node_data;
464 } 465 }
465#endif /* CONFIG_SMP */ 466#endif /* CONFIG_SMP */
diff --git a/arch/ia64/mm/fault.c b/arch/ia64/mm/fault.c
index 19261a99e623..0799fea4c588 100644
--- a/arch/ia64/mm/fault.c
+++ b/arch/ia64/mm/fault.c
@@ -148,7 +148,6 @@ ia64_do_page_fault (unsigned long address, unsigned long isr, struct pt_regs *re
148 if ((vma->vm_flags & mask) != mask) 148 if ((vma->vm_flags & mask) != mask)
149 goto bad_area; 149 goto bad_area;
150 150
151 survive:
152 /* 151 /*
153 * If for any reason at all we couldn't handle the fault, make 152 * If for any reason at all we couldn't handle the fault, make
154 * sure we exit gracefully rather than endlessly redo the 153 * sure we exit gracefully rather than endlessly redo the
@@ -276,13 +275,7 @@ ia64_do_page_fault (unsigned long address, unsigned long isr, struct pt_regs *re
276 275
277 out_of_memory: 276 out_of_memory:
278 up_read(&mm->mmap_sem); 277 up_read(&mm->mmap_sem);
279 if (is_global_init(current)) { 278 if (!user_mode(regs))
280 yield(); 279 goto no_context;
281 down_read(&mm->mmap_sem); 280 pagefault_out_of_memory();
282 goto survive;
283 }
284 printk(KERN_CRIT "VM: killing process %s\n", current->comm);
285 if (user_mode(regs))
286 do_group_exit(SIGKILL);
287 goto no_context;
288} 281}
diff --git a/arch/ia64/mm/hugetlbpage.c b/arch/ia64/mm/hugetlbpage.c
index b0f615759e97..1841ee7e65f9 100644
--- a/arch/ia64/mm/hugetlbpage.c
+++ b/arch/ia64/mm/hugetlbpage.c
@@ -14,7 +14,6 @@
14#include <linux/hugetlb.h> 14#include <linux/hugetlb.h>
15#include <linux/pagemap.h> 15#include <linux/pagemap.h>
16#include <linux/module.h> 16#include <linux/module.h>
17#include <linux/slab.h>
18#include <linux/sysctl.h> 17#include <linux/sysctl.h>
19#include <linux/log2.h> 18#include <linux/log2.h>
20#include <asm/mman.h> 19#include <asm/mman.h>
diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c
index 7c0d4814a68d..ed41759efcac 100644
--- a/arch/ia64/mm/init.c
+++ b/arch/ia64/mm/init.c
@@ -22,7 +22,6 @@
22#include <linux/kexec.h> 22#include <linux/kexec.h>
23 23
24#include <asm/dma.h> 24#include <asm/dma.h>
25#include <asm/ia32.h>
26#include <asm/io.h> 25#include <asm/io.h>
27#include <asm/machvec.h> 26#include <asm/machvec.h>
28#include <asm/numa.h> 27#include <asm/numa.h>
@@ -118,6 +117,7 @@ ia64_init_addr_space (void)
118 */ 117 */
119 vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL); 118 vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL);
120 if (vma) { 119 if (vma) {
120 INIT_LIST_HEAD(&vma->anon_vma_chain);
121 vma->vm_mm = current->mm; 121 vma->vm_mm = current->mm;
122 vma->vm_start = current->thread.rbs_bot & PAGE_MASK; 122 vma->vm_start = current->thread.rbs_bot & PAGE_MASK;
123 vma->vm_end = vma->vm_start + PAGE_SIZE; 123 vma->vm_end = vma->vm_start + PAGE_SIZE;
@@ -136,6 +136,7 @@ ia64_init_addr_space (void)
136 if (!(current->personality & MMAP_PAGE_ZERO)) { 136 if (!(current->personality & MMAP_PAGE_ZERO)) {
137 vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL); 137 vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL);
138 if (vma) { 138 if (vma) {
139 INIT_LIST_HEAD(&vma->anon_vma_chain);
139 vma->vm_mm = current->mm; 140 vma->vm_mm = current->mm;
140 vma->vm_end = PAGE_SIZE; 141 vma->vm_end = PAGE_SIZE;
141 vma->vm_page_prot = __pgprot(pgprot_val(PAGE_READONLY) | _PAGE_MA_NAT); 142 vma->vm_page_prot = __pgprot(pgprot_val(PAGE_READONLY) | _PAGE_MA_NAT);
@@ -668,10 +669,6 @@ mem_init (void)
668 fsyscall_table[i] = sys_call_table[i] | 1; 669 fsyscall_table[i] = sys_call_table[i] | 1;
669 } 670 }
670 setup_gate(); 671 setup_gate();
671
672#ifdef CONFIG_IA32_SUPPORT
673 ia32_mem_init();
674#endif
675} 672}
676 673
677#ifdef CONFIG_MEMORY_HOTPLUG 674#ifdef CONFIG_MEMORY_HOTPLUG
diff --git a/arch/ia64/mm/tlb.c b/arch/ia64/mm/tlb.c
index f3de9d7a98b4..7b3cdc6c6d91 100644
--- a/arch/ia64/mm/tlb.c
+++ b/arch/ia64/mm/tlb.c
@@ -22,6 +22,7 @@
22#include <linux/smp.h> 22#include <linux/smp.h>
23#include <linux/mm.h> 23#include <linux/mm.h>
24#include <linux/bootmem.h> 24#include <linux/bootmem.h>
25#include <linux/slab.h>
25 26
26#include <asm/delay.h> 27#include <asm/delay.h>
27#include <asm/mmu_context.h> 28#include <asm/mmu_context.h>
@@ -120,7 +121,7 @@ static inline void down_spin(struct spinaphore *ss)
120 ia64_invala(); 121 ia64_invala();
121 122
122 for (;;) { 123 for (;;) {
123 asm volatile ("ld4.c.nc %0=[%1]" : "=r"(serve) : "r"(&ss->serve) : "memory"); 124 asm volatile ("ld8.c.nc %0=[%1]" : "=r"(serve) : "r"(&ss->serve) : "memory");
124 if (time_before(t, serve)) 125 if (time_before(t, serve))
125 return; 126 return;
126 cpu_relax(); 127 cpu_relax();
diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c
index df639db779f9..aa2533ae7e9e 100644
--- a/arch/ia64/pci/pci.c
+++ b/arch/ia64/pci/pci.c
@@ -320,9 +320,9 @@ static __devinit acpi_status add_window(struct acpi_resource *res, void *data)
320static void __devinit 320static void __devinit
321pcibios_setup_root_windows(struct pci_bus *bus, struct pci_controller *ctrl) 321pcibios_setup_root_windows(struct pci_bus *bus, struct pci_controller *ctrl)
322{ 322{
323 int i, j; 323 int i;
324 324
325 j = 0; 325 pci_bus_remove_resources(bus);
326 for (i = 0; i < ctrl->windows; i++) { 326 for (i = 0; i < ctrl->windows; i++) {
327 struct resource *res = &ctrl->window[i].resource; 327 struct resource *res = &ctrl->window[i].resource;
328 /* HP's firmware has a hack to work around a Windows bug. 328 /* HP's firmware has a hack to work around a Windows bug.
@@ -330,19 +330,16 @@ pcibios_setup_root_windows(struct pci_bus *bus, struct pci_controller *ctrl)
330 if ((res->flags & IORESOURCE_MEM) && 330 if ((res->flags & IORESOURCE_MEM) &&
331 (res->end - res->start < 16)) 331 (res->end - res->start < 16))
332 continue; 332 continue;
333 if (j >= PCI_BUS_NUM_RESOURCES) { 333 pci_bus_add_resource(bus, res, 0);
334 dev_warn(&bus->dev,
335 "ignoring host bridge window %pR (no space)\n",
336 res);
337 continue;
338 }
339 bus->resource[j++] = res;
340 } 334 }
341} 335}
342 336
343struct pci_bus * __devinit 337struct pci_bus * __devinit
344pci_acpi_scan_root(struct acpi_device *device, int domain, int bus) 338pci_acpi_scan_root(struct acpi_pci_root *root)
345{ 339{
340 struct acpi_device *device = root->device;
341 int domain = root->segment;
342 int bus = root->secondary.start;
346 struct pci_controller *controller; 343 struct pci_controller *controller;
347 unsigned int windows = 0; 344 unsigned int windows = 0;
348 struct pci_bus *pbus; 345 struct pci_bus *pbus;
@@ -452,13 +449,12 @@ EXPORT_SYMBOL(pcibios_bus_to_resource);
452static int __devinit is_valid_resource(struct pci_dev *dev, int idx) 449static int __devinit is_valid_resource(struct pci_dev *dev, int idx)
453{ 450{
454 unsigned int i, type_mask = IORESOURCE_IO | IORESOURCE_MEM; 451 unsigned int i, type_mask = IORESOURCE_IO | IORESOURCE_MEM;
455 struct resource *devr = &dev->resource[idx]; 452 struct resource *devr = &dev->resource[idx], *busr;
456 453
457 if (!dev->bus) 454 if (!dev->bus)
458 return 0; 455 return 0;
459 for (i=0; i<PCI_BUS_NUM_RESOURCES; i++) {
460 struct resource *busr = dev->bus->resource[i];
461 456
457 pci_bus_for_each_resource(dev->bus, busr, i) {
462 if (!busr || ((busr->flags ^ devr->flags) & type_mask)) 458 if (!busr || ((busr->flags ^ devr->flags) & type_mask))
463 continue; 459 continue;
464 if ((devr->start) && (devr->start >= busr->start) && 460 if ((devr->start) && (devr->start >= busr->start) &&
@@ -547,10 +543,11 @@ pcibios_disable_device (struct pci_dev *dev)
547 acpi_pci_irq_disable(dev); 543 acpi_pci_irq_disable(dev);
548} 544}
549 545
550void 546resource_size_t
551pcibios_align_resource (void *data, struct resource *res, 547pcibios_align_resource (void *data, const struct resource *res,
552 resource_size_t size, resource_size_t align) 548 resource_size_t size, resource_size_t align)
553{ 549{
550 return res->start;
554} 551}
555 552
556/* 553/*
diff --git a/arch/ia64/sn/kernel/bte.c b/arch/ia64/sn/kernel/bte.c
index c6d6b62db66c..cad775a1a157 100644
--- a/arch/ia64/sn/kernel/bte.c
+++ b/arch/ia64/sn/kernel/bte.c
@@ -19,6 +19,7 @@
19#include <linux/bootmem.h> 19#include <linux/bootmem.h>
20#include <linux/string.h> 20#include <linux/string.h>
21#include <linux/sched.h> 21#include <linux/sched.h>
22#include <linux/slab.h>
22 23
23#include <asm/sn/bte.h> 24#include <asm/sn/bte.h>
24 25
diff --git a/arch/ia64/sn/kernel/io_acpi_init.c b/arch/ia64/sn/kernel/io_acpi_init.c
index 66f633bff059..8cdcb173a138 100644
--- a/arch/ia64/sn/kernel/io_acpi_init.c
+++ b/arch/ia64/sn/kernel/io_acpi_init.c
@@ -13,6 +13,7 @@
13#include <asm/sn/sn_sal.h> 13#include <asm/sn/sn_sal.h>
14#include "xtalk/hubdev.h" 14#include "xtalk/hubdev.h"
15#include <linux/acpi.h> 15#include <linux/acpi.h>
16#include <linux/slab.h>
16 17
17 18
18/* 19/*
diff --git a/arch/ia64/sn/kernel/io_common.c b/arch/ia64/sn/kernel/io_common.c
index 308e6595110e..4433dd019d3c 100644
--- a/arch/ia64/sn/kernel/io_common.c
+++ b/arch/ia64/sn/kernel/io_common.c
@@ -7,6 +7,7 @@
7 */ 7 */
8 8
9#include <linux/bootmem.h> 9#include <linux/bootmem.h>
10#include <linux/slab.h>
10#include <asm/sn/types.h> 11#include <asm/sn/types.h>
11#include <asm/sn/addrs.h> 12#include <asm/sn/addrs.h>
12#include <asm/sn/sn_feature_sets.h> 13#include <asm/sn/sn_feature_sets.h>
diff --git a/arch/ia64/sn/kernel/io_init.c b/arch/ia64/sn/kernel/io_init.c
index ee774c366a06..98079f29d9a9 100644
--- a/arch/ia64/sn/kernel/io_init.c
+++ b/arch/ia64/sn/kernel/io_init.c
@@ -6,6 +6,7 @@
6 * Copyright (C) 1992 - 1997, 2000-2006 Silicon Graphics, Inc. All rights reserved. 6 * Copyright (C) 1992 - 1997, 2000-2006 Silicon Graphics, Inc. All rights reserved.
7 */ 7 */
8 8
9#include <linux/slab.h>
9#include <asm/sn/types.h> 10#include <asm/sn/types.h>
10#include <asm/sn/addrs.h> 11#include <asm/sn/addrs.h>
11#include <asm/sn/io.h> 12#include <asm/sn/io.h>
diff --git a/arch/ia64/sn/kernel/irq.c b/arch/ia64/sn/kernel/irq.c
index 40d6eeda1c4b..13c15d968098 100644
--- a/arch/ia64/sn/kernel/irq.c
+++ b/arch/ia64/sn/kernel/irq.c
@@ -12,6 +12,7 @@
12#include <linux/spinlock.h> 12#include <linux/spinlock.h>
13#include <linux/init.h> 13#include <linux/init.h>
14#include <linux/rculist.h> 14#include <linux/rculist.h>
15#include <linux/slab.h>
15#include <asm/sn/addrs.h> 16#include <asm/sn/addrs.h>
16#include <asm/sn/arch.h> 17#include <asm/sn/arch.h>
17#include <asm/sn/intr.h> 18#include <asm/sn/intr.h>
diff --git a/arch/ia64/sn/kernel/msi_sn.c b/arch/ia64/sn/kernel/msi_sn.c
index fbbfb9701201..0c72dd463831 100644
--- a/arch/ia64/sn/kernel/msi_sn.c
+++ b/arch/ia64/sn/kernel/msi_sn.c
@@ -11,6 +11,7 @@
11#include <linux/pci.h> 11#include <linux/pci.h>
12#include <linux/cpumask.h> 12#include <linux/cpumask.h>
13#include <linux/msi.h> 13#include <linux/msi.h>
14#include <linux/slab.h>
14 15
15#include <asm/sn/addrs.h> 16#include <asm/sn/addrs.h>
16#include <asm/sn/intr.h> 17#include <asm/sn/intr.h>
@@ -174,7 +175,7 @@ static int sn_set_msi_irq_affinity(unsigned int irq,
174 * Release XIO resources for the old MSI PCI address 175 * Release XIO resources for the old MSI PCI address
175 */ 176 */
176 177
177 read_msi_msg(irq, &msg); 178 get_cached_msi_msg(irq, &msg);
178 sn_pdev = (struct pcidev_info *)sn_irq_info->irq_pciioinfo; 179 sn_pdev = (struct pcidev_info *)sn_irq_info->irq_pciioinfo;
179 pdev = sn_pdev->pdi_linux_pcidev; 180 pdev = sn_pdev->pdi_linux_pcidev;
180 provider = SN_PCIDEV_BUSPROVIDER(pdev); 181 provider = SN_PCIDEV_BUSPROVIDER(pdev);
diff --git a/arch/ia64/sn/kernel/setup.c b/arch/ia64/sn/kernel/setup.c
index ece1bf994499..dbc4cbecb5ed 100644
--- a/arch/ia64/sn/kernel/setup.c
+++ b/arch/ia64/sn/kernel/setup.c
@@ -71,7 +71,7 @@ EXPORT_SYMBOL(sn_rtc_cycles_per_second);
71DEFINE_PER_CPU(struct sn_hub_info_s, __sn_hub_info); 71DEFINE_PER_CPU(struct sn_hub_info_s, __sn_hub_info);
72EXPORT_PER_CPU_SYMBOL(__sn_hub_info); 72EXPORT_PER_CPU_SYMBOL(__sn_hub_info);
73 73
74DEFINE_PER_CPU(short [MAX_COMPACT_NODES], __sn_cnodeid_to_nasid); 74DEFINE_PER_CPU(short, __sn_cnodeid_to_nasid[MAX_COMPACT_NODES]);
75EXPORT_PER_CPU_SYMBOL(__sn_cnodeid_to_nasid); 75EXPORT_PER_CPU_SYMBOL(__sn_cnodeid_to_nasid);
76 76
77DEFINE_PER_CPU(struct nodepda_s *, __sn_nodepda); 77DEFINE_PER_CPU(struct nodepda_s *, __sn_nodepda);
@@ -241,7 +241,7 @@ static void __cpuinit sn_check_for_wars(void)
241 * Note: This stuff is duped here because Altix requires the PCDP to 241 * Note: This stuff is duped here because Altix requires the PCDP to
242 * locate a usable VGA device due to lack of proper ACPI support. Structures 242 * locate a usable VGA device due to lack of proper ACPI support. Structures
243 * could be used from drivers/firmware/pcdp.h, but it was decided that moving 243 * could be used from drivers/firmware/pcdp.h, but it was decided that moving
244 * this file to a more public location just for Altix use was undesireable. 244 * this file to a more public location just for Altix use was undesirable.
245 */ 245 */
246 246
247struct hcdp_uart_desc { 247struct hcdp_uart_desc {
@@ -507,7 +507,7 @@ static void __init sn_init_pdas(char **cmdline_p)
507 cnodeid_t cnode; 507 cnodeid_t cnode;
508 508
509 /* 509 /*
510 * Allocate & initalize the nodepda for each node. 510 * Allocate & initialize the nodepda for each node.
511 */ 511 */
512 for_each_online_node(cnode) { 512 for_each_online_node(cnode) {
513 nodepdaindr[cnode] = 513 nodepdaindr[cnode] =
diff --git a/arch/ia64/sn/kernel/sn2/sn_hwperf.c b/arch/ia64/sn/kernel/sn2/sn_hwperf.c
index 55ac3c4e11d2..fa1eceed0d23 100644
--- a/arch/ia64/sn/kernel/sn2/sn_hwperf.c
+++ b/arch/ia64/sn/kernel/sn2/sn_hwperf.c
@@ -30,7 +30,6 @@
30#include <linux/miscdevice.h> 30#include <linux/miscdevice.h>
31#include <linux/utsname.h> 31#include <linux/utsname.h>
32#include <linux/cpumask.h> 32#include <linux/cpumask.h>
33#include <linux/smp_lock.h>
34#include <linux/nodemask.h> 33#include <linux/nodemask.h>
35#include <linux/smp.h> 34#include <linux/smp.h>
36#include <linux/mutex.h> 35#include <linux/mutex.h>
@@ -629,9 +628,9 @@ static int sn_hwperf_op_cpu(struct sn_hwperf_op_info *op_info)
629 else { 628 else {
630 /* migrate the task before calling SAL */ 629 /* migrate the task before calling SAL */
631 save_allowed = current->cpus_allowed; 630 save_allowed = current->cpus_allowed;
632 set_cpus_allowed(current, cpumask_of_cpu(cpu)); 631 set_cpus_allowed_ptr(current, cpumask_of(cpu));
633 sn_hwperf_call_sal(op_info); 632 sn_hwperf_call_sal(op_info);
634 set_cpus_allowed(current, save_allowed); 633 set_cpus_allowed_ptr(current, &save_allowed);
635 } 634 }
636 } 635 }
637 r = op_info->ret; 636 r = op_info->ret;
@@ -682,8 +681,7 @@ static int sn_hwperf_map_err(int hwperf_err)
682/* 681/*
683 * ioctl for "sn_hwperf" misc device 682 * ioctl for "sn_hwperf" misc device
684 */ 683 */
685static int 684static long sn_hwperf_ioctl(struct file *fp, u32 op, unsigned long arg)
686sn_hwperf_ioctl(struct inode *in, struct file *fp, u32 op, unsigned long arg)
687{ 685{
688 struct sn_hwperf_ioctl_args a; 686 struct sn_hwperf_ioctl_args a;
689 struct cpuinfo_ia64 *cdata; 687 struct cpuinfo_ia64 *cdata;
@@ -699,8 +697,6 @@ sn_hwperf_ioctl(struct inode *in, struct file *fp, u32 op, unsigned long arg)
699 int i; 697 int i;
700 int j; 698 int j;
701 699
702 unlock_kernel();
703
704 /* only user requests are allowed here */ 700 /* only user requests are allowed here */
705 if ((op & SN_HWPERF_OP_MASK) < 10) { 701 if ((op & SN_HWPERF_OP_MASK) < 10) {
706 r = -EINVAL; 702 r = -EINVAL;
@@ -859,12 +855,11 @@ sn_hwperf_ioctl(struct inode *in, struct file *fp, u32 op, unsigned long arg)
859error: 855error:
860 vfree(p); 856 vfree(p);
861 857
862 lock_kernel();
863 return r; 858 return r;
864} 859}
865 860
866static const struct file_operations sn_hwperf_fops = { 861static const struct file_operations sn_hwperf_fops = {
867 .ioctl = sn_hwperf_ioctl, 862 .unlocked_ioctl = sn_hwperf_ioctl,
868}; 863};
869 864
870static struct miscdevice sn_hwperf_dev = { 865static struct miscdevice sn_hwperf_dev = {
diff --git a/arch/ia64/sn/pci/pci_dma.c b/arch/ia64/sn/pci/pci_dma.c
index 98b684928e12..a9d310de57da 100644
--- a/arch/ia64/sn/pci/pci_dma.c
+++ b/arch/ia64/sn/pci/pci_dma.c
@@ -9,6 +9,7 @@
9 * a description of how these routines should be used. 9 * a description of how these routines should be used.
10 */ 10 */
11 11
12#include <linux/gfp.h>
12#include <linux/module.h> 13#include <linux/module.h>
13#include <linux/dma-mapping.h> 14#include <linux/dma-mapping.h>
14#include <asm/dma.h> 15#include <asm/dma.h>
diff --git a/arch/ia64/sn/pci/pcibr/pcibr_provider.c b/arch/ia64/sn/pci/pcibr/pcibr_provider.c
index d13e5a22a558..3cb5cf377644 100644
--- a/arch/ia64/sn/pci/pcibr/pcibr_provider.c
+++ b/arch/ia64/sn/pci/pcibr/pcibr_provider.c
@@ -8,6 +8,7 @@
8 8
9#include <linux/interrupt.h> 9#include <linux/interrupt.h>
10#include <linux/types.h> 10#include <linux/types.h>
11#include <linux/slab.h>
11#include <linux/pci.h> 12#include <linux/pci.h>
12#include <asm/sn/addrs.h> 13#include <asm/sn/addrs.h>
13#include <asm/sn/geo.h> 14#include <asm/sn/geo.h>
diff --git a/arch/ia64/sn/pci/tioca_provider.c b/arch/ia64/sn/pci/tioca_provider.c
index efb454534e52..4d4536e3b6f3 100644
--- a/arch/ia64/sn/pci/tioca_provider.c
+++ b/arch/ia64/sn/pci/tioca_provider.c
@@ -10,6 +10,7 @@
10#include <linux/interrupt.h> 10#include <linux/interrupt.h>
11#include <linux/pci.h> 11#include <linux/pci.h>
12#include <linux/bitmap.h> 12#include <linux/bitmap.h>
13#include <linux/slab.h>
13#include <asm/sn/sn_sal.h> 14#include <asm/sn/sn_sal.h>
14#include <asm/sn/addrs.h> 15#include <asm/sn/addrs.h>
15#include <asm/sn/io.h> 16#include <asm/sn/io.h>
diff --git a/arch/ia64/sn/pci/tioce_provider.c b/arch/ia64/sn/pci/tioce_provider.c
index 012f3b82ee55..27faba035f3a 100644
--- a/arch/ia64/sn/pci/tioce_provider.c
+++ b/arch/ia64/sn/pci/tioce_provider.c
@@ -8,6 +8,7 @@
8 8
9#include <linux/types.h> 9#include <linux/types.h>
10#include <linux/interrupt.h> 10#include <linux/interrupt.h>
11#include <linux/slab.h>
11#include <linux/pci.h> 12#include <linux/pci.h>
12#include <asm/sn/sn_sal.h> 13#include <asm/sn/sn_sal.h>
13#include <asm/sn/addrs.h> 14#include <asm/sn/addrs.h>
diff --git a/arch/ia64/uv/kernel/setup.c b/arch/ia64/uv/kernel/setup.c
index 7a5ae633198b..f1490657bafc 100644
--- a/arch/ia64/uv/kernel/setup.c
+++ b/arch/ia64/uv/kernel/setup.c
@@ -104,7 +104,7 @@ void __init uv_setup(char **cmdline_p)
104 uv_cpu_hub_info(cpu)->lowmem_remap_top = 104 uv_cpu_hub_info(cpu)->lowmem_remap_top =
105 lowmem_redir_base + lowmem_redir_size; 105 lowmem_redir_base + lowmem_redir_size;
106 uv_cpu_hub_info(cpu)->m_val = m_val; 106 uv_cpu_hub_info(cpu)->m_val = m_val;
107 uv_cpu_hub_info(cpu)->n_val = m_val; 107 uv_cpu_hub_info(cpu)->n_val = n_val;
108 uv_cpu_hub_info(cpu)->pnode_mask = (1 << n_val) -1; 108 uv_cpu_hub_info(cpu)->pnode_mask = (1 << n_val) -1;
109 uv_cpu_hub_info(cpu)->gpa_mask = (1 << (m_val + n_val)) - 1; 109 uv_cpu_hub_info(cpu)->gpa_mask = (1 << (m_val + n_val)) - 1;
110 uv_cpu_hub_info(cpu)->gnode_upper = gnode_upper; 110 uv_cpu_hub_info(cpu)->gnode_upper = gnode_upper;
diff --git a/arch/ia64/xen/grant-table.c b/arch/ia64/xen/grant-table.c
index 777dd9a9108b..48cca37625eb 100644
--- a/arch/ia64/xen/grant-table.c
+++ b/arch/ia64/xen/grant-table.c
@@ -22,6 +22,7 @@
22 22
23#include <linux/module.h> 23#include <linux/module.h>
24#include <linux/vmalloc.h> 24#include <linux/vmalloc.h>
25#include <linux/slab.h>
25#include <linux/mm.h> 26#include <linux/mm.h>
26 27
27#include <xen/interface/xen.h> 28#include <xen/interface/xen.h>
diff --git a/arch/ia64/xen/hypercall.S b/arch/ia64/xen/hypercall.S
index e32dae444dd6..08847aa12583 100644
--- a/arch/ia64/xen/hypercall.S
+++ b/arch/ia64/xen/hypercall.S
@@ -58,11 +58,6 @@ __HCALL2(xen_ptcga, HYPERPRIVOP_PTC_GA)
58__HCALL2(xen_set_rr, HYPERPRIVOP_SET_RR) 58__HCALL2(xen_set_rr, HYPERPRIVOP_SET_RR)
59__HCALL2(xen_set_kr, HYPERPRIVOP_SET_KR) 59__HCALL2(xen_set_kr, HYPERPRIVOP_SET_KR)
60 60
61#ifdef CONFIG_IA32_SUPPORT
62__HCALL0(xen_get_eflag, HYPERPRIVOP_GET_EFLAG)
63__HCALL1(xen_set_eflag, HYPERPRIVOP_SET_EFLAG) // refer SDM vol1 3.1.8
64#endif /* CONFIG_IA32_SUPPORT */
65
66GLOBAL_ENTRY(xen_set_rr0_to_rr4) 61GLOBAL_ENTRY(xen_set_rr0_to_rr4)
67 mov r8=r32 62 mov r8=r32
68 mov r9=r33 63 mov r9=r33
diff --git a/arch/ia64/xen/xen_pv_ops.c b/arch/ia64/xen/xen_pv_ops.c
index 5e2270a999fa..8adc6a14272a 100644
--- a/arch/ia64/xen/xen_pv_ops.c
+++ b/arch/ia64/xen/xen_pv_ops.c
@@ -301,11 +301,6 @@ static void xen_setreg(int regnum, unsigned long val)
301 case _IA64_REG_AR_KR0 ... _IA64_REG_AR_KR7: 301 case _IA64_REG_AR_KR0 ... _IA64_REG_AR_KR7:
302 xen_set_kr(regnum - _IA64_REG_AR_KR0, val); 302 xen_set_kr(regnum - _IA64_REG_AR_KR0, val);
303 break; 303 break;
304#ifdef CONFIG_IA32_SUPPORT
305 case _IA64_REG_AR_EFLAG:
306 xen_set_eflag(val);
307 break;
308#endif
309 case _IA64_REG_AR_ITC: 304 case _IA64_REG_AR_ITC:
310 xen_set_itc(val); 305 xen_set_itc(val);
311 break; 306 break;
@@ -332,11 +327,6 @@ static unsigned long xen_getreg(int regnum)
332 case _IA64_REG_PSR: 327 case _IA64_REG_PSR:
333 res = xen_get_psr(); 328 res = xen_get_psr();
334 break; 329 break;
335#ifdef CONFIG_IA32_SUPPORT
336 case _IA64_REG_AR_EFLAG:
337 res = xen_get_eflag();
338 break;
339#endif
340 case _IA64_REG_AR_ITC: 330 case _IA64_REG_AR_ITC:
341 res = xen_get_itc(); 331 res = xen_get_itc();
342 break; 332 break;
@@ -710,9 +700,6 @@ extern unsigned long xen_getreg(int regnum);
710 700
711__DEFINE_FUNC(getreg, 701__DEFINE_FUNC(getreg,
712 __DEFINE_GET_REG(PSR, PSR) 702 __DEFINE_GET_REG(PSR, PSR)
713#ifdef CONFIG_IA32_SUPPORT
714 __DEFINE_GET_REG(AR_EFLAG, EFLAG)
715#endif
716 703
717 /* get_itc */ 704 /* get_itc */
718 "mov r2 = " __stringify(_IA64_REG_AR_ITC) "\n" 705 "mov r2 = " __stringify(_IA64_REG_AR_ITC) "\n"
@@ -789,9 +776,6 @@ __DEFINE_FUNC(setreg,
789 ";;\n" 776 ";;\n"
790 "(p6) br.cond.spnt xen_set_itc\n" 777 "(p6) br.cond.spnt xen_set_itc\n"
791 778
792#ifdef CONFIG_IA32_SUPPORT
793 __DEFINE_SET_REG(AR_EFLAG, SET_EFLAG)
794#endif
795 __DEFINE_SET_REG(CR_TPR, SET_TPR) 779 __DEFINE_SET_REG(CR_TPR, SET_TPR)
796 __DEFINE_SET_REG(CR_EOI, EOI) 780 __DEFINE_SET_REG(CR_EOI, EOI)
797 781