aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/alpha/Kconfig4
-rw-r--r--arch/alpha/kernel/time.c11
-rw-r--r--arch/alpha/kernel/vmlinux.lds.S2
-rw-r--r--arch/arm/Kconfig9
-rw-r--r--arch/arm/kernel/time.c10
-rw-r--r--arch/arm/kernel/vmlinux.lds.S2
-rw-r--r--arch/arm26/Kconfig4
-rw-r--r--arch/arm26/kernel/ecard.c2
-rw-r--r--arch/arm26/kernel/time.c8
-rw-r--r--arch/arm26/kernel/vmlinux-arm26-xip.lds.in2
-rw-r--r--arch/arm26/kernel/vmlinux-arm26.lds.in2
-rw-r--r--arch/avr32/kernel/time.c9
-rw-r--r--arch/avr32/kernel/vmlinux.lds.c2
-rw-r--r--arch/cris/Kconfig7
-rw-r--r--arch/cris/arch-v10/drivers/axisflashmap.c3
-rw-r--r--arch/cris/arch-v10/kernel/time.c1
-rw-r--r--arch/cris/arch-v10/mm/tlb.c9
-rw-r--r--arch/cris/arch-v10/vmlinux.lds.S4
-rw-r--r--arch/cris/arch-v32/mm/tlb.c9
-rw-r--r--arch/cris/arch-v32/vmlinux.lds.S2
-rw-r--r--arch/cris/kernel/time.c9
-rw-r--r--arch/cris/mm/tlb.c3
-rw-r--r--arch/frv/Kconfig4
-rw-r--r--arch/frv/kernel/vmlinux.lds.S2
-rw-r--r--arch/h8300/Kconfig7
-rw-r--r--arch/h8300/kernel/Makefile4
-rw-r--r--arch/h8300/kernel/time.c6
-rw-r--r--arch/h8300/kernel/vmlinux.lds.S2
-rw-r--r--arch/i386/Kconfig4
-rw-r--r--arch/i386/kernel/vmlinux.lds.S2
-rw-r--r--arch/i386/mm/fault.c26
-rw-r--r--arch/i386/mm/highmem.c7
-rw-r--r--arch/ia64/Kconfig4
-rw-r--r--arch/ia64/ia32/binfmt_elf32.c13
-rw-r--r--arch/ia64/ia32/ia32_entry.S2
-rw-r--r--arch/ia64/ia32/sys_ia32.c68
-rw-r--r--arch/ia64/kernel/perfmon.c3
-rw-r--r--arch/ia64/kernel/traps.c30
-rw-r--r--arch/ia64/kernel/vmlinux.lds.S2
-rw-r--r--arch/ia64/mm/contig.c4
-rw-r--r--arch/ia64/mm/discontig.c6
-rw-r--r--arch/ia64/mm/init.c8
-rw-r--r--arch/ia64/sn/kernel/sn2/sn_proc_fs.c105
-rw-r--r--arch/m32r/Kconfig7
-rw-r--r--arch/m32r/Makefile2
-rw-r--r--arch/m32r/defconfig525
-rw-r--r--arch/m32r/kernel/head.S2
-rw-r--r--arch/m32r/kernel/process.c2
-rw-r--r--arch/m32r/kernel/signal.c26
-rw-r--r--arch/m32r/kernel/time.c8
-rw-r--r--arch/m32r/kernel/vmlinux.lds.S9
-rw-r--r--arch/m32r/lib/ashxdi3.S3
-rw-r--r--arch/m32r/lib/checksum.S3
-rw-r--r--arch/m32r/lib/delay.c2
-rw-r--r--arch/m32r/lib/memcpy.S2
-rw-r--r--arch/m32r/lib/memset.S2
-rw-r--r--arch/m32r/lib/strlen.S2
-rw-r--r--arch/m32r/m32104ut/defconfig.m32104ut752
-rw-r--r--arch/m32r/m32700ut/defconfig.m32700ut.smp519
-rw-r--r--arch/m32r/m32700ut/defconfig.m32700ut.up516
-rw-r--r--arch/m32r/mappi/defconfig.nommu366
-rw-r--r--arch/m32r/mappi/defconfig.smp382
-rw-r--r--arch/m32r/mappi/defconfig.up380
-rw-r--r--arch/m32r/mappi2/defconfig.opsp883
-rw-r--r--arch/m32r/mappi2/defconfig.vdec2388
-rw-r--r--arch/m32r/mappi3/defconfig.smp373
-rw-r--r--arch/m32r/mm/fault-nommu.c29
-rw-r--r--arch/m32r/mm/fault.c66
-rw-r--r--arch/m32r/mm/mmu.S5
-rw-r--r--arch/m32r/oaks32r/defconfig.nommu348
-rw-r--r--arch/m32r/opsput/defconfig.opsput383
-rw-r--r--arch/m68k/Kconfig7
-rw-r--r--arch/m68k/kernel/Makefile4
-rw-r--r--arch/m68k/kernel/ptrace.c4
-rw-r--r--arch/m68k/kernel/time.c9
-rw-r--r--arch/m68k/kernel/traps.c2
-rw-r--r--arch/m68k/kernel/vmlinux-std.lds2
-rw-r--r--arch/m68k/kernel/vmlinux-sun3.lds2
-rw-r--r--arch/m68knommu/Kconfig7
-rw-r--r--arch/m68knommu/kernel/ptrace.c4
-rw-r--r--arch/m68knommu/kernel/time.c9
-rw-r--r--arch/m68knommu/kernel/traps.c2
-rw-r--r--arch/m68knommu/kernel/vmlinux.lds.S2
-rw-r--r--arch/mips/Kconfig4
-rw-r--r--arch/mips/kernel/linux32.c44
-rw-r--r--arch/mips/kernel/scall64-n32.S2
-rw-r--r--arch/mips/kernel/scall64-o32.S2
-rw-r--r--arch/mips/kernel/time.c5
-rw-r--r--arch/mips/kernel/vmlinux.lds.S2
-rw-r--r--arch/mips/mm/cache.c2
-rw-r--r--arch/mips/philips/pnx8550/common/proc.c7
-rw-r--r--arch/parisc/Kconfig3
-rw-r--r--arch/parisc/kernel/sys_parisc32.c64
-rw-r--r--arch/parisc/kernel/syscall_table.S2
-rw-r--r--arch/parisc/kernel/time.c11
-rw-r--r--arch/parisc/kernel/vmlinux.lds.S2
-rw-r--r--arch/parisc/mm/init.c4
-rw-r--r--arch/powerpc/Kconfig4
-rw-r--r--arch/powerpc/kernel/proc_ppc64.c1
-rw-r--r--arch/powerpc/kernel/rtas_flash.c1
-rw-r--r--arch/powerpc/kernel/sys_ppc32.c67
-rw-r--r--arch/powerpc/kernel/vmlinux.lds.S4
-rw-r--r--arch/powerpc/platforms/iseries/mf.c4
-rw-r--r--arch/powerpc/platforms/pseries/reconfig.c1
-rw-r--r--arch/ppc/Kconfig4
-rw-r--r--arch/ppc/kernel/vmlinux.lds.S2
-rw-r--r--arch/s390/Kconfig7
-rw-r--r--arch/s390/kernel/compat_linux.c45
-rw-r--r--arch/s390/kernel/compat_wrapper.S6
-rw-r--r--arch/s390/kernel/syscalls.S2
-rw-r--r--arch/s390/kernel/vmlinux.lds.S3
-rw-r--r--arch/s390/mm/Makefile2
-rw-r--r--arch/s390/mm/fault.c4
-rw-r--r--arch/s390/mm/ioremap.c58
-rw-r--r--arch/sh/kernel/time.c8
-rw-r--r--arch/sh/kernel/vmlinux.lds.S4
-rw-r--r--arch/sh/mm/init.c17
-rw-r--r--arch/sh64/Kconfig3
-rw-r--r--arch/sh64/kernel/time.c9
-rw-r--r--arch/sh64/kernel/vmlinux.lds.S4
-rw-r--r--arch/sh64/mm/init.c5
-rw-r--r--arch/sparc/Kconfig4
-rw-r--r--arch/sparc/kernel/Makefile4
-rw-r--r--arch/sparc/kernel/sunos_ioctl.c1
-rw-r--r--arch/sparc/kernel/time.c9
-rw-r--r--arch/sparc/kernel/vmlinux.lds.S4
-rw-r--r--arch/sparc64/Kconfig4
-rw-r--r--arch/sparc64/kernel/sunos_ioctl32.c1
-rw-r--r--arch/sparc64/kernel/sys_sparc32.c64
-rw-r--r--arch/sparc64/kernel/systbls.S2
-rw-r--r--arch/sparc64/kernel/vmlinux.lds.S4
-rw-r--r--arch/sparc64/mm/init.c4
-rw-r--r--arch/um/Kconfig3
-rw-r--r--arch/um/drivers/chan_kern.c103
-rw-r--r--arch/um/drivers/harddog_kern.c56
-rw-r--r--arch/um/drivers/harddog_user.c23
-rw-r--r--arch/um/drivers/hostaudio_kern.c169
-rw-r--r--arch/um/drivers/line.c207
-rw-r--r--arch/um/drivers/mconsole_kern.c62
-rw-r--r--arch/um/drivers/mconsole_user.c2
-rw-r--r--arch/um/drivers/net_kern.c172
-rw-r--r--arch/um/drivers/port_kern.c50
-rw-r--r--arch/um/drivers/port_user.c51
-rw-r--r--arch/um/drivers/random.c1
-rw-r--r--arch/um/drivers/ssl.c44
-rw-r--r--arch/um/drivers/stdio_console.c51
-rw-r--r--arch/um/drivers/ubd_kern.c231
-rw-r--r--arch/um/include/chan_kern.h5
-rw-r--r--arch/um/include/chan_user.h21
-rw-r--r--arch/um/include/kern_util.h5
-rw-r--r--arch/um/include/line.h57
-rw-r--r--arch/um/include/mconsole_kern.h17
-rw-r--r--arch/um/include/net_kern.h14
-rw-r--r--arch/um/include/os.h3
-rw-r--r--arch/um/include/sigio.h11
-rw-r--r--arch/um/include/tempfile.h10
-rw-r--r--arch/um/include/umid.h22
-rw-r--r--arch/um/kernel/Makefile2
-rw-r--r--arch/um/kernel/exec.c2
-rw-r--r--arch/um/kernel/irq.c7
-rw-r--r--arch/um/kernel/mem.c90
-rw-r--r--arch/um/kernel/physmem.c74
-rw-r--r--arch/um/kernel/ptrace.c7
-rw-r--r--arch/um/kernel/resource.c23
-rw-r--r--arch/um/kernel/sigio.c7
-rw-r--r--arch/um/kernel/skas/mem.c6
-rw-r--r--arch/um/kernel/syscall.c16
-rw-r--r--arch/um/kernel/sysrq.c2
-rw-r--r--arch/um/kernel/time.c24
-rw-r--r--arch/um/kernel/trap.c28
-rw-r--r--arch/um/kernel/tt/gdb.c4
-rw-r--r--arch/um/kernel/tt/gdb_kern.c5
-rw-r--r--arch/um/kernel/um_arch.c1
-rw-r--r--arch/um/kernel/umid.c4
-rw-r--r--arch/um/os-Linux/aio.c16
-rw-r--r--arch/um/os-Linux/elf_aux.c3
-rw-r--r--arch/um/os-Linux/file.c19
-rw-r--r--arch/um/os-Linux/irq.c6
-rw-r--r--arch/um/os-Linux/mem.c16
-rw-r--r--arch/um/os-Linux/start_up.c207
-rw-r--r--arch/um/os-Linux/sys-i386/registers.c14
-rw-r--r--arch/um/os-Linux/sys-x86_64/Makefile2
-rw-r--r--arch/um/os-Linux/sys-x86_64/prctl.c12
-rw-r--r--arch/um/os-Linux/sys-x86_64/registers.c6
-rw-r--r--arch/um/os-Linux/umid.c3
-rw-r--r--arch/um/sys-x86_64/ptrace.c5
-rw-r--r--arch/um/sys-x86_64/syscalls.c75
-rw-r--r--arch/um/sys-x86_64/tls.c11
-rw-r--r--arch/v850/Kconfig3
-rw-r--r--arch/v850/kernel/anna.c2
-rw-r--r--arch/v850/kernel/as85ep1.c2
-rw-r--r--arch/v850/kernel/fpga85e2c.c2
-rw-r--r--arch/v850/kernel/gbus_int.c6
-rw-r--r--arch/v850/kernel/ma.c2
-rw-r--r--arch/v850/kernel/me2.c2
-rw-r--r--arch/v850/kernel/rte_cb.c4
-rw-r--r--arch/v850/kernel/rte_mb_a_pci.c3
-rw-r--r--arch/v850/kernel/rte_me2_cb.c3
-rw-r--r--arch/v850/kernel/teg.c2
-rw-r--r--arch/v850/kernel/time.c8
-rw-r--r--arch/v850/kernel/vmlinux.lds.S4
-rw-r--r--arch/x86_64/Kconfig4
-rw-r--r--arch/x86_64/ia32/ia32_binfmt.c4
-rw-r--r--arch/x86_64/ia32/ia32entry.S2
-rw-r--r--arch/x86_64/ia32/sys_ia32.c66
-rw-r--r--arch/x86_64/kernel/mce_amd.c2
-rw-r--r--arch/x86_64/kernel/vmlinux.lds.S4
-rw-r--r--arch/x86_64/mm/fault.c21
-rw-r--r--arch/xtensa/Kconfig7
-rw-r--r--arch/xtensa/kernel/time.c9
-rw-r--r--arch/xtensa/kernel/vmlinux.lds.S2
211 files changed, 5830 insertions, 3403 deletions
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 84caf50725b5..770f717bd250 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -41,6 +41,10 @@ config GENERIC_CALIBRATE_DELAY
41 bool 41 bool
42 default y 42 default y
43 43
44config ZONE_DMA
45 bool
46 default y
47
44config GENERIC_ISA_DMA 48config GENERIC_ISA_DMA
45 bool 49 bool
46 default y 50 default y
diff --git a/arch/alpha/kernel/time.c b/arch/alpha/kernel/time.c
index d7053eb4ffcf..4748e14a28bc 100644
--- a/arch/alpha/kernel/time.c
+++ b/arch/alpha/kernel/time.c
@@ -91,17 +91,6 @@ static inline __u32 rpcc(void)
91} 91}
92 92
93/* 93/*
94 * Scheduler clock - returns current time in nanosec units.
95 *
96 * Copied from ARM code for expediency... ;-}
97 */
98unsigned long long sched_clock(void)
99{
100 return (unsigned long long)jiffies * (1000000000 / HZ);
101}
102
103
104/*
105 * timer_interrupt() needs to keep up the real-time clock, 94 * timer_interrupt() needs to keep up the real-time clock,
106 * as well as call the "do_timer()" routine every clocktick 95 * as well as call the "do_timer()" routine every clocktick
107 */ 96 */
diff --git a/arch/alpha/kernel/vmlinux.lds.S b/arch/alpha/kernel/vmlinux.lds.S
index 76bf071e376c..4cc44bd33d33 100644
--- a/arch/alpha/kernel/vmlinux.lds.S
+++ b/arch/alpha/kernel/vmlinux.lds.S
@@ -52,10 +52,12 @@ SECTIONS
52 } 52 }
53 __initcall_end = .; 53 __initcall_end = .;
54 54
55#ifdef CONFIG_BLK_DEV_INITRD
55 . = ALIGN(8192); 56 . = ALIGN(8192);
56 __initramfs_start = .; 57 __initramfs_start = .;
57 .init.ramfs : { *(.init.ramfs) } 58 .init.ramfs : { *(.init.ramfs) }
58 __initramfs_end = .; 59 __initramfs_end = .;
60#endif
59 61
60 . = ALIGN(8); 62 . = ALIGN(8);
61 .con_initcall.init : { 63 .con_initcall.init : {
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 1523046e092b..5c795193ebba 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -29,6 +29,10 @@ config MMU
29 bool 29 bool
30 default y 30 default y
31 31
32config NO_IOPORT
33 bool
34 default n
35
32config EISA 36config EISA
33 bool 37 bool
34 ---help--- 38 ---help---
@@ -100,6 +104,10 @@ config GENERIC_BUST_SPINLOCK
100config ARCH_MAY_HAVE_PC_FDC 104config ARCH_MAY_HAVE_PC_FDC
101 bool 105 bool
102 106
107config ZONE_DMA
108 bool
109 default y
110
103config GENERIC_ISA_DMA 111config GENERIC_ISA_DMA
104 bool 112 bool
105 113
@@ -294,6 +302,7 @@ config ARCH_RPC
294 select TIMER_ACORN 302 select TIMER_ACORN
295 select ARCH_MAY_HAVE_PC_FDC 303 select ARCH_MAY_HAVE_PC_FDC
296 select ISA_DMA_API 304 select ISA_DMA_API
305 select NO_IOPORT
297 help 306 help
298 On the Acorn Risc-PC, Linux can support the internal IDE disk and 307 On the Acorn Risc-PC, Linux can support the internal IDE disk and
299 CD-ROM interface, serial and parallel port, and the floppy drive. 308 CD-ROM interface, serial and parallel port, and the floppy drive.
diff --git a/arch/arm/kernel/time.c b/arch/arm/kernel/time.c
index 3c8cdcfe8d4a..ee47c532e210 100644
--- a/arch/arm/kernel/time.c
+++ b/arch/arm/kernel/time.c
@@ -78,16 +78,6 @@ static unsigned long dummy_gettimeoffset(void)
78#endif 78#endif
79 79
80/* 80/*
81 * Scheduler clock - returns current time in nanosec units.
82 * This is the default implementation. Sub-architecture
83 * implementations can override this.
84 */
85unsigned long long __attribute__((weak)) sched_clock(void)
86{
87 return (unsigned long long)jiffies * (1000000000 / HZ);
88}
89
90/*
91 * An implementation of printk_clock() independent from 81 * An implementation of printk_clock() independent from
92 * sched_clock(). This avoids non-bootable kernels when 82 * sched_clock(). This avoids non-bootable kernels when
93 * printk_clock is enabled. 83 * printk_clock is enabled.
diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S
index a8fa75ea07a9..b929a60f7547 100644
--- a/arch/arm/kernel/vmlinux.lds.S
+++ b/arch/arm/kernel/vmlinux.lds.S
@@ -53,10 +53,12 @@ SECTIONS
53 __security_initcall_start = .; 53 __security_initcall_start = .;
54 *(.security_initcall.init) 54 *(.security_initcall.init)
55 __security_initcall_end = .; 55 __security_initcall_end = .;
56#ifdef CONFIG_BLK_DEV_INITRD
56 . = ALIGN(32); 57 . = ALIGN(32);
57 __initramfs_start = .; 58 __initramfs_start = .;
58 usr/built-in.o(.init.ramfs) 59 usr/built-in.o(.init.ramfs)
59 __initramfs_end = .; 60 __initramfs_end = .;
61#endif
60 . = ALIGN(64); 62 . = ALIGN(64);
61 __per_cpu_start = .; 63 __per_cpu_start = .;
62 *(.data.percpu) 64 *(.data.percpu)
diff --git a/arch/arm26/Kconfig b/arch/arm26/Kconfig
index 74eba8b5a8ca..989113dce415 100644
--- a/arch/arm26/Kconfig
+++ b/arch/arm26/Kconfig
@@ -60,6 +60,10 @@ config GENERIC_CALIBRATE_DELAY
60config GENERIC_BUST_SPINLOCK 60config GENERIC_BUST_SPINLOCK
61 bool 61 bool
62 62
63config ZONE_DMA
64 bool
65 default y
66
63config GENERIC_ISA_DMA 67config GENERIC_ISA_DMA
64 bool 68 bool
65 69
diff --git a/arch/arm26/kernel/ecard.c b/arch/arm26/kernel/ecard.c
index 9dbc17247c6f..e2bcefc91cc3 100644
--- a/arch/arm26/kernel/ecard.c
+++ b/arch/arm26/kernel/ecard.c
@@ -665,7 +665,7 @@ ecard_probe(int slot, card_type_t type)
665 ec->fiqmask = 4; 665 ec->fiqmask = 4;
666 } 666 }
667 667
668 for (i = 0; i < sizeof(blacklist) / sizeof(*blacklist); i++) 668 for (i = 0; i < ARRAY_SIZE(blacklist); i++)
669 if (blacklist[i].manufacturer == ec->cid.manufacturer && 669 if (blacklist[i].manufacturer == ec->cid.manufacturer &&
670 blacklist[i].product == ec->cid.product) { 670 blacklist[i].product == ec->cid.product) {
671 ec->card_desc = blacklist[i].type; 671 ec->card_desc = blacklist[i].type;
diff --git a/arch/arm26/kernel/time.c b/arch/arm26/kernel/time.c
index 1206469b2b86..0f1d57fbd3d7 100644
--- a/arch/arm26/kernel/time.c
+++ b/arch/arm26/kernel/time.c
@@ -89,14 +89,6 @@ static unsigned long gettimeoffset(void)
89 return (offset + LATCH/2) / LATCH; 89 return (offset + LATCH/2) / LATCH;
90} 90}
91 91
92/*
93 * Scheduler clock - returns current time in nanosec units.
94 */
95unsigned long long sched_clock(void)
96{
97 return (unsigned long long)jiffies * (1000000000 / HZ);
98}
99
100static unsigned long next_rtc_update; 92static unsigned long next_rtc_update;
101 93
102/* 94/*
diff --git a/arch/arm26/kernel/vmlinux-arm26-xip.lds.in b/arch/arm26/kernel/vmlinux-arm26-xip.lds.in
index ca61ec8218fe..046a85054018 100644
--- a/arch/arm26/kernel/vmlinux-arm26-xip.lds.in
+++ b/arch/arm26/kernel/vmlinux-arm26-xip.lds.in
@@ -46,10 +46,12 @@ SECTIONS
46 __con_initcall_start = .; 46 __con_initcall_start = .;
47 *(.con_initcall.init) 47 *(.con_initcall.init)
48 __con_initcall_end = .; 48 __con_initcall_end = .;
49#ifdef CONFIG_BLK_DEV_INITRD
49 . = ALIGN(32); 50 . = ALIGN(32);
50 __initramfs_start = .; 51 __initramfs_start = .;
51 usr/built-in.o(.init.ramfs) 52 usr/built-in.o(.init.ramfs)
52 __initramfs_end = .; 53 __initramfs_end = .;
54#endif
53 . = ALIGN(32768); 55 . = ALIGN(32768);
54 __init_end = .; 56 __init_end = .;
55 } 57 }
diff --git a/arch/arm26/kernel/vmlinux-arm26.lds.in b/arch/arm26/kernel/vmlinux-arm26.lds.in
index d1d3418d7eb6..1d2949e83be8 100644
--- a/arch/arm26/kernel/vmlinux-arm26.lds.in
+++ b/arch/arm26/kernel/vmlinux-arm26.lds.in
@@ -47,10 +47,12 @@ SECTIONS
47 __con_initcall_start = .; 47 __con_initcall_start = .;
48 *(.con_initcall.init) 48 *(.con_initcall.init)
49 __con_initcall_end = .; 49 __con_initcall_end = .;
50#ifdef CONFIG_BLK_DEV_INITRD
50 . = ALIGN(32); 51 . = ALIGN(32);
51 __initramfs_start = .; 52 __initramfs_start = .;
52 usr/built-in.o(.init.ramfs) 53 usr/built-in.o(.init.ramfs)
53 __initramfs_end = .; 54 __initramfs_end = .;
55#endif
54 . = ALIGN(32768); 56 . = ALIGN(32768);
55 __init_end = .; 57 __init_end = .;
56 } 58 }
diff --git a/arch/avr32/kernel/time.c b/arch/avr32/kernel/time.c
index 5a247ba71a72..a2f74affaa98 100644
--- a/arch/avr32/kernel/time.c
+++ b/arch/avr32/kernel/time.c
@@ -110,15 +110,6 @@ static void avr32_hpt_init(unsigned int count)
110} 110}
111 111
112/* 112/*
113 * Scheduler clock - returns current time in nanosec units.
114 */
115unsigned long long sched_clock(void)
116{
117 /* There must be better ways...? */
118 return (unsigned long long)jiffies * (1000000000 / HZ);
119}
120
121/*
122 * local_timer_interrupt() does profiling and process accounting on a 113 * local_timer_interrupt() does profiling and process accounting on a
123 * per-CPU basis. 114 * per-CPU basis.
124 * 115 *
diff --git a/arch/avr32/kernel/vmlinux.lds.c b/arch/avr32/kernel/vmlinux.lds.c
index 5c4424e362b5..ef13b7c78935 100644
--- a/arch/avr32/kernel/vmlinux.lds.c
+++ b/arch/avr32/kernel/vmlinux.lds.c
@@ -46,10 +46,12 @@ SECTIONS
46 __security_initcall_start = .; 46 __security_initcall_start = .;
47 *(.security_initcall.init) 47 *(.security_initcall.init)
48 __security_initcall_end = .; 48 __security_initcall_end = .;
49#ifdef CONFIG_BLK_DEV_INITRD
49 . = ALIGN(32); 50 . = ALIGN(32);
50 __initramfs_start = .; 51 __initramfs_start = .;
51 *(.init.ramfs) 52 *(.init.ramfs)
52 __initramfs_end = .; 53 __initramfs_end = .;
54#endif
53 . = ALIGN(4096); 55 . = ALIGN(4096);
54 __init_end = .; 56 __init_end = .;
55 } 57 }
diff --git a/arch/cris/Kconfig b/arch/cris/Kconfig
index 3474309e049c..4b41248b61ad 100644
--- a/arch/cris/Kconfig
+++ b/arch/cris/Kconfig
@@ -9,6 +9,10 @@ config MMU
9 bool 9 bool
10 default y 10 default y
11 11
12config ZONE_DMA
13 bool
14 default y
15
12config RWSEM_GENERIC_SPINLOCK 16config RWSEM_GENERIC_SPINLOCK
13 bool 17 bool
14 default y 18 default y
@@ -40,6 +44,9 @@ config IRQ_PER_CPU
40 bool 44 bool
41 default y 45 default y
42 46
47config NO_IOPORT
48 def_bool y
49
43config CRIS 50config CRIS
44 bool 51 bool
45 default y 52 default y
diff --git a/arch/cris/arch-v10/drivers/axisflashmap.c b/arch/cris/arch-v10/drivers/axisflashmap.c
index ffade19a14e6..efd7b0f3a910 100644
--- a/arch/cris/arch-v10/drivers/axisflashmap.c
+++ b/arch/cris/arch-v10/drivers/axisflashmap.c
@@ -359,8 +359,7 @@ static struct mtd_info *flash_probe(void)
359 * So we use the MTD concatenation layer instead of further 359 * So we use the MTD concatenation layer instead of further
360 * complicating the probing procedure. 360 * complicating the probing procedure.
361 */ 361 */
362 mtd_cse = mtd_concat_create(mtds, 362 mtd_cse = mtd_concat_create(mtds, ARRAY_SIZE(mtds),
363 sizeof(mtds) / sizeof(mtds[0]),
364 "cse0+cse1"); 363 "cse0+cse1");
365#else 364#else
366 printk(KERN_ERR "%s and %s: Cannot concatenate due to kernel " 365 printk(KERN_ERR "%s and %s: Cannot concatenate due to kernel "
diff --git a/arch/cris/arch-v10/kernel/time.c b/arch/cris/arch-v10/kernel/time.c
index ebacf1457d91..077e973c33f0 100644
--- a/arch/cris/arch-v10/kernel/time.c
+++ b/arch/cris/arch-v10/kernel/time.c
@@ -38,7 +38,6 @@ unsigned long get_ns_in_jiffie(void)
38 unsigned long flags; 38 unsigned long flags;
39 39
40 local_irq_save(flags); 40 local_irq_save(flags);
41 local_irq_disable();
42 timer_count = *R_TIMER0_DATA; 41 timer_count = *R_TIMER0_DATA;
43 presc_count = *R_TIM_PRESC_STATUS; 42 presc_count = *R_TIM_PRESC_STATUS;
44 /* presc_count might be wrapped */ 43 /* presc_count might be wrapped */
diff --git a/arch/cris/arch-v10/mm/tlb.c b/arch/cris/arch-v10/mm/tlb.c
index 70a5523eff78..7d9fec88dee5 100644
--- a/arch/cris/arch-v10/mm/tlb.c
+++ b/arch/cris/arch-v10/mm/tlb.c
@@ -42,8 +42,7 @@ flush_tlb_all(void)
42 * in the same 4-way entry group. details.. 42 * in the same 4-way entry group. details..
43 */ 43 */
44 44
45 local_save_flags(flags); 45 local_irq_save(flags);
46 local_irq_disable();
47 for(i = 0; i < NUM_TLB_ENTRIES; i++) { 46 for(i = 0; i < NUM_TLB_ENTRIES; i++) {
48 *R_TLB_SELECT = ( IO_FIELD(R_TLB_SELECT, index, i) ); 47 *R_TLB_SELECT = ( IO_FIELD(R_TLB_SELECT, index, i) );
49 *R_TLB_HI = ( IO_FIELD(R_TLB_HI, page_id, INVALID_PAGEID ) | 48 *R_TLB_HI = ( IO_FIELD(R_TLB_HI, page_id, INVALID_PAGEID ) |
@@ -78,8 +77,7 @@ flush_tlb_mm(struct mm_struct *mm)
78 * global pages. is it worth the extra I/O ? 77 * global pages. is it worth the extra I/O ?
79 */ 78 */
80 79
81 local_save_flags(flags); 80 local_irq_save(flags);
82 local_irq_disable();
83 for(i = 0; i < NUM_TLB_ENTRIES; i++) { 81 for(i = 0; i < NUM_TLB_ENTRIES; i++) {
84 *R_TLB_SELECT = IO_FIELD(R_TLB_SELECT, index, i); 82 *R_TLB_SELECT = IO_FIELD(R_TLB_SELECT, index, i);
85 if (IO_EXTRACT(R_TLB_HI, page_id, *R_TLB_HI) == page_id) { 83 if (IO_EXTRACT(R_TLB_HI, page_id, *R_TLB_HI) == page_id) {
@@ -118,8 +116,7 @@ flush_tlb_page(struct vm_area_struct *vma,
118 * and the virtual address requested 116 * and the virtual address requested
119 */ 117 */
120 118
121 local_save_flags(flags); 119 local_irq_save(flags);
122 local_irq_disable();
123 for(i = 0; i < NUM_TLB_ENTRIES; i++) { 120 for(i = 0; i < NUM_TLB_ENTRIES; i++) {
124 unsigned long tlb_hi; 121 unsigned long tlb_hi;
125 *R_TLB_SELECT = IO_FIELD(R_TLB_SELECT, index, i); 122 *R_TLB_SELECT = IO_FIELD(R_TLB_SELECT, index, i);
diff --git a/arch/cris/arch-v10/vmlinux.lds.S b/arch/cris/arch-v10/vmlinux.lds.S
index 689729a7e66e..4b348b38cf33 100644
--- a/arch/cris/arch-v10/vmlinux.lds.S
+++ b/arch/cris/arch-v10/vmlinux.lds.S
@@ -82,7 +82,8 @@ SECTIONS
82 __con_initcall_end = .; 82 __con_initcall_end = .;
83 } 83 }
84 SECURITY_INIT 84 SECURITY_INIT
85 85
86#ifdef CONFIG_BLK_DEV_INITRD
86 .init.ramfs : { 87 .init.ramfs : {
87 __initramfs_start = .; 88 __initramfs_start = .;
88 *(.init.ramfs) 89 *(.init.ramfs)
@@ -93,6 +94,7 @@ SECTIONS
93 FILL (0); 94 FILL (0);
94 . = ALIGN (8192); 95 . = ALIGN (8192);
95 } 96 }
97#endif
96 98
97 __vmlinux_end = .; /* last address of the physical file */ 99 __vmlinux_end = .; /* last address of the physical file */
98 __init_end = .; 100 __init_end = .;
diff --git a/arch/cris/arch-v32/mm/tlb.c b/arch/cris/arch-v32/mm/tlb.c
index 9d75d7692303..c2d12e9c40d7 100644
--- a/arch/cris/arch-v32/mm/tlb.c
+++ b/arch/cris/arch-v32/mm/tlb.c
@@ -54,8 +54,7 @@ __flush_tlb_all(void)
54 * Mask with 0xf so similar TLB entries aren't written in the same 4-way 54 * Mask with 0xf so similar TLB entries aren't written in the same 4-way
55 * entry group. 55 * entry group.
56 */ 56 */
57 local_save_flags(flags); 57 local_irq_save(flags);
58 local_irq_disable();
59 58
60 for (mmu = 1; mmu <= 2; mmu++) { 59 for (mmu = 1; mmu <= 2; mmu++) {
61 SUPP_BANK_SEL(mmu); /* Select the MMU */ 60 SUPP_BANK_SEL(mmu); /* Select the MMU */
@@ -92,8 +91,7 @@ __flush_tlb_mm(struct mm_struct *mm)
92 return; 91 return;
93 92
94 /* Mark the TLB entries that match the page_id as invalid. */ 93 /* Mark the TLB entries that match the page_id as invalid. */
95 local_save_flags(flags); 94 local_irq_save(flags);
96 local_irq_disable();
97 95
98 for (mmu = 1; mmu <= 2; mmu++) { 96 for (mmu = 1; mmu <= 2; mmu++) {
99 SUPP_BANK_SEL(mmu); 97 SUPP_BANK_SEL(mmu);
@@ -140,8 +138,7 @@ __flush_tlb_page(struct vm_area_struct *vma, unsigned long addr)
140 * Invalidate those TLB entries that match both the mm context and the 138 * Invalidate those TLB entries that match both the mm context and the
141 * requested virtual address. 139 * requested virtual address.
142 */ 140 */
143 local_save_flags(flags); 141 local_irq_save(flags);
144 local_irq_disable();
145 142
146 for (mmu = 1; mmu <= 2; mmu++) { 143 for (mmu = 1; mmu <= 2; mmu++) {
147 SUPP_BANK_SEL(mmu); 144 SUPP_BANK_SEL(mmu);
diff --git a/arch/cris/arch-v32/vmlinux.lds.S b/arch/cris/arch-v32/vmlinux.lds.S
index 472d4b3c4cf4..e124fcd766d5 100644
--- a/arch/cris/arch-v32/vmlinux.lds.S
+++ b/arch/cris/arch-v32/vmlinux.lds.S
@@ -95,6 +95,7 @@ SECTIONS
95 .data.percpu : { *(.data.percpu) } 95 .data.percpu : { *(.data.percpu) }
96 __per_cpu_end = .; 96 __per_cpu_end = .;
97 97
98#ifdef CONFIG_BLK_DEV_INITRD
98 .init.ramfs : { 99 .init.ramfs : {
99 __initramfs_start = .; 100 __initramfs_start = .;
100 *(.init.ramfs) 101 *(.init.ramfs)
@@ -107,6 +108,7 @@ SECTIONS
107 FILL (0); 108 FILL (0);
108 . = ALIGN (8192); 109 . = ALIGN (8192);
109 } 110 }
111#endif
110 112
111 __vmlinux_end = .; /* Last address of the physical file. */ 113 __vmlinux_end = .; /* Last address of the physical file. */
112 __init_end = .; 114 __init_end = .;
diff --git a/arch/cris/kernel/time.c b/arch/cris/kernel/time.c
index 0f9213cbd48e..acfd04559405 100644
--- a/arch/cris/kernel/time.c
+++ b/arch/cris/kernel/time.c
@@ -55,7 +55,6 @@ void do_gettimeofday(struct timeval *tv)
55 unsigned long flags; 55 unsigned long flags;
56 signed long usec, sec; 56 signed long usec, sec;
57 local_irq_save(flags); 57 local_irq_save(flags);
58 local_irq_disable();
59 usec = do_gettimeoffset(); 58 usec = do_gettimeoffset();
60 59
61 /* 60 /*
@@ -217,14 +216,6 @@ cris_do_profile(struct pt_regs* regs)
217#endif 216#endif
218} 217}
219 218
220/*
221 * Scheduler clock - returns current time in nanosec units.
222 */
223unsigned long long sched_clock(void)
224{
225 return (unsigned long long)jiffies * (1000000000 / HZ);
226}
227
228static int 219static int
229__init init_udelay(void) 220__init init_udelay(void)
230{ 221{
diff --git a/arch/cris/mm/tlb.c b/arch/cris/mm/tlb.c
index 0df390a656cd..c4a98e2e529e 100644
--- a/arch/cris/mm/tlb.c
+++ b/arch/cris/mm/tlb.c
@@ -8,6 +8,7 @@
8 */ 8 */
9 9
10#include <linux/init.h> 10#include <linux/init.h>
11#include <linux/kernel.h>
11#include <asm/tlb.h> 12#include <asm/tlb.h>
12 13
13#define D(x) 14#define D(x)
@@ -100,7 +101,7 @@ tlb_init(void)
100 101
101 /* clear the page_id map */ 102 /* clear the page_id map */
102 103
103 for (i = 1; i < sizeof (page_id_map) / sizeof (page_id_map[0]); i++) 104 for (i = 1; i < ARRAY_SIZE(page_id_map); i++)
104 page_id_map[i] = NULL; 105 page_id_map[i] = NULL;
105 106
106 /* invalidate the entire TLB */ 107 /* invalidate the entire TLB */
diff --git a/arch/frv/Kconfig b/arch/frv/Kconfig
index 7561d7b72e75..cea237413aa2 100644
--- a/arch/frv/Kconfig
+++ b/arch/frv/Kconfig
@@ -6,6 +6,10 @@ config FRV
6 bool 6 bool
7 default y 7 default y
8 8
9config ZONE_DMA
10 bool
11 default y
12
9config RWSEM_GENERIC_SPINLOCK 13config RWSEM_GENERIC_SPINLOCK
10 bool 14 bool
11 default y 15 default y
diff --git a/arch/frv/kernel/vmlinux.lds.S b/arch/frv/kernel/vmlinux.lds.S
index 9c1fb12367fa..97910e016825 100644
--- a/arch/frv/kernel/vmlinux.lds.S
+++ b/arch/frv/kernel/vmlinux.lds.S
@@ -61,10 +61,12 @@ SECTIONS
61 .data.percpu : { *(.data.percpu) } 61 .data.percpu : { *(.data.percpu) }
62 __per_cpu_end = .; 62 __per_cpu_end = .;
63 63
64#ifdef CONFIG_BLK_DEV_INITRD
64 . = ALIGN(4096); 65 . = ALIGN(4096);
65 __initramfs_start = .; 66 __initramfs_start = .;
66 .init.ramfs : { *(.init.ramfs) } 67 .init.ramfs : { *(.init.ramfs) }
67 __initramfs_end = .; 68 __initramfs_end = .;
69#endif
68 70
69 . = ALIGN(THREAD_SIZE); 71 . = ALIGN(THREAD_SIZE);
70 __init_end = .; 72 __init_end = .;
diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig
index 34a84bc4baf5..1734d96422c6 100644
--- a/arch/h8300/Kconfig
+++ b/arch/h8300/Kconfig
@@ -17,6 +17,10 @@ config SWAP
17 bool 17 bool
18 default n 18 default n
19 19
20config ZONE_DMA
21 bool
22 default y
23
20config FPU 24config FPU
21 bool 25 bool
22 default n 26 default n
@@ -53,6 +57,9 @@ config TIME_LOW_RES
53 bool 57 bool
54 default y 58 default y
55 59
60config NO_IOPORT
61 def_bool y
62
56config ISA 63config ISA
57 bool 64 bool
58 default y 65 default y
diff --git a/arch/h8300/kernel/Makefile b/arch/h8300/kernel/Makefile
index 71b6131e98b8..4edbc2ef6ca2 100644
--- a/arch/h8300/kernel/Makefile
+++ b/arch/h8300/kernel/Makefile
@@ -6,6 +6,8 @@ extra-y := vmlinux.lds
6 6
7obj-y := process.o traps.o ptrace.o ints.o \ 7obj-y := process.o traps.o ptrace.o ints.o \
8 sys_h8300.o time.o semaphore.o signal.o \ 8 sys_h8300.o time.o semaphore.o signal.o \
9 setup.o gpio.o init_task.o syscalls.o 9 setup.o gpio.o init_task.o syscalls.o devres.o
10
11devres-y = ../../../kernel/irq/devres.o
10 12
11obj-$(CONFIG_MODULES) += module.o h8300_ksyms.o 13obj-$(CONFIG_MODULES) += module.o h8300_ksyms.o
diff --git a/arch/h8300/kernel/time.c b/arch/h8300/kernel/time.c
index 8abab3bc2b6f..d1ef615ba895 100644
--- a/arch/h8300/kernel/time.c
+++ b/arch/h8300/kernel/time.c
@@ -118,9 +118,3 @@ int do_settimeofday(struct timespec *tv)
118} 118}
119 119
120EXPORT_SYMBOL(do_settimeofday); 120EXPORT_SYMBOL(do_settimeofday);
121
122unsigned long long sched_clock(void)
123{
124 return (unsigned long long)jiffies * (1000000000 / HZ);
125
126}
diff --git a/arch/h8300/kernel/vmlinux.lds.S b/arch/h8300/kernel/vmlinux.lds.S
index f05288be8878..65f1cdc5ee04 100644
--- a/arch/h8300/kernel/vmlinux.lds.S
+++ b/arch/h8300/kernel/vmlinux.lds.S
@@ -126,10 +126,12 @@ SECTIONS
126 ___con_initcall_end = .; 126 ___con_initcall_end = .;
127 *(.exit.text) 127 *(.exit.text)
128 *(.exit.data) 128 *(.exit.data)
129#if defined(CONFIG_BLK_DEV_INITRD)
129 . = ALIGN(4); 130 . = ALIGN(4);
130 ___initramfs_start = .; 131 ___initramfs_start = .;
131 *(.init.ramfs) 132 *(.init.ramfs)
132 ___initramfs_end = .; 133 ___initramfs_end = .;
134#endif
133 . = ALIGN(0x4) ; 135 . = ALIGN(0x4) ;
134 ___init_end = .; 136 ___init_end = .;
135 __edata = . ; 137 __edata = . ;
diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig
index 0dfee812811a..63d5e841caf5 100644
--- a/arch/i386/Kconfig
+++ b/arch/i386/Kconfig
@@ -38,6 +38,10 @@ config MMU
38 bool 38 bool
39 default y 39 default y
40 40
41config ZONE_DMA
42 bool
43 default y
44
41config SBUS 45config SBUS
42 bool 46 bool
43 47
diff --git a/arch/i386/kernel/vmlinux.lds.S b/arch/i386/kernel/vmlinux.lds.S
index a53c8b1854b5..5038a73d554e 100644
--- a/arch/i386/kernel/vmlinux.lds.S
+++ b/arch/i386/kernel/vmlinux.lds.S
@@ -181,12 +181,14 @@ SECTIONS
181 from .altinstructions and .eh_frame */ 181 from .altinstructions and .eh_frame */
182 .exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) { *(.exit.text) } 182 .exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) { *(.exit.text) }
183 .exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) { *(.exit.data) } 183 .exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) { *(.exit.data) }
184#if defined(CONFIG_BLK_DEV_INITRD)
184 . = ALIGN(4096); 185 . = ALIGN(4096);
185 .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) { 186 .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) {
186 __initramfs_start = .; 187 __initramfs_start = .;
187 *(.init.ramfs) 188 *(.init.ramfs)
188 __initramfs_end = .; 189 __initramfs_end = .;
189 } 190 }
191#endif
190 . = ALIGN(L1_CACHE_BYTES); 192 . = ALIGN(L1_CACHE_BYTES);
191 .data.percpu : AT(ADDR(.data.percpu) - LOAD_OFFSET) { 193 .data.percpu : AT(ADDR(.data.percpu) - LOAD_OFFSET) {
192 __per_cpu_start = .; 194 __per_cpu_start = .;
diff --git a/arch/i386/mm/fault.c b/arch/i386/mm/fault.c
index aaaa4d225f7e..cba9b3894a33 100644
--- a/arch/i386/mm/fault.c
+++ b/arch/i386/mm/fault.c
@@ -60,32 +60,6 @@ static inline int notify_page_fault(enum die_val val, const char *str,
60} 60}
61 61
62/* 62/*
63 * Unlock any spinlocks which will prevent us from getting the
64 * message out
65 */
66void bust_spinlocks(int yes)
67{
68 int loglevel_save = console_loglevel;
69
70 if (yes) {
71 oops_in_progress = 1;
72 return;
73 }
74#ifdef CONFIG_VT
75 unblank_screen();
76#endif
77 oops_in_progress = 0;
78 /*
79 * OK, the message is on the console. Now we call printk()
80 * without oops_in_progress set so that printk will give klogd
81 * a poke. Hold onto your hats...
82 */
83 console_loglevel = 15; /* NMI oopser may have shut the console up */
84 printk(" ");
85 console_loglevel = loglevel_save;
86}
87
88/*
89 * Return EIP plus the CS segment base. The segment limit is also 63 * Return EIP plus the CS segment base. The segment limit is also
90 * adjusted, clamped to the kernel/user address space (whichever is 64 * adjusted, clamped to the kernel/user address space (whichever is
91 * appropriate), and returned in *eip_limit. 65 * appropriate), and returned in *eip_limit.
diff --git a/arch/i386/mm/highmem.c b/arch/i386/mm/highmem.c
index e0fa6cb655a8..bb2de1089add 100644
--- a/arch/i386/mm/highmem.c
+++ b/arch/i386/mm/highmem.c
@@ -33,13 +33,14 @@ void *kmap_atomic(struct page *page, enum km_type type)
33 33
34 /* even !CONFIG_PREEMPT needs this, for in_atomic in do_page_fault */ 34 /* even !CONFIG_PREEMPT needs this, for in_atomic in do_page_fault */
35 pagefault_disable(); 35 pagefault_disable();
36
37 idx = type + KM_TYPE_NR*smp_processor_id();
38 BUG_ON(!pte_none(*(kmap_pte-idx)));
39
36 if (!PageHighMem(page)) 40 if (!PageHighMem(page))
37 return page_address(page); 41 return page_address(page);
38 42
39 idx = type + KM_TYPE_NR*smp_processor_id();
40 vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx); 43 vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx);
41 if (!pte_none(*(kmap_pte-idx)))
42 BUG();
43 set_pte(kmap_pte-idx, mk_pte(page, kmap_prot)); 44 set_pte(kmap_pte-idx, mk_pte(page, kmap_prot));
44 45
45 return (void*) vaddr; 46 return (void*) vaddr;
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index f1d2899e9a62..db185f34e341 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -24,6 +24,10 @@ config 64BIT
24 bool 24 bool
25 default y 25 default y
26 26
27config ZONE_DMA
28 def_bool y
29 depends on !IA64_SGI_SN2
30
27config MMU 31config MMU
28 bool 32 bool
29 default y 33 default y
diff --git a/arch/ia64/ia32/binfmt_elf32.c b/arch/ia64/ia32/binfmt_elf32.c
index 578737ec7629..c05bda662364 100644
--- a/arch/ia64/ia32/binfmt_elf32.c
+++ b/arch/ia64/ia32/binfmt_elf32.c
@@ -91,9 +91,8 @@ ia64_elf32_init (struct pt_regs *regs)
91 * it with privilege level 3 because the IVE uses non-privileged accesses to these 91 * it with privilege level 3 because the IVE uses non-privileged accesses to these
92 * tables. IA-32 segmentation is used to protect against IA-32 accesses to them. 92 * tables. IA-32 segmentation is used to protect against IA-32 accesses to them.
93 */ 93 */
94 vma = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL); 94 vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL);
95 if (vma) { 95 if (vma) {
96 memset(vma, 0, sizeof(*vma));
97 vma->vm_mm = current->mm; 96 vma->vm_mm = current->mm;
98 vma->vm_start = IA32_GDT_OFFSET; 97 vma->vm_start = IA32_GDT_OFFSET;
99 vma->vm_end = vma->vm_start + PAGE_SIZE; 98 vma->vm_end = vma->vm_start + PAGE_SIZE;
@@ -117,9 +116,8 @@ ia64_elf32_init (struct pt_regs *regs)
117 * code is locked in specific gate page, which is pointed by pretcode 116 * code is locked in specific gate page, which is pointed by pretcode
118 * when setup_frame_ia32 117 * when setup_frame_ia32
119 */ 118 */
120 vma = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL); 119 vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL);
121 if (vma) { 120 if (vma) {
122 memset(vma, 0, sizeof(*vma));
123 vma->vm_mm = current->mm; 121 vma->vm_mm = current->mm;
124 vma->vm_start = IA32_GATE_OFFSET; 122 vma->vm_start = IA32_GATE_OFFSET;
125 vma->vm_end = vma->vm_start + PAGE_SIZE; 123 vma->vm_end = vma->vm_start + PAGE_SIZE;
@@ -142,9 +140,8 @@ ia64_elf32_init (struct pt_regs *regs)
142 * Install LDT as anonymous memory. This gives us all-zero segment descriptors 140 * Install LDT as anonymous memory. This gives us all-zero segment descriptors
143 * until a task modifies them via modify_ldt(). 141 * until a task modifies them via modify_ldt().
144 */ 142 */
145 vma = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL); 143 vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL);
146 if (vma) { 144 if (vma) {
147 memset(vma, 0, sizeof(*vma));
148 vma->vm_mm = current->mm; 145 vma->vm_mm = current->mm;
149 vma->vm_start = IA32_LDT_OFFSET; 146 vma->vm_start = IA32_LDT_OFFSET;
150 vma->vm_end = vma->vm_start + PAGE_ALIGN(IA32_LDT_ENTRIES*IA32_LDT_ENTRY_SIZE); 147 vma->vm_end = vma->vm_start + PAGE_ALIGN(IA32_LDT_ENTRIES*IA32_LDT_ENTRY_SIZE);
@@ -214,12 +211,10 @@ ia32_setup_arg_pages (struct linux_binprm *bprm, int executable_stack)
214 bprm->loader += stack_base; 211 bprm->loader += stack_base;
215 bprm->exec += stack_base; 212 bprm->exec += stack_base;
216 213
217 mpnt = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL); 214 mpnt = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL);
218 if (!mpnt) 215 if (!mpnt)
219 return -ENOMEM; 216 return -ENOMEM;
220 217
221 memset(mpnt, 0, sizeof(*mpnt));
222
223 down_write(&current->mm->mmap_sem); 218 down_write(&current->mm->mmap_sem);
224 { 219 {
225 mpnt->vm_mm = current->mm; 220 mpnt->vm_mm = current->mm;
diff --git a/arch/ia64/ia32/ia32_entry.S b/arch/ia64/ia32/ia32_entry.S
index a32cd59b81ed..687e5fdc9683 100644
--- a/arch/ia64/ia32/ia32_entry.S
+++ b/arch/ia64/ia32/ia32_entry.S
@@ -326,7 +326,7 @@ ia32_syscall_table:
326 data8 sys_ni_syscall 326 data8 sys_ni_syscall
327 data8 compat_sys_wait4 327 data8 compat_sys_wait4
328 data8 sys_swapoff /* 115 */ 328 data8 sys_swapoff /* 115 */
329 data8 sys32_sysinfo 329 data8 compat_sys_sysinfo
330 data8 sys32_ipc 330 data8 sys32_ipc
331 data8 sys_fsync 331 data8 sys_fsync
332 data8 sys32_sigreturn 332 data8 sys32_sigreturn
diff --git a/arch/ia64/ia32/sys_ia32.c b/arch/ia64/ia32/sys_ia32.c
index 957681c39ad9..d430d36ae49d 100644
--- a/arch/ia64/ia32/sys_ia32.c
+++ b/arch/ia64/ia32/sys_ia32.c
@@ -2209,74 +2209,6 @@ sys32_fstat64 (unsigned int fd, struct stat64 __user *statbuf)
2209 return ret; 2209 return ret;
2210} 2210}
2211 2211
2212struct sysinfo32 {
2213 s32 uptime;
2214 u32 loads[3];
2215 u32 totalram;
2216 u32 freeram;
2217 u32 sharedram;
2218 u32 bufferram;
2219 u32 totalswap;
2220 u32 freeswap;
2221 u16 procs;
2222 u16 pad;
2223 u32 totalhigh;
2224 u32 freehigh;
2225 u32 mem_unit;
2226 char _f[8];
2227};
2228
2229asmlinkage long
2230sys32_sysinfo (struct sysinfo32 __user *info)
2231{
2232 struct sysinfo s;
2233 long ret, err;
2234 int bitcount = 0;
2235 mm_segment_t old_fs = get_fs();
2236
2237 set_fs(KERNEL_DS);
2238 ret = sys_sysinfo((struct sysinfo __user *) &s);
2239 set_fs(old_fs);
2240 /* Check to see if any memory value is too large for 32-bit and
2241 * scale down if needed.
2242 */
2243 if ((s.totalram >> 32) || (s.totalswap >> 32)) {
2244 while (s.mem_unit < PAGE_SIZE) {
2245 s.mem_unit <<= 1;
2246 bitcount++;
2247 }
2248 s.totalram >>= bitcount;
2249 s.freeram >>= bitcount;
2250 s.sharedram >>= bitcount;
2251 s.bufferram >>= bitcount;
2252 s.totalswap >>= bitcount;
2253 s.freeswap >>= bitcount;
2254 s.totalhigh >>= bitcount;
2255 s.freehigh >>= bitcount;
2256 }
2257
2258 if (!access_ok(VERIFY_WRITE, info, sizeof(*info)))
2259 return -EFAULT;
2260
2261 err = __put_user(s.uptime, &info->uptime);
2262 err |= __put_user(s.loads[0], &info->loads[0]);
2263 err |= __put_user(s.loads[1], &info->loads[1]);
2264 err |= __put_user(s.loads[2], &info->loads[2]);
2265 err |= __put_user(s.totalram, &info->totalram);
2266 err |= __put_user(s.freeram, &info->freeram);
2267 err |= __put_user(s.sharedram, &info->sharedram);
2268 err |= __put_user(s.bufferram, &info->bufferram);
2269 err |= __put_user(s.totalswap, &info->totalswap);
2270 err |= __put_user(s.freeswap, &info->freeswap);
2271 err |= __put_user(s.procs, &info->procs);
2272 err |= __put_user (s.totalhigh, &info->totalhigh);
2273 err |= __put_user (s.freehigh, &info->freehigh);
2274 err |= __put_user (s.mem_unit, &info->mem_unit);
2275 if (err)
2276 return -EFAULT;
2277 return ret;
2278}
2279
2280asmlinkage long 2212asmlinkage long
2281sys32_sched_rr_get_interval (pid_t pid, struct compat_timespec __user *interval) 2213sys32_sched_rr_get_interval (pid_t pid, struct compat_timespec __user *interval)
2282{ 2214{
diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c
index aa94f60fa8e7..86e144f321ff 100644
--- a/arch/ia64/kernel/perfmon.c
+++ b/arch/ia64/kernel/perfmon.c
@@ -2301,12 +2301,11 @@ pfm_smpl_buffer_alloc(struct task_struct *task, pfm_context_t *ctx, unsigned lon
2301 DPRINT(("smpl_buf @%p\n", smpl_buf)); 2301 DPRINT(("smpl_buf @%p\n", smpl_buf));
2302 2302
2303 /* allocate vma */ 2303 /* allocate vma */
2304 vma = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL); 2304 vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL);
2305 if (!vma) { 2305 if (!vma) {
2306 DPRINT(("Cannot allocate vma\n")); 2306 DPRINT(("Cannot allocate vma\n"));
2307 goto error_kmem; 2307 goto error_kmem;
2308 } 2308 }
2309 memset(vma, 0, sizeof(*vma));
2310 2309
2311 /* 2310 /*
2312 * partially initialize the vma for the sampling buffer 2311 * partially initialize the vma for the sampling buffer
diff --git a/arch/ia64/kernel/traps.c b/arch/ia64/kernel/traps.c
index ab684747036f..765cbe5ba6ae 100644
--- a/arch/ia64/kernel/traps.c
+++ b/arch/ia64/kernel/traps.c
@@ -24,8 +24,6 @@
24#include <asm/uaccess.h> 24#include <asm/uaccess.h>
25#include <asm/kdebug.h> 25#include <asm/kdebug.h>
26 26
27extern spinlock_t timerlist_lock;
28
29fpswa_interface_t *fpswa_interface; 27fpswa_interface_t *fpswa_interface;
30EXPORT_SYMBOL(fpswa_interface); 28EXPORT_SYMBOL(fpswa_interface);
31 29
@@ -53,34 +51,6 @@ trap_init (void)
53 fpswa_interface = __va(ia64_boot_param->fpswa); 51 fpswa_interface = __va(ia64_boot_param->fpswa);
54} 52}
55 53
56/*
57 * Unlock any spinlocks which will prevent us from getting the message out (timerlist_lock
58 * is acquired through the console unblank code)
59 */
60void
61bust_spinlocks (int yes)
62{
63 int loglevel_save = console_loglevel;
64
65 if (yes) {
66 oops_in_progress = 1;
67 return;
68 }
69
70#ifdef CONFIG_VT
71 unblank_screen();
72#endif
73 oops_in_progress = 0;
74 /*
75 * OK, the message is on the console. Now we call printk() without
76 * oops_in_progress set so that printk will give klogd a poke. Hold onto
77 * your hats...
78 */
79 console_loglevel = 15; /* NMI oopser may have shut the console up */
80 printk(" ");
81 console_loglevel = loglevel_save;
82}
83
84void 54void
85die (const char *str, struct pt_regs *regs, long err) 55die (const char *str, struct pt_regs *regs, long err)
86{ 56{
diff --git a/arch/ia64/kernel/vmlinux.lds.S b/arch/ia64/kernel/vmlinux.lds.S
index 8f3d0066f446..25dd55e4db24 100644
--- a/arch/ia64/kernel/vmlinux.lds.S
+++ b/arch/ia64/kernel/vmlinux.lds.S
@@ -111,12 +111,14 @@ SECTIONS
111 .init.data : AT(ADDR(.init.data) - LOAD_OFFSET) 111 .init.data : AT(ADDR(.init.data) - LOAD_OFFSET)
112 { *(.init.data) } 112 { *(.init.data) }
113 113
114#ifdef CONFIG_BLK_DEV_INITRD
114 .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) 115 .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET)
115 { 116 {
116 __initramfs_start = .; 117 __initramfs_start = .;
117 *(.init.ramfs) 118 *(.init.ramfs)
118 __initramfs_end = .; 119 __initramfs_end = .;
119 } 120 }
121#endif
120 122
121 . = ALIGN(16); 123 . = ALIGN(16);
122 .init.setup : AT(ADDR(.init.setup) - LOAD_OFFSET) 124 .init.setup : AT(ADDR(.init.setup) - LOAD_OFFSET)
diff --git a/arch/ia64/mm/contig.c b/arch/ia64/mm/contig.c
index 63e6d49c5813..ca4d41e5f177 100644
--- a/arch/ia64/mm/contig.c
+++ b/arch/ia64/mm/contig.c
@@ -259,9 +259,11 @@ paging_init (void)
259 num_physpages = 0; 259 num_physpages = 0;
260 efi_memmap_walk(count_pages, &num_physpages); 260 efi_memmap_walk(count_pages, &num_physpages);
261 261
262 max_dma = virt_to_phys((void *) MAX_DMA_ADDRESS) >> PAGE_SHIFT;
263 memset(max_zone_pfns, 0, sizeof(max_zone_pfns)); 262 memset(max_zone_pfns, 0, sizeof(max_zone_pfns));
263#ifdef CONFIG_ZONE_DMA
264 max_dma = virt_to_phys((void *) MAX_DMA_ADDRESS) >> PAGE_SHIFT;
264 max_zone_pfns[ZONE_DMA] = max_dma; 265 max_zone_pfns[ZONE_DMA] = max_dma;
266#endif
265 max_zone_pfns[ZONE_NORMAL] = max_low_pfn; 267 max_zone_pfns[ZONE_NORMAL] = max_low_pfn;
266 268
267#ifdef CONFIG_VIRTUAL_MEM_MAP 269#ifdef CONFIG_VIRTUAL_MEM_MAP
diff --git a/arch/ia64/mm/discontig.c b/arch/ia64/mm/discontig.c
index 6eae596c509d..16835108bb5b 100644
--- a/arch/ia64/mm/discontig.c
+++ b/arch/ia64/mm/discontig.c
@@ -37,7 +37,9 @@ struct early_node_data {
37 unsigned long pernode_size; 37 unsigned long pernode_size;
38 struct bootmem_data bootmem_data; 38 struct bootmem_data bootmem_data;
39 unsigned long num_physpages; 39 unsigned long num_physpages;
40#ifdef CONFIG_ZONE_DMA
40 unsigned long num_dma_physpages; 41 unsigned long num_dma_physpages;
42#endif
41 unsigned long min_pfn; 43 unsigned long min_pfn;
42 unsigned long max_pfn; 44 unsigned long max_pfn;
43}; 45};
@@ -633,9 +635,11 @@ static __init int count_node_pages(unsigned long start, unsigned long len, int n
633 unsigned long end = start + len; 635 unsigned long end = start + len;
634 636
635 mem_data[node].num_physpages += len >> PAGE_SHIFT; 637 mem_data[node].num_physpages += len >> PAGE_SHIFT;
638#ifdef CONFIG_ZONE_DMA
636 if (start <= __pa(MAX_DMA_ADDRESS)) 639 if (start <= __pa(MAX_DMA_ADDRESS))
637 mem_data[node].num_dma_physpages += 640 mem_data[node].num_dma_physpages +=
638 (min(end, __pa(MAX_DMA_ADDRESS)) - start) >>PAGE_SHIFT; 641 (min(end, __pa(MAX_DMA_ADDRESS)) - start) >>PAGE_SHIFT;
642#endif
639 start = GRANULEROUNDDOWN(start); 643 start = GRANULEROUNDDOWN(start);
640 start = ORDERROUNDDOWN(start); 644 start = ORDERROUNDDOWN(start);
641 end = GRANULEROUNDUP(end); 645 end = GRANULEROUNDUP(end);
@@ -688,7 +692,9 @@ void __init paging_init(void)
688 } 692 }
689 693
690 memset(max_zone_pfns, 0, sizeof(max_zone_pfns)); 694 memset(max_zone_pfns, 0, sizeof(max_zone_pfns));
695#ifdef CONFIG_ZONE_DMA
691 max_zone_pfns[ZONE_DMA] = max_dma; 696 max_zone_pfns[ZONE_DMA] = max_dma;
697#endif
692 max_zone_pfns[ZONE_NORMAL] = max_pfn; 698 max_zone_pfns[ZONE_NORMAL] = max_pfn;
693 free_area_init_nodes(max_zone_pfns); 699 free_area_init_nodes(max_zone_pfns);
694 700
diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c
index faaca21a3718..f225dd72968b 100644
--- a/arch/ia64/mm/init.c
+++ b/arch/ia64/mm/init.c
@@ -68,7 +68,7 @@ max_pgt_pages(void)
68#ifndef CONFIG_NUMA 68#ifndef CONFIG_NUMA
69 node_free_pages = nr_free_pages(); 69 node_free_pages = nr_free_pages();
70#else 70#else
71 node_free_pages = nr_free_pages_pgdat(NODE_DATA(numa_node_id())); 71 node_free_pages = node_page_state(numa_node_id(), NR_FREE_PAGES);
72#endif 72#endif
73 max_pgt_pages = node_free_pages / PGT_FRACTION_OF_NODE_MEM; 73 max_pgt_pages = node_free_pages / PGT_FRACTION_OF_NODE_MEM;
74 max_pgt_pages = max(max_pgt_pages, MIN_PGT_PAGES); 74 max_pgt_pages = max(max_pgt_pages, MIN_PGT_PAGES);
@@ -176,9 +176,8 @@ ia64_init_addr_space (void)
176 * the problem. When the process attempts to write to the register backing store 176 * the problem. When the process attempts to write to the register backing store
177 * for the first time, it will get a SEGFAULT in this case. 177 * for the first time, it will get a SEGFAULT in this case.
178 */ 178 */
179 vma = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL); 179 vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL);
180 if (vma) { 180 if (vma) {
181 memset(vma, 0, sizeof(*vma));
182 vma->vm_mm = current->mm; 181 vma->vm_mm = current->mm;
183 vma->vm_start = current->thread.rbs_bot & PAGE_MASK; 182 vma->vm_start = current->thread.rbs_bot & PAGE_MASK;
184 vma->vm_end = vma->vm_start + PAGE_SIZE; 183 vma->vm_end = vma->vm_start + PAGE_SIZE;
@@ -195,9 +194,8 @@ ia64_init_addr_space (void)
195 194
196 /* map NaT-page at address zero to speed up speculative dereferencing of NULL: */ 195 /* map NaT-page at address zero to speed up speculative dereferencing of NULL: */
197 if (!(current->personality & MMAP_PAGE_ZERO)) { 196 if (!(current->personality & MMAP_PAGE_ZERO)) {
198 vma = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL); 197 vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL);
199 if (vma) { 198 if (vma) {
200 memset(vma, 0, sizeof(*vma));
201 vma->vm_mm = current->mm; 199 vma->vm_mm = current->mm;
202 vma->vm_end = PAGE_SIZE; 200 vma->vm_end = PAGE_SIZE;
203 vma->vm_page_prot = __pgprot(pgprot_val(PAGE_READONLY) | _PAGE_MA_NAT); 201 vma->vm_page_prot = __pgprot(pgprot_val(PAGE_READONLY) | _PAGE_MA_NAT);
diff --git a/arch/ia64/sn/kernel/sn2/sn_proc_fs.c b/arch/ia64/sn/kernel/sn2/sn_proc_fs.c
index 43ddc2eccb96..62b3e9a496ac 100644
--- a/arch/ia64/sn/kernel/sn2/sn_proc_fs.c
+++ b/arch/ia64/sn/kernel/sn2/sn_proc_fs.c
@@ -89,61 +89,80 @@ static int coherence_id_open(struct inode *inode, struct file *file)
89 return single_open(file, coherence_id_show, NULL); 89 return single_open(file, coherence_id_show, NULL);
90} 90}
91 91
92static struct proc_dir_entry
93*sn_procfs_create_entry(const char *name, struct proc_dir_entry *parent,
94 int (*openfunc)(struct inode *, struct file *),
95 int (*releasefunc)(struct inode *, struct file *),
96 ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *))
97{
98 struct proc_dir_entry *e = create_proc_entry(name, 0444, parent);
99
100 if (e) {
101 struct file_operations *f;
102
103 f = kzalloc(sizeof(*f), GFP_KERNEL);
104 if (f) {
105 f->open = openfunc;
106 f->read = seq_read;
107 f->llseek = seq_lseek;
108 f->release = releasefunc;
109 f->write = write;
110 e->proc_fops = f;
111 }
112 }
113
114 return e;
115}
116
117/* /proc/sgi_sn/sn_topology uses seq_file, see sn_hwperf.c */ 92/* /proc/sgi_sn/sn_topology uses seq_file, see sn_hwperf.c */
118extern int sn_topology_open(struct inode *, struct file *); 93extern int sn_topology_open(struct inode *, struct file *);
119extern int sn_topology_release(struct inode *, struct file *); 94extern int sn_topology_release(struct inode *, struct file *);
120 95
96static const struct file_operations proc_partition_id_fops = {
97 .open = partition_id_open,
98 .read = seq_read,
99 .llseek = seq_lseek,
100 .release = single_release,
101};
102
103static const struct file_operations proc_system_sn_fops = {
104 .open = system_serial_number_open,
105 .read = seq_read,
106 .llseek = seq_lseek,
107 .release = single_release,
108};
109
110static const struct file_operations proc_license_id_fops = {
111 .open = licenseID_open,
112 .read = seq_read,
113 .llseek = seq_lseek,
114 .release = single_release,
115};
116
117static const struct file_operations proc_sn_force_intr_fops = {
118 .open = sn_force_interrupt_open,
119 .read = seq_read,
120 .write = sn_force_interrupt_write_proc,
121 .llseek = seq_lseek,
122 .release = single_release,
123};
124
125static const struct file_operations proc_coherence_id_fops = {
126 .open = coherence_id_open,
127 .read = seq_read,
128 .llseek = seq_lseek,
129 .release = single_release,
130};
131
132static const struct file_operations proc_sn_topo_fops = {
133 .open = sn_topology_open,
134 .read = seq_read,
135 .llseek = seq_lseek,
136 .release = sn_topology_release,
137};
138
121void register_sn_procfs(void) 139void register_sn_procfs(void)
122{ 140{
123 static struct proc_dir_entry *sgi_proc_dir = NULL; 141 static struct proc_dir_entry *sgi_proc_dir = NULL;
142 struct proc_dir_entry *pde;
124 143
125 BUG_ON(sgi_proc_dir != NULL); 144 BUG_ON(sgi_proc_dir != NULL);
126 if (!(sgi_proc_dir = proc_mkdir("sgi_sn", NULL))) 145 if (!(sgi_proc_dir = proc_mkdir("sgi_sn", NULL)))
127 return; 146 return;
128 147
129 sn_procfs_create_entry("partition_id", sgi_proc_dir, 148 pde = create_proc_entry("partition_id", 0444, sgi_proc_dir);
130 partition_id_open, single_release, NULL); 149 if (pde)
131 150 pde->proc_fops = &proc_partition_id_fops;
132 sn_procfs_create_entry("system_serial_number", sgi_proc_dir, 151 pde = create_proc_entry("system_serial_number", 0444, sgi_proc_dir);
133 system_serial_number_open, single_release, NULL); 152 if (pde)
134 153 pde->proc_fops = &proc_system_sn_fops;
135 sn_procfs_create_entry("licenseID", sgi_proc_dir, 154 pde = create_proc_entry("licenseID", 0444, sgi_proc_dir);
136 licenseID_open, single_release, NULL); 155 if (pde)
137 156 pde->proc_fops = &proc_license_id_fops;
138 sn_procfs_create_entry("sn_force_interrupt", sgi_proc_dir, 157 pde = create_proc_entry("sn_force_interrupt", 0644, sgi_proc_dir);
139 sn_force_interrupt_open, single_release, 158 if (pde)
140 sn_force_interrupt_write_proc); 159 pde->proc_fops = &proc_sn_force_intr_fops;
141 160 pde = create_proc_entry("coherence_id", 0444, sgi_proc_dir);
142 sn_procfs_create_entry("coherence_id", sgi_proc_dir, 161 if (pde)
143 coherence_id_open, single_release, NULL); 162 pde->proc_fops = &proc_coherence_id_fops;
144 163 pde = create_proc_entry("sn_topology", 0444, sgi_proc_dir);
145 sn_procfs_create_entry("sn_topology", sgi_proc_dir, 164 if (pde)
146 sn_topology_open, sn_topology_release, NULL); 165 pde->proc_fops = &proc_sn_topo_fops;
147} 166}
148 167
149#endif /* CONFIG_PROC_FS */ 168#endif /* CONFIG_PROC_FS */
diff --git a/arch/m32r/Kconfig b/arch/m32r/Kconfig
index f383dab973f5..9740d6b8ae11 100644
--- a/arch/m32r/Kconfig
+++ b/arch/m32r/Kconfig
@@ -16,6 +16,10 @@ config GENERIC_ISA_DMA
16 bool 16 bool
17 default y 17 default y
18 18
19config ZONE_DMA
20 bool
21 default y
22
19config GENERIC_HARDIRQS 23config GENERIC_HARDIRQS
20 bool 24 bool
21 default y 25 default y
@@ -24,6 +28,9 @@ config GENERIC_IRQ_PROBE
24 bool 28 bool
25 default y 29 default y
26 30
31config NO_IOPORT
32 def_bool y
33
27source "init/Kconfig" 34source "init/Kconfig"
28 35
29 36
diff --git a/arch/m32r/Makefile b/arch/m32r/Makefile
index f219c47d334f..cdf63b210c53 100644
--- a/arch/m32r/Makefile
+++ b/arch/m32r/Makefile
@@ -7,7 +7,7 @@
7 7
8LDFLAGS := 8LDFLAGS :=
9OBJCOPYFLAGS := -O binary -R .note -R .comment -S 9OBJCOPYFLAGS := -O binary -R .note -R .comment -S
10LDFLAGS_vmlinux := -e startup_32 10LDFLAGS_vmlinux :=
11 11
12CFLAGS += -pipe -fno-schedule-insns 12CFLAGS += -pipe -fno-schedule-insns
13CFLAGS_KERNEL += -mmodel=medium 13CFLAGS_KERNEL += -mmodel=medium
diff --git a/arch/m32r/defconfig b/arch/m32r/defconfig
index 853093093168..13579917afef 100644
--- a/arch/m32r/defconfig
+++ b/arch/m32r/defconfig
@@ -1,20 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc5 3# Linux kernel version: 2.6.19
4# Fri Jun 3 16:20:11 2005 4# Tue Dec 12 17:52:38 2006
5# 5#
6CONFIG_M32R=y 6CONFIG_M32R=y
7# CONFIG_UID16 is not set
8CONFIG_GENERIC_ISA_DMA=y 7CONFIG_GENERIC_ISA_DMA=y
9CONFIG_GENERIC_HARDIRQS=y 8CONFIG_GENERIC_HARDIRQS=y
10CONFIG_GENERIC_IRQ_PROBE=y 9CONFIG_GENERIC_IRQ_PROBE=y
10CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 11
12# 12#
13# Code maturity level options 13# Code maturity level options
14# 14#
15CONFIG_EXPERIMENTAL=y 15CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_BROKEN_ON_SMP=y
18CONFIG_LOCK_KERNEL=y 16CONFIG_LOCK_KERNEL=y
19CONFIG_INIT_ENV_ARG_LIMIT=32 17CONFIG_INIT_ENV_ARG_LIMIT=32
20 18
@@ -22,32 +20,40 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
22# General setup 20# General setup
23# 21#
24CONFIG_LOCALVERSION="" 22CONFIG_LOCALVERSION=""
23CONFIG_LOCALVERSION_AUTO=y
25CONFIG_SWAP=y 24CONFIG_SWAP=y
26CONFIG_SYSVIPC=y 25CONFIG_SYSVIPC=y
26# CONFIG_IPC_NS is not set
27# CONFIG_POSIX_MQUEUE is not set 27# CONFIG_POSIX_MQUEUE is not set
28CONFIG_BSD_PROCESS_ACCT=y 28CONFIG_BSD_PROCESS_ACCT=y
29# CONFIG_BSD_PROCESS_ACCT_V3 is not set 29# CONFIG_BSD_PROCESS_ACCT_V3 is not set
30CONFIG_SYSCTL=y 30# CONFIG_TASKSTATS is not set
31# CONFIG_UTS_NS is not set
31# CONFIG_AUDIT is not set 32# CONFIG_AUDIT is not set
32CONFIG_HOTPLUG=y
33CONFIG_KOBJECT_UEVENT=y
34CONFIG_IKCONFIG=y 33CONFIG_IKCONFIG=y
35# CONFIG_IKCONFIG_PROC is not set 34CONFIG_IKCONFIG_PROC=y
35# CONFIG_CPUSETS is not set
36CONFIG_SYSFS_DEPRECATED=y
37# CONFIG_RELAY is not set
38CONFIG_INITRAMFS_SOURCE=""
39# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
40CONFIG_SYSCTL=y
36CONFIG_EMBEDDED=y 41CONFIG_EMBEDDED=y
42CONFIG_SYSCTL_SYSCALL=y
37# CONFIG_KALLSYMS is not set 43# CONFIG_KALLSYMS is not set
44CONFIG_HOTPLUG=y
38CONFIG_PRINTK=y 45CONFIG_PRINTK=y
39CONFIG_BUG=y 46CONFIG_BUG=y
47CONFIG_ELF_CORE=y
40CONFIG_BASE_FULL=y 48CONFIG_BASE_FULL=y
41# CONFIG_FUTEX is not set 49# CONFIG_FUTEX is not set
42# CONFIG_EPOLL is not set 50# CONFIG_EPOLL is not set
43# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
44CONFIG_SHMEM=y 51CONFIG_SHMEM=y
45CONFIG_CC_ALIGN_FUNCTIONS=0 52CONFIG_SLAB=y
46CONFIG_CC_ALIGN_LABELS=0 53CONFIG_VM_EVENT_COUNTERS=y
47CONFIG_CC_ALIGN_LOOPS=0
48CONFIG_CC_ALIGN_JUMPS=0
49# CONFIG_TINY_SHMEM is not set 54# CONFIG_TINY_SHMEM is not set
50CONFIG_BASE_SMALL=0 55CONFIG_BASE_SMALL=0
56# CONFIG_SLOB is not set
51 57
52# 58#
53# Loadable module support 59# Loadable module support
@@ -55,10 +61,29 @@ CONFIG_BASE_SMALL=0
55CONFIG_MODULES=y 61CONFIG_MODULES=y
56CONFIG_MODULE_UNLOAD=y 62CONFIG_MODULE_UNLOAD=y
57# CONFIG_MODULE_FORCE_UNLOAD is not set 63# CONFIG_MODULE_FORCE_UNLOAD is not set
58CONFIG_OBSOLETE_MODPARM=y
59# CONFIG_MODVERSIONS is not set 64# CONFIG_MODVERSIONS is not set
60# CONFIG_MODULE_SRCVERSION_ALL is not set 65# CONFIG_MODULE_SRCVERSION_ALL is not set
61CONFIG_KMOD=y 66CONFIG_KMOD=y
67CONFIG_STOP_MACHINE=y
68
69#
70# Block layer
71#
72CONFIG_BLOCK=y
73# CONFIG_BLK_DEV_IO_TRACE is not set
74
75#
76# IO Schedulers
77#
78CONFIG_IOSCHED_NOOP=y
79# CONFIG_IOSCHED_AS is not set
80CONFIG_IOSCHED_DEADLINE=y
81CONFIG_IOSCHED_CFQ=y
82# CONFIG_DEFAULT_AS is not set
83# CONFIG_DEFAULT_DEADLINE is not set
84CONFIG_DEFAULT_CFQ=y
85# CONFIG_DEFAULT_NOOP is not set
86CONFIG_DEFAULT_IOSCHED="cfq"
62 87
63# 88#
64# Processor type and features 89# Processor type and features
@@ -70,8 +95,10 @@ CONFIG_PLAT_M32700UT=y
70# CONFIG_PLAT_OAKS32R is not set 95# CONFIG_PLAT_OAKS32R is not set
71# CONFIG_PLAT_MAPPI2 is not set 96# CONFIG_PLAT_MAPPI2 is not set
72# CONFIG_PLAT_MAPPI3 is not set 97# CONFIG_PLAT_MAPPI3 is not set
98# CONFIG_PLAT_M32104UT is not set
73CONFIG_CHIP_M32700=y 99CONFIG_CHIP_M32700=y
74# CONFIG_CHIP_M32102 is not set 100# CONFIG_CHIP_M32102 is not set
101# CONFIG_CHIP_M32104 is not set
75# CONFIG_CHIP_VDEC2 is not set 102# CONFIG_CHIP_VDEC2 is not set
76# CONFIG_CHIP_OPSP is not set 103# CONFIG_CHIP_OPSP is not set
77CONFIG_MMU=y 104CONFIG_MMU=y
@@ -85,34 +112,39 @@ CONFIG_TIMER_DIVIDE=128
85CONFIG_MEMORY_START=0x08000000 112CONFIG_MEMORY_START=0x08000000
86CONFIG_MEMORY_SIZE=0x01000000 113CONFIG_MEMORY_SIZE=0x01000000
87CONFIG_NOHIGHMEM=y 114CONFIG_NOHIGHMEM=y
88# CONFIG_DISCONTIGMEM is not set 115CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
116CONFIG_SELECT_MEMORY_MODEL=y
117# CONFIG_FLATMEM_MANUAL is not set
118CONFIG_DISCONTIGMEM_MANUAL=y
119# CONFIG_SPARSEMEM_MANUAL is not set
120CONFIG_DISCONTIGMEM=y
121CONFIG_FLAT_NODE_MEM_MAP=y
122CONFIG_NEED_MULTIPLE_NODES=y
123# CONFIG_SPARSEMEM_STATIC is not set
124CONFIG_SPLIT_PTLOCK_CPUS=4
125# CONFIG_RESOURCES_64BIT is not set
126CONFIG_IRAM_START=0x00f00000
127CONFIG_IRAM_SIZE=0x00080000
89CONFIG_RWSEM_GENERIC_SPINLOCK=y 128CONFIG_RWSEM_GENERIC_SPINLOCK=y
90# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set 129# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
130CONFIG_GENERIC_FIND_NEXT_BIT=y
131CONFIG_GENERIC_HWEIGHT=y
91CONFIG_GENERIC_CALIBRATE_DELAY=y 132CONFIG_GENERIC_CALIBRATE_DELAY=y
92CONFIG_PREEMPT=y 133CONFIG_PREEMPT=y
93# CONFIG_HAVE_DEC_LOCK is not set 134CONFIG_SMP=y
94# CONFIG_SMP is not set 135# CONFIG_CHIP_M32700_TS1 is not set
136CONFIG_NR_CPUS=2
137CONFIG_NODES_SHIFT=1
95 138
96# 139#
97# Bus options (PCI, PCMCIA, EISA, MCA, ISA) 140# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
98# 141#
99# CONFIG_PCI is not set
100# CONFIG_ISA is not set 142# CONFIG_ISA is not set
101 143
102# 144#
103# PCCARD (PCMCIA/CardBus) support 145# PCCARD (PCMCIA/CardBus) support
104# 146#
105CONFIG_PCCARD=y 147# CONFIG_PCCARD is not set
106# CONFIG_PCMCIA_DEBUG is not set
107CONFIG_PCMCIA=y
108
109#
110# PC-card bridges
111#
112# CONFIG_TCIC is not set
113# CONFIG_M32R_PCC is not set
114CONFIG_M32R_CFC=y
115CONFIG_M32R_CFC_NUM=1
116 148
117# 149#
118# PCI Hotplug Support 150# PCI Hotplug Support
@@ -125,6 +157,94 @@ CONFIG_BINFMT_ELF=y
125# CONFIG_BINFMT_MISC is not set 157# CONFIG_BINFMT_MISC is not set
126 158
127# 159#
160# Networking
161#
162CONFIG_NET=y
163
164#
165# Networking options
166#
167# CONFIG_NETDEBUG is not set
168CONFIG_PACKET=y
169# CONFIG_PACKET_MMAP is not set
170CONFIG_UNIX=y
171CONFIG_XFRM=y
172# CONFIG_XFRM_USER is not set
173# CONFIG_XFRM_SUB_POLICY is not set
174# CONFIG_NET_KEY is not set
175CONFIG_INET=y
176# CONFIG_IP_MULTICAST is not set
177# CONFIG_IP_ADVANCED_ROUTER is not set
178CONFIG_IP_FIB_HASH=y
179CONFIG_IP_PNP=y
180CONFIG_IP_PNP_DHCP=y
181# CONFIG_IP_PNP_BOOTP is not set
182# CONFIG_IP_PNP_RARP is not set
183# CONFIG_NET_IPIP is not set
184# CONFIG_NET_IPGRE is not set
185# CONFIG_ARPD is not set
186# CONFIG_SYN_COOKIES is not set
187# CONFIG_INET_AH is not set
188# CONFIG_INET_ESP is not set
189# CONFIG_INET_IPCOMP is not set
190# CONFIG_INET_XFRM_TUNNEL is not set
191# CONFIG_INET_TUNNEL is not set
192CONFIG_INET_XFRM_MODE_TRANSPORT=y
193CONFIG_INET_XFRM_MODE_TUNNEL=y
194CONFIG_INET_XFRM_MODE_BEET=y
195CONFIG_INET_DIAG=y
196CONFIG_INET_TCP_DIAG=y
197# CONFIG_TCP_CONG_ADVANCED is not set
198CONFIG_TCP_CONG_CUBIC=y
199CONFIG_DEFAULT_TCP_CONG="cubic"
200# CONFIG_TCP_MD5SIG is not set
201# CONFIG_IPV6 is not set
202# CONFIG_INET6_XFRM_TUNNEL is not set
203# CONFIG_INET6_TUNNEL is not set
204# CONFIG_NETWORK_SECMARK is not set
205# CONFIG_NETFILTER is not set
206
207#
208# DCCP Configuration (EXPERIMENTAL)
209#
210# CONFIG_IP_DCCP is not set
211
212#
213# SCTP Configuration (EXPERIMENTAL)
214#
215# CONFIG_IP_SCTP is not set
216
217#
218# TIPC Configuration (EXPERIMENTAL)
219#
220# CONFIG_TIPC is not set
221# CONFIG_ATM is not set
222# CONFIG_BRIDGE is not set
223# CONFIG_VLAN_8021Q is not set
224# CONFIG_DECNET is not set
225# CONFIG_LLC2 is not set
226# CONFIG_IPX is not set
227# CONFIG_ATALK is not set
228# CONFIG_X25 is not set
229# CONFIG_LAPB is not set
230# CONFIG_ECONET is not set
231# CONFIG_WAN_ROUTER is not set
232
233#
234# QoS and/or fair queueing
235#
236# CONFIG_NET_SCHED is not set
237
238#
239# Network testing
240#
241# CONFIG_NET_PKTGEN is not set
242# CONFIG_HAMRADIO is not set
243# CONFIG_IRDA is not set
244# CONFIG_BT is not set
245# CONFIG_IEEE80211 is not set
246
247#
128# Device Drivers 248# Device Drivers
129# 249#
130 250
@@ -133,12 +253,100 @@ CONFIG_BINFMT_ELF=y
133# 253#
134CONFIG_STANDALONE=y 254CONFIG_STANDALONE=y
135CONFIG_PREVENT_FIRMWARE_BUILD=y 255CONFIG_PREVENT_FIRMWARE_BUILD=y
136# CONFIG_FW_LOADER is not set 256CONFIG_FW_LOADER=y
257# CONFIG_SYS_HYPERVISOR is not set
258
259#
260# Connector - unified userspace <-> kernelspace linker
261#
262# CONFIG_CONNECTOR is not set
137 263
138# 264#
139# Memory Technology Devices (MTD) 265# Memory Technology Devices (MTD)
140# 266#
141# CONFIG_MTD is not set 267CONFIG_MTD=y
268# CONFIG_MTD_DEBUG is not set
269# CONFIG_MTD_CONCAT is not set
270CONFIG_MTD_PARTITIONS=y
271CONFIG_MTD_REDBOOT_PARTS=y
272CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
273# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
274# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
275# CONFIG_MTD_CMDLINE_PARTS is not set
276
277#
278# User Modules And Translation Layers
279#
280# CONFIG_MTD_CHAR is not set
281CONFIG_MTD_BLOCK=y
282# CONFIG_FTL is not set
283# CONFIG_NFTL is not set
284# CONFIG_INFTL is not set
285# CONFIG_RFD_FTL is not set
286# CONFIG_SSFDC is not set
287
288#
289# RAM/ROM/Flash chip drivers
290#
291CONFIG_MTD_CFI=m
292CONFIG_MTD_JEDECPROBE=m
293CONFIG_MTD_GEN_PROBE=m
294CONFIG_MTD_CFI_ADV_OPTIONS=y
295# CONFIG_MTD_CFI_NOSWAP is not set
296CONFIG_MTD_CFI_BE_BYTE_SWAP=y
297# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
298CONFIG_MTD_CFI_GEOMETRY=y
299CONFIG_MTD_MAP_BANK_WIDTH_1=y
300CONFIG_MTD_MAP_BANK_WIDTH_2=y
301CONFIG_MTD_MAP_BANK_WIDTH_4=y
302# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
303# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
304# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
305CONFIG_MTD_CFI_I1=y
306# CONFIG_MTD_CFI_I2 is not set
307# CONFIG_MTD_CFI_I4 is not set
308# CONFIG_MTD_CFI_I8 is not set
309# CONFIG_MTD_OTP is not set
310# CONFIG_MTD_CFI_INTELEXT is not set
311CONFIG_MTD_CFI_AMDSTD=m
312# CONFIG_MTD_CFI_STAA is not set
313CONFIG_MTD_CFI_UTIL=m
314# CONFIG_MTD_RAM is not set
315# CONFIG_MTD_ROM is not set
316# CONFIG_MTD_ABSENT is not set
317# CONFIG_MTD_OBSOLETE_CHIPS is not set
318
319#
320# Mapping drivers for chip access
321#
322# CONFIG_MTD_COMPLEX_MAPPINGS is not set
323# CONFIG_MTD_PHYSMAP is not set
324# CONFIG_MTD_PLATRAM is not set
325
326#
327# Self-contained MTD device drivers
328#
329# CONFIG_MTD_SLRAM is not set
330# CONFIG_MTD_PHRAM is not set
331# CONFIG_MTD_MTDRAM is not set
332# CONFIG_MTD_BLOCK2MTD is not set
333
334#
335# Disk-On-Chip Device Drivers
336#
337# CONFIG_MTD_DOC2000 is not set
338# CONFIG_MTD_DOC2001 is not set
339# CONFIG_MTD_DOC2001PLUS is not set
340
341#
342# NAND Flash Device Drivers
343#
344# CONFIG_MTD_NAND is not set
345
346#
347# OneNAND Flash Device Drivers
348#
349# CONFIG_MTD_ONENAND is not set
142 350
143# 351#
144# Parallel port support 352# Parallel port support
@@ -152,7 +360,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
152# 360#
153# Block devices 361# Block devices
154# 362#
155# CONFIG_BLK_DEV_FD is not set
156# CONFIG_BLK_DEV_COW_COMMON is not set 363# CONFIG_BLK_DEV_COW_COMMON is not set
157CONFIG_BLK_DEV_LOOP=y 364CONFIG_BLK_DEV_LOOP=y
158# CONFIG_BLK_DEV_CRYPTOLOOP is not set 365# CONFIG_BLK_DEV_CRYPTOLOOP is not set
@@ -160,23 +367,21 @@ CONFIG_BLK_DEV_NBD=y
160CONFIG_BLK_DEV_RAM=y 367CONFIG_BLK_DEV_RAM=y
161CONFIG_BLK_DEV_RAM_COUNT=16 368CONFIG_BLK_DEV_RAM_COUNT=16
162CONFIG_BLK_DEV_RAM_SIZE=4096 369CONFIG_BLK_DEV_RAM_SIZE=4096
370CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
163# CONFIG_BLK_DEV_INITRD is not set 371# CONFIG_BLK_DEV_INITRD is not set
164CONFIG_INITRAMFS_SOURCE=""
165# CONFIG_CDROM_PKTCDVD is not set 372# CONFIG_CDROM_PKTCDVD is not set
373CONFIG_ATA_OVER_ETH=m
166 374
167# 375#
168# IO Schedulers 376# Misc devices
169# 377#
170CONFIG_IOSCHED_NOOP=y 378# CONFIG_TIFM_CORE is not set
171# CONFIG_IOSCHED_AS is not set
172CONFIG_IOSCHED_DEADLINE=y
173CONFIG_IOSCHED_CFQ=y
174# CONFIG_ATA_OVER_ETH is not set
175 379
176# 380#
177# ATA/ATAPI/MFM/RLL support 381# ATA/ATAPI/MFM/RLL support
178# 382#
179CONFIG_IDE=y 383CONFIG_IDE=y
384CONFIG_IDE_MAX_HWIFS=4
180CONFIG_BLK_DEV_IDE=y 385CONFIG_BLK_DEV_IDE=y
181 386
182# 387#
@@ -185,7 +390,6 @@ CONFIG_BLK_DEV_IDE=y
185# CONFIG_BLK_DEV_IDE_SATA is not set 390# CONFIG_BLK_DEV_IDE_SATA is not set
186CONFIG_BLK_DEV_IDEDISK=y 391CONFIG_BLK_DEV_IDEDISK=y
187# CONFIG_IDEDISK_MULTI_MODE is not set 392# CONFIG_IDEDISK_MULTI_MODE is not set
188CONFIG_BLK_DEV_IDECS=y
189CONFIG_BLK_DEV_IDECD=m 393CONFIG_BLK_DEV_IDECD=m
190# CONFIG_BLK_DEV_IDETAPE is not set 394# CONFIG_BLK_DEV_IDETAPE is not set
191# CONFIG_BLK_DEV_IDEFLOPPY is not set 395# CONFIG_BLK_DEV_IDEFLOPPY is not set
@@ -204,7 +408,9 @@ CONFIG_IDE_GENERIC=y
204# 408#
205# SCSI device support 409# SCSI device support
206# 410#
411# CONFIG_RAID_ATTRS is not set
207CONFIG_SCSI=m 412CONFIG_SCSI=m
413# CONFIG_SCSI_NETLINK is not set
208CONFIG_SCSI_PROC_FS=y 414CONFIG_SCSI_PROC_FS=y
209 415
210# 416#
@@ -216,6 +422,7 @@ CONFIG_BLK_DEV_SD=m
216CONFIG_BLK_DEV_SR=m 422CONFIG_BLK_DEV_SR=m
217# CONFIG_BLK_DEV_SR_VENDOR is not set 423# CONFIG_BLK_DEV_SR_VENDOR is not set
218CONFIG_CHR_DEV_SG=m 424CONFIG_CHR_DEV_SG=m
425# CONFIG_CHR_DEV_SCH is not set
219 426
220# 427#
221# Some SCSI devices (e.g. CD jukebox) support multiple LUNs 428# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
@@ -225,26 +432,23 @@ CONFIG_SCSI_MULTI_LUN=y
225# CONFIG_SCSI_LOGGING is not set 432# CONFIG_SCSI_LOGGING is not set
226 433
227# 434#
228# SCSI Transport Attributes 435# SCSI Transports
229# 436#
230# CONFIG_SCSI_SPI_ATTRS is not set 437# CONFIG_SCSI_SPI_ATTRS is not set
231# CONFIG_SCSI_FC_ATTRS is not set 438# CONFIG_SCSI_FC_ATTRS is not set
232# CONFIG_SCSI_ISCSI_ATTRS is not set 439# CONFIG_SCSI_ISCSI_ATTRS is not set
440# CONFIG_SCSI_SAS_ATTRS is not set
441# CONFIG_SCSI_SAS_LIBSAS is not set
233 442
234# 443#
235# SCSI low-level drivers 444# SCSI low-level drivers
236# 445#
237# CONFIG_SCSI_SATA is not set 446# CONFIG_ISCSI_TCP is not set
238# CONFIG_SCSI_DEBUG is not set 447# CONFIG_SCSI_DEBUG is not set
239 448
240# 449#
241# PCMCIA SCSI adapter support 450# Serial ATA (prod) and Parallel ATA (experimental) drivers
242# 451#
243# CONFIG_PCMCIA_AHA152X is not set
244# CONFIG_PCMCIA_FDOMAIN is not set
245# CONFIG_PCMCIA_NINJA_SCSI is not set
246# CONFIG_PCMCIA_QLOGIC is not set
247# CONFIG_PCMCIA_SYM53C500 is not set
248 452
249# 453#
250# Multi-device support (RAID and LVM) 454# Multi-device support (RAID and LVM)
@@ -254,6 +458,7 @@ CONFIG_SCSI_MULTI_LUN=y
254# 458#
255# Fusion MPT device support 459# Fusion MPT device support
256# 460#
461# CONFIG_FUSION is not set
257 462
258# 463#
259# IEEE 1394 (FireWire) support 464# IEEE 1394 (FireWire) support
@@ -264,69 +469,8 @@ CONFIG_SCSI_MULTI_LUN=y
264# 469#
265 470
266# 471#
267# Networking support 472# Network device support
268#
269CONFIG_NET=y
270
271#
272# Networking options
273#
274CONFIG_PACKET=y
275# CONFIG_PACKET_MMAP is not set
276CONFIG_UNIX=y
277# CONFIG_NET_KEY is not set
278CONFIG_INET=y
279# CONFIG_IP_MULTICAST is not set
280# CONFIG_IP_ADVANCED_ROUTER is not set
281CONFIG_IP_PNP=y
282CONFIG_IP_PNP_DHCP=y
283# CONFIG_IP_PNP_BOOTP is not set
284# CONFIG_IP_PNP_RARP is not set
285# CONFIG_NET_IPIP is not set
286# CONFIG_NET_IPGRE is not set
287# CONFIG_ARPD is not set
288# CONFIG_SYN_COOKIES is not set
289# CONFIG_INET_AH is not set
290# CONFIG_INET_ESP is not set
291# CONFIG_INET_IPCOMP is not set
292# CONFIG_INET_TUNNEL is not set
293CONFIG_IP_TCPDIAG=y
294# CONFIG_IP_TCPDIAG_IPV6 is not set
295# CONFIG_IPV6 is not set
296# CONFIG_NETFILTER is not set
297
298#
299# SCTP Configuration (EXPERIMENTAL)
300#
301# CONFIG_IP_SCTP is not set
302# CONFIG_ATM is not set
303# CONFIG_BRIDGE is not set
304# CONFIG_VLAN_8021Q is not set
305# CONFIG_DECNET is not set
306# CONFIG_LLC2 is not set
307# CONFIG_IPX is not set
308# CONFIG_ATALK is not set
309# CONFIG_X25 is not set
310# CONFIG_LAPB is not set
311# CONFIG_NET_DIVERT is not set
312# CONFIG_ECONET is not set
313# CONFIG_WAN_ROUTER is not set
314
315#
316# QoS and/or fair queueing
317#
318# CONFIG_NET_SCHED is not set
319# CONFIG_NET_CLS_ROUTE is not set
320
321#
322# Network testing
323# 473#
324# CONFIG_NET_PKTGEN is not set
325# CONFIG_NETPOLL is not set
326# CONFIG_NET_POLL_CONTROLLER is not set
327# CONFIG_HAMRADIO is not set
328# CONFIG_IRDA is not set
329# CONFIG_BT is not set
330CONFIG_NETDEVICES=y 474CONFIG_NETDEVICES=y
331# CONFIG_DUMMY is not set 475# CONFIG_DUMMY is not set
332# CONFIG_BONDING is not set 476# CONFIG_BONDING is not set
@@ -334,6 +478,11 @@ CONFIG_NETDEVICES=y
334# CONFIG_TUN is not set 478# CONFIG_TUN is not set
335 479
336# 480#
481# PHY device support
482#
483# CONFIG_PHYLIB is not set
484
485#
337# Ethernet (10 or 100Mbit) 486# Ethernet (10 or 100Mbit)
338# 487#
339CONFIG_NET_ETHERNET=y 488CONFIG_NET_ETHERNET=y
@@ -359,11 +508,6 @@ CONFIG_SMC91X=y
359# CONFIG_NET_RADIO is not set 508# CONFIG_NET_RADIO is not set
360 509
361# 510#
362# PCMCIA network device support
363#
364# CONFIG_NET_PCMCIA is not set
365
366#
367# Wan interfaces 511# Wan interfaces
368# 512#
369# CONFIG_WAN is not set 513# CONFIG_WAN is not set
@@ -371,6 +515,8 @@ CONFIG_SMC91X=y
371# CONFIG_SLIP is not set 515# CONFIG_SLIP is not set
372# CONFIG_SHAPER is not set 516# CONFIG_SHAPER is not set
373# CONFIG_NETCONSOLE is not set 517# CONFIG_NETCONSOLE is not set
518# CONFIG_NETPOLL is not set
519# CONFIG_NET_POLL_CONTROLLER is not set
374 520
375# 521#
376# ISDN subsystem 522# ISDN subsystem
@@ -386,6 +532,7 @@ CONFIG_SMC91X=y
386# Input device support 532# Input device support
387# 533#
388CONFIG_INPUT=y 534CONFIG_INPUT=y
535# CONFIG_INPUT_FF_MEMLESS is not set
389 536
390# 537#
391# Userland interfaces 538# Userland interfaces
@@ -414,7 +561,6 @@ CONFIG_SERIO_SERPORT=y
414# CONFIG_SERIO_LIBPS2 is not set 561# CONFIG_SERIO_LIBPS2 is not set
415# CONFIG_SERIO_RAW is not set 562# CONFIG_SERIO_RAW is not set
416# CONFIG_GAMEPORT is not set 563# CONFIG_GAMEPORT is not set
417CONFIG_SOUND_GAMEPORT=y
418 564
419# 565#
420# Character devices 566# Character devices
@@ -422,6 +568,7 @@ CONFIG_SOUND_GAMEPORT=y
422CONFIG_VT=y 568CONFIG_VT=y
423CONFIG_VT_CONSOLE=y 569CONFIG_VT_CONSOLE=y
424CONFIG_HW_CONSOLE=y 570CONFIG_HW_CONSOLE=y
571# CONFIG_VT_HW_CONSOLE_BINDING is not set
425# CONFIG_SERIAL_NONSTANDARD is not set 572# CONFIG_SERIAL_NONSTANDARD is not set
426 573
427# 574#
@@ -450,8 +597,8 @@ CONFIG_LEGACY_PTY_COUNT=256
450# Watchdog Cards 597# Watchdog Cards
451# 598#
452# CONFIG_WATCHDOG is not set 599# CONFIG_WATCHDOG is not set
600CONFIG_HW_RANDOM=y
453# CONFIG_RTC is not set 601# CONFIG_RTC is not set
454# CONFIG_GEN_RTC is not set
455CONFIG_DS1302=y 602CONFIG_DS1302=y
456# CONFIG_DTLK is not set 603# CONFIG_DTLK is not set
457# CONFIG_R3964 is not set 604# CONFIG_R3964 is not set
@@ -459,17 +606,12 @@ CONFIG_DS1302=y
459# 606#
460# Ftape, the floppy tape device driver 607# Ftape, the floppy tape device driver
461# 608#
462# CONFIG_DRM is not set
463
464#
465# PCMCIA character devices
466#
467# CONFIG_SYNCLINK_CS is not set
468# CONFIG_RAW_DRIVER is not set 609# CONFIG_RAW_DRIVER is not set
469 610
470# 611#
471# TPM devices 612# TPM devices
472# 613#
614# CONFIG_TCG_TPM is not set
473 615
474# 616#
475# I2C support 617# I2C support
@@ -477,34 +619,51 @@ CONFIG_DS1302=y
477# CONFIG_I2C is not set 619# CONFIG_I2C is not set
478 620
479# 621#
622# SPI support
623#
624# CONFIG_SPI is not set
625# CONFIG_SPI_MASTER is not set
626
627#
480# Dallas's 1-wire bus 628# Dallas's 1-wire bus
481# 629#
482# CONFIG_W1 is not set 630# CONFIG_W1 is not set
483 631
484# 632#
485# Misc devices 633# Hardware Monitoring support
486# 634#
635CONFIG_HWMON=y
636# CONFIG_HWMON_VID is not set
637# CONFIG_SENSORS_ABITUGURU is not set
638# CONFIG_SENSORS_F71805F is not set
639# CONFIG_SENSORS_VT1211 is not set
640# CONFIG_HWMON_DEBUG_CHIP is not set
487 641
488# 642#
489# Multimedia devices 643# Multimedia devices
490# 644#
491CONFIG_VIDEO_DEV=y 645CONFIG_VIDEO_DEV=m
646CONFIG_VIDEO_V4L1=y
647CONFIG_VIDEO_V4L1_COMPAT=y
648CONFIG_VIDEO_V4L2=y
492 649
493# 650#
494# Video For Linux 651# Video Capture Adapters
495# 652#
496 653
497# 654#
498# Video Adapters 655# Video Capture Adapters
499# 656#
657# CONFIG_VIDEO_ADV_DEBUG is not set
658CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
659# CONFIG_VIDEO_VIVI is not set
500# CONFIG_VIDEO_CPIA is not set 660# CONFIG_VIDEO_CPIA is not set
501CONFIG_VIDEO_M32R_AR=y 661CONFIG_VIDEO_M32R_AR=m
502CONFIG_VIDEO_M32R_AR_M64278=y 662CONFIG_VIDEO_M32R_AR_M64278=m
503 663
504# 664#
505# Radio Adapters 665# Radio Adapters
506# 666#
507# CONFIG_RADIO_MAESTRO is not set
508 667
509# 668#
510# Digital Video Broadcasting Devices 669# Digital Video Broadcasting Devices
@@ -514,15 +673,16 @@ CONFIG_VIDEO_M32R_AR_M64278=y
514# 673#
515# Graphics support 674# Graphics support
516# 675#
676CONFIG_FIRMWARE_EDID=y
517CONFIG_FB=y 677CONFIG_FB=y
518# CONFIG_FB_CFB_FILLRECT is not set 678CONFIG_FB_CFB_FILLRECT=y
519# CONFIG_FB_CFB_COPYAREA is not set 679CONFIG_FB_CFB_COPYAREA=y
520# CONFIG_FB_CFB_IMAGEBLIT is not set 680CONFIG_FB_CFB_IMAGEBLIT=y
521# CONFIG_FB_SOFT_CURSOR is not set
522# CONFIG_FB_MACMODES is not set 681# CONFIG_FB_MACMODES is not set
682# CONFIG_FB_BACKLIGHT is not set
523# CONFIG_FB_MODE_HELPERS is not set 683# CONFIG_FB_MODE_HELPERS is not set
524# CONFIG_FB_TILEBLITTING is not set 684# CONFIG_FB_TILEBLITTING is not set
525# CONFIG_FB_S1D13XXX is not set 685CONFIG_FB_S1D13XXX=y
526# CONFIG_FB_VIRTUAL is not set 686# CONFIG_FB_VIRTUAL is not set
527 687
528# 688#
@@ -531,6 +691,7 @@ CONFIG_FB=y
531# CONFIG_VGA_CONSOLE is not set 691# CONFIG_VGA_CONSOLE is not set
532CONFIG_DUMMY_CONSOLE=y 692CONFIG_DUMMY_CONSOLE=y
533CONFIG_FRAMEBUFFER_CONSOLE=y 693CONFIG_FRAMEBUFFER_CONSOLE=y
694# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
534# CONFIG_FONTS is not set 695# CONFIG_FONTS is not set
535CONFIG_FONT_8x8=y 696CONFIG_FONT_8x8=y
536CONFIG_FONT_8x16=y 697CONFIG_FONT_8x16=y
@@ -542,6 +703,7 @@ CONFIG_LOGO=y
542CONFIG_LOGO_LINUX_MONO=y 703CONFIG_LOGO_LINUX_MONO=y
543CONFIG_LOGO_LINUX_VGA16=y 704CONFIG_LOGO_LINUX_VGA16=y
544CONFIG_LOGO_LINUX_CLUT224=y 705CONFIG_LOGO_LINUX_CLUT224=y
706CONFIG_LOGO_M32R_CLUT224=y
545# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 707# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
546 708
547# 709#
@@ -554,6 +716,11 @@ CONFIG_LOGO_LINUX_CLUT224=y
554# 716#
555# CONFIG_USB_ARCH_HAS_HCD is not set 717# CONFIG_USB_ARCH_HAS_HCD is not set
556# CONFIG_USB_ARCH_HAS_OHCI is not set 718# CONFIG_USB_ARCH_HAS_OHCI is not set
719# CONFIG_USB_ARCH_HAS_EHCI is not set
720
721#
722# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
723#
557 724
558# 725#
559# USB Gadget Support 726# USB Gadget Support
@@ -563,23 +730,62 @@ CONFIG_LOGO_LINUX_CLUT224=y
563# 730#
564# MMC/SD Card support 731# MMC/SD Card support
565# 732#
566# CONFIG_MMC is not set 733CONFIG_MMC=y
734CONFIG_MMC_DEBUG=y
735CONFIG_MMC_BLOCK=y
736# CONFIG_MMC_TIFM_SD is not set
737
738#
739# LED devices
740#
741# CONFIG_NEW_LEDS is not set
742
743#
744# LED drivers
745#
746
747#
748# LED Triggers
749#
567 750
568# 751#
569# InfiniBand support 752# InfiniBand support
570# 753#
571# CONFIG_INFINIBAND is not set 754
755#
756# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
757#
758
759#
760# Real Time Clock
761#
762# CONFIG_RTC_CLASS is not set
763
764#
765# DMA Engine support
766#
767# CONFIG_DMA_ENGINE is not set
768
769#
770# DMA Clients
771#
772
773#
774# DMA Devices
775#
572 776
573# 777#
574# File systems 778# File systems
575# 779#
576CONFIG_EXT2_FS=y 780CONFIG_EXT2_FS=y
577# CONFIG_EXT2_FS_XATTR is not set 781# CONFIG_EXT2_FS_XATTR is not set
578CONFIG_EXT3_FS=m 782# CONFIG_EXT2_FS_XIP is not set
783CONFIG_EXT3_FS=y
579CONFIG_EXT3_FS_XATTR=y 784CONFIG_EXT3_FS_XATTR=y
580# CONFIG_EXT3_FS_POSIX_ACL is not set 785# CONFIG_EXT3_FS_POSIX_ACL is not set
581# CONFIG_EXT3_FS_SECURITY is not set 786# CONFIG_EXT3_FS_SECURITY is not set
582CONFIG_JBD=m 787# CONFIG_EXT4DEV_FS is not set
788CONFIG_JBD=y
583CONFIG_JBD_DEBUG=y 789CONFIG_JBD_DEBUG=y
584CONFIG_FS_MBCACHE=y 790CONFIG_FS_MBCACHE=y
585CONFIG_REISERFS_FS=m 791CONFIG_REISERFS_FS=m
@@ -587,17 +793,19 @@ CONFIG_REISERFS_FS=m
587# CONFIG_REISERFS_PROC_INFO is not set 793# CONFIG_REISERFS_PROC_INFO is not set
588# CONFIG_REISERFS_FS_XATTR is not set 794# CONFIG_REISERFS_FS_XATTR is not set
589# CONFIG_JFS_FS is not set 795# CONFIG_JFS_FS is not set
590 796# CONFIG_FS_POSIX_ACL is not set
591#
592# XFS support
593#
594# CONFIG_XFS_FS is not set 797# CONFIG_XFS_FS is not set
798# CONFIG_GFS2_FS is not set
799# CONFIG_OCFS2_FS is not set
595# CONFIG_MINIX_FS is not set 800# CONFIG_MINIX_FS is not set
596# CONFIG_ROMFS_FS is not set 801# CONFIG_ROMFS_FS is not set
802CONFIG_INOTIFY=y
803CONFIG_INOTIFY_USER=y
597# CONFIG_QUOTA is not set 804# CONFIG_QUOTA is not set
598CONFIG_DNOTIFY=y 805CONFIG_DNOTIFY=y
599# CONFIG_AUTOFS_FS is not set 806# CONFIG_AUTOFS_FS is not set
600# CONFIG_AUTOFS4_FS is not set 807# CONFIG_AUTOFS4_FS is not set
808# CONFIG_FUSE_FS is not set
601 809
602# 810#
603# CD-ROM/DVD Filesystems 811# CD-ROM/DVD Filesystems
@@ -623,15 +831,13 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
623# 831#
624CONFIG_PROC_FS=y 832CONFIG_PROC_FS=y
625CONFIG_PROC_KCORE=y 833CONFIG_PROC_KCORE=y
834CONFIG_PROC_SYSCTL=y
626CONFIG_SYSFS=y 835CONFIG_SYSFS=y
627CONFIG_DEVFS_FS=y
628CONFIG_DEVFS_MOUNT=y
629# CONFIG_DEVFS_DEBUG is not set
630# CONFIG_DEVPTS_FS_XATTR is not set
631CONFIG_TMPFS=y 836CONFIG_TMPFS=y
632# CONFIG_TMPFS_XATTR is not set 837# CONFIG_TMPFS_POSIX_ACL is not set
633# CONFIG_HUGETLB_PAGE is not set 838# CONFIG_HUGETLB_PAGE is not set
634CONFIG_RAMFS=y 839CONFIG_RAMFS=y
840# CONFIG_CONFIGFS_FS is not set
635 841
636# 842#
637# Miscellaneous filesystems 843# Miscellaneous filesystems
@@ -643,6 +849,8 @@ CONFIG_RAMFS=y
643# CONFIG_BEFS_FS is not set 849# CONFIG_BEFS_FS is not set
644# CONFIG_BFS_FS is not set 850# CONFIG_BFS_FS is not set
645# CONFIG_EFS_FS is not set 851# CONFIG_EFS_FS is not set
852# CONFIG_JFFS_FS is not set
853# CONFIG_JFFS2_FS is not set
646# CONFIG_CRAMFS is not set 854# CONFIG_CRAMFS is not set
647# CONFIG_VXFS_FS is not set 855# CONFIG_VXFS_FS is not set
648# CONFIG_HPFS_FS is not set 856# CONFIG_HPFS_FS is not set
@@ -655,12 +863,14 @@ CONFIG_RAMFS=y
655# 863#
656CONFIG_NFS_FS=y 864CONFIG_NFS_FS=y
657CONFIG_NFS_V3=y 865CONFIG_NFS_V3=y
866# CONFIG_NFS_V3_ACL is not set
658# CONFIG_NFS_V4 is not set 867# CONFIG_NFS_V4 is not set
659# CONFIG_NFS_DIRECTIO is not set 868# CONFIG_NFS_DIRECTIO is not set
660# CONFIG_NFSD is not set 869# CONFIG_NFSD is not set
661CONFIG_ROOT_NFS=y 870CONFIG_ROOT_NFS=y
662CONFIG_LOCKD=y 871CONFIG_LOCKD=y
663CONFIG_LOCKD_V4=y 872CONFIG_LOCKD_V4=y
873CONFIG_NFS_COMMON=y
664CONFIG_SUNRPC=y 874CONFIG_SUNRPC=y
665# CONFIG_RPCSEC_GSS_KRB5 is not set 875# CONFIG_RPCSEC_GSS_KRB5 is not set
666# CONFIG_RPCSEC_GSS_SPKM3 is not set 876# CONFIG_RPCSEC_GSS_SPKM3 is not set
@@ -669,6 +879,7 @@ CONFIG_SUNRPC=y
669# CONFIG_NCP_FS is not set 879# CONFIG_NCP_FS is not set
670# CONFIG_CODA_FS is not set 880# CONFIG_CODA_FS is not set
671# CONFIG_AFS_FS is not set 881# CONFIG_AFS_FS is not set
882# CONFIG_9P_FS is not set
672 883
673# 884#
674# Partition Types 885# Partition Types
@@ -723,16 +934,23 @@ CONFIG_NLS_DEFAULT="iso8859-1"
723# 934#
724# Profiling support 935# Profiling support
725# 936#
726# CONFIG_PROFILING is not set 937CONFIG_PROFILING=y
938CONFIG_OPROFILE=y
727 939
728# 940#
729# Kernel hacking 941# Kernel hacking
730# 942#
731# CONFIG_PRINTK_TIME is not set 943# CONFIG_PRINTK_TIME is not set
944CONFIG_ENABLE_MUST_CHECK=y
945# CONFIG_MAGIC_SYSRQ is not set
946# CONFIG_UNUSED_SYMBOLS is not set
732# CONFIG_DEBUG_KERNEL is not set 947# CONFIG_DEBUG_KERNEL is not set
733CONFIG_LOG_BUF_SHIFT=14 948CONFIG_LOG_BUF_SHIFT=15
734# CONFIG_DEBUG_BUGVERBOSE is not set 949# CONFIG_DEBUG_BUGVERBOSE is not set
950# CONFIG_DEBUG_FS is not set
735# CONFIG_FRAME_POINTER is not set 951# CONFIG_FRAME_POINTER is not set
952# CONFIG_UNWIND_INFO is not set
953# CONFIG_HEADERS_CHECK is not set
736 954
737# 955#
738# Security options 956# Security options
@@ -746,12 +964,9 @@ CONFIG_LOG_BUF_SHIFT=14
746# CONFIG_CRYPTO is not set 964# CONFIG_CRYPTO is not set
747 965
748# 966#
749# Hardware crypto devices
750#
751
752#
753# Library routines 967# Library routines
754# 968#
755# CONFIG_CRC_CCITT is not set 969# CONFIG_CRC_CCITT is not set
970# CONFIG_CRC16 is not set
756CONFIG_CRC32=y 971CONFIG_CRC32=y
757# CONFIG_LIBCRC32C is not set 972# CONFIG_LIBCRC32C is not set
diff --git a/arch/m32r/kernel/head.S b/arch/m32r/kernel/head.S
index 0d3c8ee0e03d..dab7436d7bbe 100644
--- a/arch/m32r/kernel/head.S
+++ b/arch/m32r/kernel/head.S
@@ -7,8 +7,6 @@
7 * Hitoshi Yamamoto 7 * Hitoshi Yamamoto
8 */ 8 */
9 9
10/* $Id$ */
11
12#include <linux/init.h> 10#include <linux/init.h>
13__INIT 11__INIT
14__INITDATA 12__INITDATA
diff --git a/arch/m32r/kernel/process.c b/arch/m32r/kernel/process.c
index 44cbe0ce0f8f..a689e2978b6e 100644
--- a/arch/m32r/kernel/process.c
+++ b/arch/m32r/kernel/process.c
@@ -174,7 +174,7 @@ void show_regs(struct pt_regs * regs)
174 regs->acc1h, regs->acc1l); 174 regs->acc1h, regs->acc1l);
175#elif defined(CONFIG_ISA_M32R2) || defined(CONFIG_ISA_M32R) 175#elif defined(CONFIG_ISA_M32R2) || defined(CONFIG_ISA_M32R)
176 printk("ACCH[%08lx]:ACCL[%08lx]\n", \ 176 printk("ACCH[%08lx]:ACCL[%08lx]\n", \
177 regs->acch, regs->accl); 177 regs->acc0h, regs->acc0l);
178#else 178#else
179#error unknown isa configuration 179#error unknown isa configuration
180#endif 180#endif
diff --git a/arch/m32r/kernel/signal.c b/arch/m32r/kernel/signal.c
index 092ea86bb079..4b156054baa6 100644
--- a/arch/m32r/kernel/signal.c
+++ b/arch/m32r/kernel/signal.c
@@ -109,19 +109,10 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc,
109 COPY(r10); 109 COPY(r10);
110 COPY(r11); 110 COPY(r11);
111 COPY(r12); 111 COPY(r12);
112#if defined(CONFIG_ISA_M32R2) && defined(CONFIG_ISA_DSP_LEVEL2)
113 COPY(acc0h); 112 COPY(acc0h);
114 COPY(acc0l); 113 COPY(acc0l);
115 COPY(acc1h); 114 COPY(acc1h); /* ISA_DSP_LEVEL2 only */
116 COPY(acc1l); 115 COPY(acc1l); /* ISA_DSP_LEVEL2 only */
117#elif defined(CONFIG_ISA_M32R2) || defined(CONFIG_ISA_M32R)
118 COPY(acch);
119 COPY(accl);
120 COPY(dummy_acc1h);
121 COPY(dummy_acc1l);
122#else
123#error unknown isa configuration
124#endif
125 COPY(psw); 116 COPY(psw);
126 COPY(bpc); 117 COPY(bpc);
127 COPY(bbpsw); 118 COPY(bbpsw);
@@ -196,19 +187,10 @@ setup_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs,
196 COPY(r10); 187 COPY(r10);
197 COPY(r11); 188 COPY(r11);
198 COPY(r12); 189 COPY(r12);
199#if defined(CONFIG_ISA_M32R2) && defined(CONFIG_ISA_DSP_LEVEL2)
200 COPY(acc0h); 190 COPY(acc0h);
201 COPY(acc0l); 191 COPY(acc0l);
202 COPY(acc1h); 192 COPY(acc1h); /* ISA_DSP_LEVEL2 only */
203 COPY(acc1l); 193 COPY(acc1l); /* ISA_DSP_LEVEL2 only */
204#elif defined(CONFIG_ISA_M32R2) || defined(CONFIG_ISA_M32R)
205 COPY(acch);
206 COPY(accl);
207 COPY(dummy_acc1h);
208 COPY(dummy_acc1l);
209#else
210#error unknown isa configuration
211#endif
212 COPY(psw); 194 COPY(psw);
213 COPY(bpc); 195 COPY(bpc);
214 COPY(bbpsw); 196 COPY(bbpsw);
diff --git a/arch/m32r/kernel/time.c b/arch/m32r/kernel/time.c
index a09038282c78..3858c9f39ba5 100644
--- a/arch/m32r/kernel/time.c
+++ b/arch/m32r/kernel/time.c
@@ -286,11 +286,3 @@ void __init time_init(void)
286#error no chip configuration 286#error no chip configuration
287#endif 287#endif
288} 288}
289
290/*
291 * Scheduler clock - returns current time in nanosec units.
292 */
293unsigned long long sched_clock(void)
294{
295 return (unsigned long long)jiffies * (1000000000 / HZ);
296}
diff --git a/arch/m32r/kernel/vmlinux.lds.S b/arch/m32r/kernel/vmlinux.lds.S
index 358b9cee2c65..439cc257cd1d 100644
--- a/arch/m32r/kernel/vmlinux.lds.S
+++ b/arch/m32r/kernel/vmlinux.lds.S
@@ -6,12 +6,15 @@
6#include <asm/page.h> 6#include <asm/page.h>
7 7
8OUTPUT_ARCH(m32r) 8OUTPUT_ARCH(m32r)
9ENTRY(startup_32)
10#if defined(__LITTLE_ENDIAN__) 9#if defined(__LITTLE_ENDIAN__)
11 jiffies = jiffies_64; 10 jiffies = jiffies_64;
12#else 11#else
13 jiffies = jiffies_64 + 4; 12 jiffies = jiffies_64 + 4;
14#endif 13#endif
14
15kernel_entry = boot - 0x80000000;
16ENTRY(kernel_entry)
17
15SECTIONS 18SECTIONS
16{ 19{
17 . = CONFIG_MEMORY_START + __PAGE_OFFSET; 20 . = CONFIG_MEMORY_START + __PAGE_OFFSET;
@@ -99,10 +102,14 @@ SECTIONS
99 from .altinstructions and .eh_frame */ 102 from .altinstructions and .eh_frame */
100 .exit.text : { *(.exit.text) } 103 .exit.text : { *(.exit.text) }
101 .exit.data : { *(.exit.data) } 104 .exit.data : { *(.exit.data) }
105
106#ifdef CONFIG_BLK_DEV_INITRD
102 . = ALIGN(4096); 107 . = ALIGN(4096);
103 __initramfs_start = .; 108 __initramfs_start = .;
104 .init.ramfs : { *(.init.ramfs) } 109 .init.ramfs : { *(.init.ramfs) }
105 __initramfs_end = .; 110 __initramfs_end = .;
111#endif
112
106 . = ALIGN(32); 113 . = ALIGN(32);
107 __per_cpu_start = .; 114 __per_cpu_start = .;
108 .data.percpu : { *(.data.percpu) } 115 .data.percpu : { *(.data.percpu) }
diff --git a/arch/m32r/lib/ashxdi3.S b/arch/m32r/lib/ashxdi3.S
index 107594b65d58..7fc0c19801ba 100644
--- a/arch/m32r/lib/ashxdi3.S
+++ b/arch/m32r/lib/ashxdi3.S
@@ -4,8 +4,6 @@
4 * Copyright (C) 2001,2002 Hiroyuki Kondo, and Hirokazu Takata 4 * Copyright (C) 2001,2002 Hiroyuki Kondo, and Hirokazu Takata
5 * 5 *
6 */ 6 */
7/* $Id$ */
8
9 7
10; 8;
11; input (r0,r1) src 9; input (r0,r1) src
@@ -293,4 +291,3 @@ __lshrdi3:
293#endif /* not CONFIG_ISA_DUAL_ISSUE */ 291#endif /* not CONFIG_ISA_DUAL_ISSUE */
294 292
295 .end 293 .end
296
diff --git a/arch/m32r/lib/checksum.S b/arch/m32r/lib/checksum.S
index cfbe00e5184a..0af0360c76d9 100644
--- a/arch/m32r/lib/checksum.S
+++ b/arch/m32r/lib/checksum.S
@@ -25,8 +25,6 @@
25 * as published by the Free Software Foundation; either version 25 * as published by the Free Software Foundation; either version
26 * 2 of the License, or (at your option) any later version. 26 * 2 of the License, or (at your option) any later version.
27 */ 27 */
28/* $Id$ */
29
30 28
31#include <linux/linkage.h> 29#include <linux/linkage.h>
32#include <asm/assembler.h> 30#include <asm/assembler.h>
@@ -319,3 +317,4 @@ ENTRY(csum_partial_copy_generic)
319 nop 317 nop
320 nop 318 nop
321 319
320 .end
diff --git a/arch/m32r/lib/delay.c b/arch/m32r/lib/delay.c
index 06382a38c318..59bfc34e0d9f 100644
--- a/arch/m32r/lib/delay.c
+++ b/arch/m32r/lib/delay.c
@@ -5,8 +5,6 @@
5 * Copyright (c) 2004 Hirokazu Takata 5 * Copyright (c) 2004 Hirokazu Takata
6 */ 6 */
7 7
8/* $Id$ */
9
10#include <linux/param.h> 8#include <linux/param.h>
11#ifdef CONFIG_SMP 9#ifdef CONFIG_SMP
12#include <linux/sched.h> 10#include <linux/sched.h>
diff --git a/arch/m32r/lib/memcpy.S b/arch/m32r/lib/memcpy.S
index 2089a215314e..05987cd639ef 100644
--- a/arch/m32r/lib/memcpy.S
+++ b/arch/m32r/lib/memcpy.S
@@ -10,8 +10,6 @@
10 * src: r1 10 * src: r1
11 * n : r2 11 * n : r2
12 */ 12 */
13/* $Id$ */
14
15 13
16 .text 14 .text
17#include <linux/linkage.h> 15#include <linux/linkage.h>
diff --git a/arch/m32r/lib/memset.S b/arch/m32r/lib/memset.S
index b47fa3537aa4..2b2831a37927 100644
--- a/arch/m32r/lib/memset.S
+++ b/arch/m32r/lib/memset.S
@@ -12,8 +12,6 @@
12 * ret: r0 12 * ret: r0
13 * 13 *
14 */ 14 */
15/* $Id$ */
16
17 15
18 .text 16 .text
19 .global memset 17 .global memset
diff --git a/arch/m32r/lib/strlen.S b/arch/m32r/lib/strlen.S
index 5f41aacd7b3e..916de9e8f801 100644
--- a/arch/m32r/lib/strlen.S
+++ b/arch/m32r/lib/strlen.S
@@ -6,8 +6,6 @@
6 * size_t strlen(const char *s); 6 * size_t strlen(const char *s);
7 * 7 *
8 */ 8 */
9/* $Id$ */
10
11 9
12#include <linux/linkage.h> 10#include <linux/linkage.h>
13#include <asm/assembler.h> 11#include <asm/assembler.h>
diff --git a/arch/m32r/m32104ut/defconfig.m32104ut b/arch/m32r/m32104ut/defconfig.m32104ut
index 454de336803a..7b68fe8d921e 100644
--- a/arch/m32r/m32104ut/defconfig.m32104ut
+++ b/arch/m32r/m32104ut/defconfig.m32104ut
@@ -1,20 +1,20 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.14 3# Linux kernel version: 2.6.19
4# Wed Nov 9 16:04:51 2005 4# Wed Dec 13 17:22:20 2006
5# 5#
6CONFIG_M32R=y 6CONFIG_M32R=y
7# CONFIG_UID16 is not set
8CONFIG_GENERIC_ISA_DMA=y 7CONFIG_GENERIC_ISA_DMA=y
9CONFIG_GENERIC_HARDIRQS=y 8CONFIG_GENERIC_HARDIRQS=y
10CONFIG_GENERIC_IRQ_PROBE=y 9CONFIG_GENERIC_IRQ_PROBE=y
10CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 11
12# 12#
13# Code maturity level options 13# Code maturity level options
14# 14#
15CONFIG_EXPERIMENTAL=y 15CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_BROKEN_ON_SMP=y 16CONFIG_BROKEN_ON_SMP=y
17CONFIG_LOCK_KERNEL=y
18CONFIG_INIT_ENV_ARG_LIMIT=32 18CONFIG_INIT_ENV_ARG_LIMIT=32
19 19
20# 20#
@@ -22,33 +22,66 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
22# 22#
23CONFIG_LOCALVERSION="" 23CONFIG_LOCALVERSION=""
24CONFIG_LOCALVERSION_AUTO=y 24CONFIG_LOCALVERSION_AUTO=y
25CONFIG_SYSVIPC=y
26# CONFIG_IPC_NS is not set
25# CONFIG_POSIX_MQUEUE is not set 27# CONFIG_POSIX_MQUEUE is not set
26# CONFIG_BSD_PROCESS_ACCT is not set 28# CONFIG_BSD_PROCESS_ACCT is not set
27CONFIG_SYSCTL=y 29# CONFIG_TASKSTATS is not set
30# CONFIG_UTS_NS is not set
28# CONFIG_AUDIT is not set 31# CONFIG_AUDIT is not set
29CONFIG_HOTPLUG=y 32CONFIG_IKCONFIG=y
30# CONFIG_KOBJECT_UEVENT is not set 33CONFIG_IKCONFIG_PROC=y
31# CONFIG_IKCONFIG is not set 34CONFIG_SYSFS_DEPRECATED=y
35# CONFIG_RELAY is not set
32CONFIG_INITRAMFS_SOURCE="" 36CONFIG_INITRAMFS_SOURCE=""
33CONFIG_EMBEDDED=y 37CONFIG_CC_OPTIMIZE_FOR_SIZE=y
34# CONFIG_KALLSYMS is not set 38CONFIG_SYSCTL=y
39# CONFIG_EMBEDDED is not set
40CONFIG_SYSCTL_SYSCALL=y
41CONFIG_KALLSYMS=y
42# CONFIG_KALLSYMS_EXTRA_PASS is not set
43CONFIG_HOTPLUG=y
35CONFIG_PRINTK=y 44CONFIG_PRINTK=y
36CONFIG_BUG=y 45CONFIG_BUG=y
46CONFIG_ELF_CORE=y
37CONFIG_BASE_FULL=y 47CONFIG_BASE_FULL=y
38# CONFIG_FUTEX is not set 48CONFIG_FUTEX=y
39# CONFIG_EPOLL is not set 49CONFIG_EPOLL=y
40# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 50CONFIG_SLAB=y
41CONFIG_CC_ALIGN_FUNCTIONS=0 51CONFIG_VM_EVENT_COUNTERS=y
42CONFIG_CC_ALIGN_LABELS=0 52CONFIG_RT_MUTEXES=y
43CONFIG_CC_ALIGN_LOOPS=0
44CONFIG_CC_ALIGN_JUMPS=0
45CONFIG_TINY_SHMEM=y 53CONFIG_TINY_SHMEM=y
46CONFIG_BASE_SMALL=0 54CONFIG_BASE_SMALL=0
55# CONFIG_SLOB is not set
47 56
48# 57#
49# Loadable module support 58# Loadable module support
50# 59#
51# CONFIG_MODULES is not set 60CONFIG_MODULES=y
61CONFIG_MODULE_UNLOAD=y
62CONFIG_MODULE_FORCE_UNLOAD=y
63# CONFIG_MODVERSIONS is not set
64# CONFIG_MODULE_SRCVERSION_ALL is not set
65CONFIG_KMOD=y
66
67#
68# Block layer
69#
70CONFIG_BLOCK=y
71# CONFIG_BLK_DEV_IO_TRACE 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"
52 85
53# 86#
54# Processor type and features 87# Processor type and features
@@ -70,40 +103,40 @@ CONFIG_ISA_M32R=y
70CONFIG_BUS_CLOCK=54000000 103CONFIG_BUS_CLOCK=54000000
71CONFIG_TIMER_DIVIDE=128 104CONFIG_TIMER_DIVIDE=128
72# CONFIG_CPU_LITTLE_ENDIAN is not set 105# CONFIG_CPU_LITTLE_ENDIAN is not set
73CONFIG_MEMORY_START=04000000 106CONFIG_MEMORY_START=0x04000000
74CONFIG_MEMORY_SIZE=01000000 107CONFIG_MEMORY_SIZE=0x01000000
75CONFIG_NOHIGHMEM=y 108CONFIG_NOHIGHMEM=y
76# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set 109CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
77CONFIG_SELECT_MEMORY_MODEL=y 110CONFIG_SELECT_MEMORY_MODEL=y
78CONFIG_FLATMEM_MANUAL=y 111# CONFIG_FLATMEM_MANUAL is not set
79# CONFIG_DISCONTIGMEM_MANUAL is not set 112CONFIG_DISCONTIGMEM_MANUAL=y
80# CONFIG_SPARSEMEM_MANUAL is not set 113# CONFIG_SPARSEMEM_MANUAL is not set
81CONFIG_FLATMEM=y 114CONFIG_DISCONTIGMEM=y
82CONFIG_FLAT_NODE_MEM_MAP=y 115CONFIG_FLAT_NODE_MEM_MAP=y
116CONFIG_NEED_MULTIPLE_NODES=y
83# CONFIG_SPARSEMEM_STATIC is not set 117# CONFIG_SPARSEMEM_STATIC is not set
118CONFIG_SPLIT_PTLOCK_CPUS=4
119# CONFIG_RESOURCES_64BIT is not set
120CONFIG_IRAM_START=0x00700000
121CONFIG_IRAM_SIZE=0x00010000
84CONFIG_RWSEM_GENERIC_SPINLOCK=y 122CONFIG_RWSEM_GENERIC_SPINLOCK=y
85# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set 123# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
124CONFIG_GENERIC_FIND_NEXT_BIT=y
125CONFIG_GENERIC_HWEIGHT=y
86CONFIG_GENERIC_CALIBRATE_DELAY=y 126CONFIG_GENERIC_CALIBRATE_DELAY=y
87# CONFIG_PREEMPT is not set 127CONFIG_PREEMPT=y
88# CONFIG_SMP is not set 128# CONFIG_SMP is not set
129CONFIG_NODES_SHIFT=1
89 130
90# 131#
91# Bus options (PCI, PCMCIA, EISA, MCA, ISA) 132# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
92# 133#
93# CONFIG_ISA is not set 134CONFIG_ISA=y
94 135
95# 136#
96# PCCARD (PCMCIA/CardBus) support 137# PCCARD (PCMCIA/CardBus) support
97# 138#
98CONFIG_PCCARD=y 139# CONFIG_PCCARD is not set
99# CONFIG_PCMCIA_DEBUG is not set
100CONFIG_PCMCIA=y
101CONFIG_PCMCIA_LOAD_CIS=y
102CONFIG_PCMCIA_IOCTL=y
103
104#
105# PC-card bridges
106#
107 140
108# 141#
109# PCI Hotplug Support 142# PCI Hotplug Support
@@ -112,10 +145,8 @@ CONFIG_PCMCIA_IOCTL=y
112# 145#
113# Executable file formats 146# Executable file formats
114# 147#
115CONFIG_BINFMT_FLAT=y 148# CONFIG_BINFMT_FLAT is not set
116# CONFIG_BINFMT_ZFLAT is not set 149CONFIG_BINFMT_MISC=y
117# CONFIG_BINFMT_SHARED_FLAT is not set
118# CONFIG_BINFMT_MISC is not set
119 150
120# 151#
121# Networking 152# Networking
@@ -125,17 +156,19 @@ CONFIG_NET=y
125# 156#
126# Networking options 157# Networking options
127# 158#
128# CONFIG_PACKET is not set 159# CONFIG_NETDEBUG is not set
160CONFIG_PACKET=y
161# CONFIG_PACKET_MMAP is not set
129CONFIG_UNIX=y 162CONFIG_UNIX=y
163CONFIG_XFRM=y
164# CONFIG_XFRM_USER is not set
165# CONFIG_XFRM_SUB_POLICY is not set
130# CONFIG_NET_KEY is not set 166# CONFIG_NET_KEY is not set
131CONFIG_INET=y 167CONFIG_INET=y
132# CONFIG_IP_MULTICAST is not set 168# CONFIG_IP_MULTICAST is not set
133# CONFIG_IP_ADVANCED_ROUTER is not set 169# CONFIG_IP_ADVANCED_ROUTER is not set
134CONFIG_IP_FIB_HASH=y 170CONFIG_IP_FIB_HASH=y
135CONFIG_IP_PNP=y 171# CONFIG_IP_PNP is not set
136CONFIG_IP_PNP_DHCP=y
137# CONFIG_IP_PNP_BOOTP is not set
138# CONFIG_IP_PNP_RARP is not set
139# CONFIG_NET_IPIP is not set 172# CONFIG_NET_IPIP is not set
140# CONFIG_NET_IPGRE is not set 173# CONFIG_NET_IPGRE is not set
141# CONFIG_ARPD is not set 174# CONFIG_ARPD is not set
@@ -143,13 +176,87 @@ CONFIG_IP_PNP_DHCP=y
143# CONFIG_INET_AH is not set 176# CONFIG_INET_AH is not set
144# CONFIG_INET_ESP is not set 177# CONFIG_INET_ESP is not set
145# CONFIG_INET_IPCOMP is not set 178# CONFIG_INET_IPCOMP is not set
179# CONFIG_INET_XFRM_TUNNEL is not set
146# CONFIG_INET_TUNNEL is not set 180# CONFIG_INET_TUNNEL is not set
181CONFIG_INET_XFRM_MODE_TRANSPORT=y
182CONFIG_INET_XFRM_MODE_TUNNEL=y
183CONFIG_INET_XFRM_MODE_BEET=y
147CONFIG_INET_DIAG=y 184CONFIG_INET_DIAG=y
148CONFIG_INET_TCP_DIAG=y 185CONFIG_INET_TCP_DIAG=y
149# CONFIG_TCP_CONG_ADVANCED is not set 186# CONFIG_TCP_CONG_ADVANCED is not set
150CONFIG_TCP_CONG_BIC=y 187CONFIG_TCP_CONG_CUBIC=y
188CONFIG_DEFAULT_TCP_CONG="cubic"
189# CONFIG_TCP_MD5SIG is not set
190
191#
192# IP: Virtual Server Configuration
193#
194# CONFIG_IP_VS is not set
151# CONFIG_IPV6 is not set 195# CONFIG_IPV6 is not set
152# CONFIG_NETFILTER is not set 196# CONFIG_INET6_XFRM_TUNNEL is not set
197# CONFIG_INET6_TUNNEL is not set
198# CONFIG_NETWORK_SECMARK is not set
199CONFIG_NETFILTER=y
200# CONFIG_NETFILTER_DEBUG is not set
201
202#
203# Core Netfilter Configuration
204#
205CONFIG_NETFILTER_NETLINK=m
206CONFIG_NETFILTER_NETLINK_QUEUE=m
207CONFIG_NETFILTER_NETLINK_LOG=m
208# CONFIG_NF_CONNTRACK_ENABLED is not set
209CONFIG_NETFILTER_XTABLES=m
210CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
211# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
212CONFIG_NETFILTER_XT_TARGET_MARK=m
213CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
214# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
215CONFIG_NETFILTER_XT_MATCH_COMMENT=m
216CONFIG_NETFILTER_XT_MATCH_DCCP=m
217# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
218# CONFIG_NETFILTER_XT_MATCH_ESP is not set
219CONFIG_NETFILTER_XT_MATCH_LENGTH=m
220CONFIG_NETFILTER_XT_MATCH_LIMIT=m
221CONFIG_NETFILTER_XT_MATCH_MAC=m
222CONFIG_NETFILTER_XT_MATCH_MARK=m
223# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
224# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
225CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
226# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
227CONFIG_NETFILTER_XT_MATCH_REALM=m
228CONFIG_NETFILTER_XT_MATCH_SCTP=m
229# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
230CONFIG_NETFILTER_XT_MATCH_STRING=m
231CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
232# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
233
234#
235# IP: Netfilter Configuration
236#
237CONFIG_IP_NF_QUEUE=m
238CONFIG_IP_NF_IPTABLES=m
239CONFIG_IP_NF_MATCH_IPRANGE=m
240CONFIG_IP_NF_MATCH_TOS=m
241CONFIG_IP_NF_MATCH_RECENT=m
242CONFIG_IP_NF_MATCH_ECN=m
243# CONFIG_IP_NF_MATCH_AH is not set
244CONFIG_IP_NF_MATCH_TTL=m
245CONFIG_IP_NF_MATCH_OWNER=m
246CONFIG_IP_NF_MATCH_ADDRTYPE=m
247CONFIG_IP_NF_FILTER=m
248CONFIG_IP_NF_TARGET_REJECT=m
249CONFIG_IP_NF_TARGET_LOG=m
250CONFIG_IP_NF_TARGET_ULOG=m
251CONFIG_IP_NF_TARGET_TCPMSS=m
252CONFIG_IP_NF_MANGLE=m
253CONFIG_IP_NF_TARGET_TOS=m
254CONFIG_IP_NF_TARGET_ECN=m
255CONFIG_IP_NF_TARGET_TTL=m
256CONFIG_IP_NF_RAW=m
257CONFIG_IP_NF_ARPTABLES=m
258CONFIG_IP_NF_ARPFILTER=m
259CONFIG_IP_NF_ARP_MANGLE=m
153 260
154# 261#
155# DCCP Configuration (EXPERIMENTAL) 262# DCCP Configuration (EXPERIMENTAL)
@@ -160,6 +267,11 @@ CONFIG_TCP_CONG_BIC=y
160# SCTP Configuration (EXPERIMENTAL) 267# SCTP Configuration (EXPERIMENTAL)
161# 268#
162# CONFIG_IP_SCTP is not set 269# CONFIG_IP_SCTP is not set
270
271#
272# TIPC Configuration (EXPERIMENTAL)
273#
274# CONFIG_TIPC is not set
163# CONFIG_ATM is not set 275# CONFIG_ATM is not set
164# CONFIG_BRIDGE is not set 276# CONFIG_BRIDGE is not set
165# CONFIG_VLAN_8021Q is not set 277# CONFIG_VLAN_8021Q is not set
@@ -169,11 +281,14 @@ CONFIG_TCP_CONG_BIC=y
169# CONFIG_ATALK is not set 281# CONFIG_ATALK is not set
170# CONFIG_X25 is not set 282# CONFIG_X25 is not set
171# CONFIG_LAPB is not set 283# CONFIG_LAPB is not set
172# CONFIG_NET_DIVERT is not set
173# CONFIG_ECONET is not set 284# CONFIG_ECONET is not set
174# CONFIG_WAN_ROUTER is not set 285# CONFIG_WAN_ROUTER is not set
286
287#
288# QoS and/or fair queueing
289#
175# CONFIG_NET_SCHED is not set 290# CONFIG_NET_SCHED is not set
176# CONFIG_NET_CLS_ROUTE is not set 291CONFIG_NET_CLS_ROUTE=y
177 292
178# 293#
179# Network testing 294# Network testing
@@ -193,8 +308,8 @@ CONFIG_TCP_CONG_BIC=y
193# 308#
194CONFIG_STANDALONE=y 309CONFIG_STANDALONE=y
195CONFIG_PREVENT_FIRMWARE_BUILD=y 310CONFIG_PREVENT_FIRMWARE_BUILD=y
196CONFIG_FW_LOADER=y 311# CONFIG_FW_LOADER is not set
197# CONFIG_DEBUG_DRIVER is not set 312# CONFIG_SYS_HYPERVISOR is not set
198 313
199# 314#
200# Connector - unified userspace <-> kernelspace linker 315# Connector - unified userspace <-> kernelspace linker
@@ -209,11 +324,21 @@ CONFIG_FW_LOADER=y
209# 324#
210# Parallel port support 325# Parallel port support
211# 326#
212# CONFIG_PARPORT is not set 327CONFIG_PARPORT=m
328# CONFIG_PARPORT_GSC is not set
329# CONFIG_PARPORT_AX88796 is not set
330CONFIG_PARPORT_1284=y
213 331
214# 332#
215# Plug and Play support 333# Plug and Play support
216# 334#
335CONFIG_PNP=y
336# CONFIG_PNP_DEBUG is not set
337
338#
339# Protocols
340#
341CONFIG_ISAPNP=y
217 342
218# 343#
219# Block devices 344# Block devices
@@ -221,37 +346,130 @@ CONFIG_FW_LOADER=y
221# CONFIG_BLK_DEV_COW_COMMON is not set 346# CONFIG_BLK_DEV_COW_COMMON is not set
222CONFIG_BLK_DEV_LOOP=y 347CONFIG_BLK_DEV_LOOP=y
223# CONFIG_BLK_DEV_CRYPTOLOOP is not set 348# CONFIG_BLK_DEV_CRYPTOLOOP is not set
224CONFIG_BLK_DEV_NBD=y 349CONFIG_BLK_DEV_NBD=m
225CONFIG_BLK_DEV_RAM=y 350# CONFIG_BLK_DEV_RAM is not set
226CONFIG_BLK_DEV_RAM_COUNT=16 351# CONFIG_BLK_DEV_INITRD is not set
227CONFIG_BLK_DEV_RAM_SIZE=4096 352CONFIG_CDROM_PKTCDVD=m
228CONFIG_BLK_DEV_INITRD=y 353CONFIG_CDROM_PKTCDVD_BUFFERS=8
229# CONFIG_CDROM_PKTCDVD is not set 354CONFIG_CDROM_PKTCDVD_WCACHE=y
355# CONFIG_ATA_OVER_ETH is not set
230 356
231# 357#
232# IO Schedulers 358# Misc devices
233# 359#
234CONFIG_IOSCHED_NOOP=y 360# CONFIG_TIFM_CORE is not set
235# CONFIG_IOSCHED_AS is not set
236# CONFIG_IOSCHED_DEADLINE is not set
237# CONFIG_IOSCHED_CFQ is not set
238# CONFIG_ATA_OVER_ETH is not set
239 361
240# 362#
241# ATA/ATAPI/MFM/RLL support 363# ATA/ATAPI/MFM/RLL support
242# 364#
243# CONFIG_IDE is not set 365CONFIG_IDE=y
366CONFIG_BLK_DEV_IDE=y
367
368#
369# Please see Documentation/ide.txt for help/info on IDE drives
370#
371# CONFIG_BLK_DEV_IDE_SATA is not set
372CONFIG_BLK_DEV_IDEDISK=y
373# CONFIG_IDEDISK_MULTI_MODE is not set
374CONFIG_BLK_DEV_IDECD=y
375# CONFIG_BLK_DEV_IDETAPE is not set
376# CONFIG_BLK_DEV_IDEFLOPPY is not set
377# CONFIG_BLK_DEV_IDESCSI is not set
378# CONFIG_IDE_TASK_IOCTL is not set
379
380#
381# IDE chipset support/bugfixes
382#
383CONFIG_IDE_GENERIC=y
384# CONFIG_BLK_DEV_IDEPNP is not set
385# CONFIG_IDE_ARM is not set
386# CONFIG_IDE_CHIPSETS is not set
387# CONFIG_BLK_DEV_IDEDMA is not set
388# CONFIG_IDEDMA_AUTO is not set
389# CONFIG_BLK_DEV_HD is not set
244 390
245# 391#
246# SCSI device support 392# SCSI device support
247# 393#
248# CONFIG_RAID_ATTRS is not set 394# CONFIG_RAID_ATTRS is not set
249# CONFIG_SCSI is not set 395CONFIG_SCSI=y
396# CONFIG_SCSI_NETLINK is not set
397CONFIG_SCSI_PROC_FS=y
398
399#
400# SCSI support type (disk, tape, CD-ROM)
401#
402CONFIG_BLK_DEV_SD=y
403CONFIG_CHR_DEV_ST=m
404# CONFIG_CHR_DEV_OSST is not set
405CONFIG_BLK_DEV_SR=m
406# CONFIG_BLK_DEV_SR_VENDOR is not set
407CONFIG_CHR_DEV_SG=m
408# CONFIG_CHR_DEV_SCH is not set
409
410#
411# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
412#
413CONFIG_SCSI_MULTI_LUN=y
414CONFIG_SCSI_CONSTANTS=y
415# CONFIG_SCSI_LOGGING is not set
416
417#
418# SCSI Transports
419#
420CONFIG_SCSI_SPI_ATTRS=y
421# CONFIG_SCSI_FC_ATTRS is not set
422# CONFIG_SCSI_ISCSI_ATTRS is not set
423# CONFIG_SCSI_SAS_ATTRS is not set
424# CONFIG_SCSI_SAS_LIBSAS is not set
425
426#
427# SCSI low-level drivers
428#
429# CONFIG_ISCSI_TCP is not set
430# CONFIG_SCSI_AHA152X is not set
431# CONFIG_SCSI_AIC7XXX_OLD is not set
432# CONFIG_SCSI_IN2000 is not set
433# CONFIG_SCSI_DTC3280 is not set
434# CONFIG_SCSI_FUTURE_DOMAIN is not set
435# CONFIG_SCSI_GENERIC_NCR5380 is not set
436# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
437# CONFIG_SCSI_NCR53C406A is not set
438# CONFIG_SCSI_PAS16 is not set
439# CONFIG_SCSI_PSI240I is not set
440# CONFIG_SCSI_QLOGIC_FAS is not set
441# CONFIG_SCSI_SYM53C416 is not set
442# CONFIG_SCSI_T128 is not set
443# CONFIG_SCSI_DEBUG is not set
444
445#
446# Serial ATA (prod) and Parallel ATA (experimental) drivers
447#
448
449#
450# Old CD-ROM drivers (not SCSI, not IDE)
451#
452# CONFIG_CD_NO_IDESCSI is not set
250 453
251# 454#
252# Multi-device support (RAID and LVM) 455# Multi-device support (RAID and LVM)
253# 456#
254# CONFIG_MD is not set 457CONFIG_MD=y
458CONFIG_BLK_DEV_MD=y
459# CONFIG_MD_LINEAR is not set
460# CONFIG_MD_RAID0 is not set
461CONFIG_MD_RAID1=y
462# CONFIG_MD_RAID10 is not set
463# CONFIG_MD_RAID456 is not set
464# CONFIG_MD_MULTIPATH is not set
465# CONFIG_MD_FAULTY is not set
466CONFIG_BLK_DEV_DM=m
467# CONFIG_DM_DEBUG is not set
468CONFIG_DM_CRYPT=m
469CONFIG_DM_SNAPSHOT=m
470# CONFIG_DM_MIRROR is not set
471# CONFIG_DM_ZERO is not set
472# CONFIG_DM_MULTIPATH is not set
255 473
256# 474#
257# Fusion MPT device support 475# Fusion MPT device support
@@ -270,10 +488,16 @@ CONFIG_IOSCHED_NOOP=y
270# Network device support 488# Network device support
271# 489#
272CONFIG_NETDEVICES=y 490CONFIG_NETDEVICES=y
273CONFIG_DUMMY=y 491CONFIG_DUMMY=m
274# CONFIG_BONDING is not set 492# CONFIG_BONDING is not set
275# CONFIG_EQUALIZER is not set 493# CONFIG_EQUALIZER is not set
276# CONFIG_TUN is not set 494# CONFIG_TUN is not set
495# CONFIG_NET_SB1000 is not set
496
497#
498# ARCnet devices
499#
500# CONFIG_ARCNET is not set
277 501
278# 502#
279# PHY device support 503# PHY device support
@@ -285,8 +509,33 @@ CONFIG_DUMMY=y
285# 509#
286CONFIG_NET_ETHERNET=y 510CONFIG_NET_ETHERNET=y
287CONFIG_MII=y 511CONFIG_MII=y
288CONFIG_SMC91X=y 512CONFIG_NET_VENDOR_3COM=y
289# CONFIG_NE2000 is not set 513# CONFIG_EL1 is not set
514# CONFIG_EL2 is not set
515# CONFIG_EL16 is not set
516# CONFIG_EL3 is not set
517# CONFIG_NET_VENDOR_SMC is not set
518# CONFIG_SMC91X is not set
519# CONFIG_NET_VENDOR_RACAL is not set
520# CONFIG_AT1700 is not set
521# CONFIG_DEPCA is not set
522# CONFIG_HP100 is not set
523CONFIG_NET_ISA=y
524# CONFIG_E2100 is not set
525# CONFIG_EWRK3 is not set
526# CONFIG_EEXPRESS is not set
527# CONFIG_EEXPRESS_PRO is not set
528# CONFIG_HPLAN_PLUS is not set
529# CONFIG_HPLAN is not set
530# CONFIG_LP486E is not set
531# CONFIG_ETH16I is not set
532CONFIG_NE2000=m
533# CONFIG_SEEQ8005 is not set
534CONFIG_NET_PCI=y
535# CONFIG_AC3200 is not set
536# CONFIG_APRICOT is not set
537# CONFIG_CS89x0 is not set
538# CONFIG_NET_POCKET is not set
290 539
291# 540#
292# Ethernet (1000 Mbit) 541# Ethernet (1000 Mbit)
@@ -299,6 +548,7 @@ CONFIG_SMC91X=y
299# 548#
300# Token Ring devices 549# Token Ring devices
301# 550#
551# CONFIG_TR is not set
302 552
303# 553#
304# Wireless LAN (non-hamradio) 554# Wireless LAN (non-hamradio)
@@ -306,14 +556,10 @@ CONFIG_SMC91X=y
306# CONFIG_NET_RADIO is not set 556# CONFIG_NET_RADIO is not set
307 557
308# 558#
309# PCMCIA network device support
310#
311# CONFIG_NET_PCMCIA is not set
312
313#
314# Wan interfaces 559# Wan interfaces
315# 560#
316# CONFIG_WAN is not set 561# CONFIG_WAN is not set
562# CONFIG_PLIP is not set
317# CONFIG_PPP is not set 563# CONFIG_PPP is not set
318# CONFIG_SLIP is not set 564# CONFIG_SLIP is not set
319# CONFIG_SHAPER is not set 565# CONFIG_SHAPER is not set
@@ -334,35 +580,83 @@ CONFIG_SMC91X=y
334# 580#
335# Input device support 581# Input device support
336# 582#
337# CONFIG_INPUT is not set 583CONFIG_INPUT=y
584# CONFIG_INPUT_FF_MEMLESS is not set
585
586#
587# Userland interfaces
588#
589CONFIG_INPUT_MOUSEDEV=y
590CONFIG_INPUT_MOUSEDEV_PSAUX=y
591CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
592CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
593# CONFIG_INPUT_JOYDEV is not set
594# CONFIG_INPUT_TSDEV is not set
595# CONFIG_INPUT_EVDEV is not set
596# CONFIG_INPUT_EVBUG is not set
597
598#
599# Input Device Drivers
600#
601CONFIG_INPUT_KEYBOARD=y
602CONFIG_KEYBOARD_ATKBD=y
603# CONFIG_KEYBOARD_SUNKBD is not set
604# CONFIG_KEYBOARD_LKKBD is not set
605# CONFIG_KEYBOARD_XTKBD is not set
606# CONFIG_KEYBOARD_NEWTON is not set
607# CONFIG_KEYBOARD_STOWAWAY is not set
608CONFIG_INPUT_MOUSE=y
609CONFIG_MOUSE_PS2=y
610# CONFIG_MOUSE_SERIAL is not set
611# CONFIG_MOUSE_INPORT is not set
612# CONFIG_MOUSE_LOGIBM is not set
613# CONFIG_MOUSE_PC110PAD is not set
614# CONFIG_MOUSE_VSXXXAA is not set
615# CONFIG_INPUT_JOYSTICK is not set
616# CONFIG_INPUT_TOUCHSCREEN is not set
617# CONFIG_INPUT_MISC is not set
338 618
339# 619#
340# Hardware I/O ports 620# Hardware I/O ports
341# 621#
342# CONFIG_SERIO is not set 622CONFIG_SERIO=y
623CONFIG_SERIO_I8042=y
624CONFIG_SERIO_SERPORT=y
625# CONFIG_SERIO_PARKBD is not set
626CONFIG_SERIO_LIBPS2=y
627# CONFIG_SERIO_RAW is not set
343# CONFIG_GAMEPORT is not set 628# CONFIG_GAMEPORT is not set
344 629
345# 630#
346# Character devices 631# Character devices
347# 632#
348# CONFIG_VT is not set 633CONFIG_VT=y
634CONFIG_VT_CONSOLE=y
635CONFIG_HW_CONSOLE=y
636# CONFIG_VT_HW_CONSOLE_BINDING is not set
349# CONFIG_SERIAL_NONSTANDARD is not set 637# CONFIG_SERIAL_NONSTANDARD is not set
350 638
351# 639#
352# Serial drivers 640# Serial drivers
353# 641#
354# CONFIG_SERIAL_8250 is not set 642CONFIG_SERIAL_8250=m
643CONFIG_SERIAL_8250_PNP=m
644CONFIG_SERIAL_8250_NR_UARTS=4
645CONFIG_SERIAL_8250_RUNTIME_UARTS=4
646# CONFIG_SERIAL_8250_EXTENDED is not set
355 647
356# 648#
357# Non-8250 serial port support 649# Non-8250 serial port support
358# 650#
359CONFIG_SERIAL_CORE=y 651CONFIG_SERIAL_CORE=y
360CONFIG_SERIAL_CORE_CONSOLE=y
361CONFIG_SERIAL_M32R_SIO=y 652CONFIG_SERIAL_M32R_SIO=y
362CONFIG_SERIAL_M32R_SIO_CONSOLE=y 653# CONFIG_SERIAL_M32R_SIO_CONSOLE is not set
363CONFIG_UNIX98_PTYS=y 654CONFIG_UNIX98_PTYS=y
364CONFIG_LEGACY_PTYS=y 655CONFIG_LEGACY_PTYS=y
365CONFIG_LEGACY_PTY_COUNT=256 656CONFIG_LEGACY_PTY_COUNT=256
657# CONFIG_PRINTER is not set
658# CONFIG_PPDEV is not set
659# CONFIG_TIPAR is not set
366 660
367# 661#
368# IPMI 662# IPMI
@@ -372,13 +666,8 @@ CONFIG_LEGACY_PTY_COUNT=256
372# 666#
373# Watchdog Cards 667# Watchdog Cards
374# 668#
375CONFIG_WATCHDOG=y 669# CONFIG_WATCHDOG is not set
376# CONFIG_WATCHDOG_NOWAYOUT is not set 670# CONFIG_HW_RANDOM is not set
377
378#
379# Watchdog Device Drivers
380#
381CONFIG_SOFT_WATCHDOG=y
382# CONFIG_RTC is not set 671# CONFIG_RTC is not set
383# CONFIG_DTLK is not set 672# CONFIG_DTLK is not set
384# CONFIG_R3964 is not set 673# CONFIG_R3964 is not set
@@ -386,21 +675,57 @@ CONFIG_SOFT_WATCHDOG=y
386# 675#
387# Ftape, the floppy tape device driver 676# Ftape, the floppy tape device driver
388# 677#
389
390#
391# PCMCIA character devices
392#
393# CONFIG_SYNCLINK_CS is not set
394# CONFIG_RAW_DRIVER is not set 678# CONFIG_RAW_DRIVER is not set
395 679
396# 680#
397# TPM devices 681# TPM devices
398# 682#
683# CONFIG_TCG_TPM is not set
399 684
400# 685#
401# I2C support 686# I2C support
402# 687#
403# CONFIG_I2C is not set 688CONFIG_I2C=m
689CONFIG_I2C_CHARDEV=m
690
691#
692# I2C Algorithms
693#
694CONFIG_I2C_ALGOBIT=m
695CONFIG_I2C_ALGOPCF=m
696# CONFIG_I2C_ALGOPCA is not set
697
698#
699# I2C Hardware Bus support
700#
701CONFIG_I2C_ELEKTOR=m
702CONFIG_I2C_ISA=m
703# CONFIG_I2C_OCORES is not set
704# CONFIG_I2C_PARPORT is not set
705# CONFIG_I2C_PARPORT_LIGHT is not set
706# CONFIG_I2C_STUB is not set
707# CONFIG_I2C_PCA_ISA is not set
708
709#
710# Miscellaneous I2C Chip support
711#
712# CONFIG_SENSORS_DS1337 is not set
713# CONFIG_SENSORS_DS1374 is not set
714# CONFIG_SENSORS_EEPROM is not set
715# CONFIG_SENSORS_PCF8574 is not set
716# CONFIG_SENSORS_PCA9539 is not set
717# CONFIG_SENSORS_PCF8591 is not set
718# CONFIG_SENSORS_MAX6875 is not set
719# CONFIG_I2C_DEBUG_CORE is not set
720# CONFIG_I2C_DEBUG_ALGO is not set
721# CONFIG_I2C_DEBUG_BUS is not set
722# CONFIG_I2C_DEBUG_CHIP is not set
723
724#
725# SPI support
726#
727# CONFIG_SPI is not set
728# CONFIG_SPI_MASTER is not set
404 729
405# 730#
406# Dallas's 1-wire bus 731# Dallas's 1-wire bus
@@ -410,21 +735,89 @@ CONFIG_SOFT_WATCHDOG=y
410# 735#
411# Hardware Monitoring support 736# Hardware Monitoring support
412# 737#
413# CONFIG_HWMON is not set 738CONFIG_HWMON=y
414# CONFIG_HWMON_VID is not set 739CONFIG_HWMON_VID=m
740# CONFIG_SENSORS_ABITUGURU is not set
741CONFIG_SENSORS_ADM1021=m
742CONFIG_SENSORS_ADM1025=m
743# CONFIG_SENSORS_ADM1026 is not set
744CONFIG_SENSORS_ADM1031=m
745# CONFIG_SENSORS_ADM9240 is not set
746CONFIG_SENSORS_ASB100=m
747# CONFIG_SENSORS_ATXP1 is not set
748CONFIG_SENSORS_DS1621=m
749# CONFIG_SENSORS_F71805F is not set
750CONFIG_SENSORS_FSCHER=m
751# CONFIG_SENSORS_FSCPOS is not set
752CONFIG_SENSORS_GL518SM=m
753# CONFIG_SENSORS_GL520SM is not set
754CONFIG_SENSORS_IT87=m
755# CONFIG_SENSORS_LM63 is not set
756CONFIG_SENSORS_LM75=m
757CONFIG_SENSORS_LM77=m
758CONFIG_SENSORS_LM78=m
759CONFIG_SENSORS_LM80=m
760CONFIG_SENSORS_LM83=m
761CONFIG_SENSORS_LM85=m
762# CONFIG_SENSORS_LM87 is not set
763CONFIG_SENSORS_LM90=m
764# CONFIG_SENSORS_LM92 is not set
765CONFIG_SENSORS_MAX1619=m
766# CONFIG_SENSORS_PC87360 is not set
767CONFIG_SENSORS_SMSC47M1=m
768# CONFIG_SENSORS_SMSC47M192 is not set
769# CONFIG_SENSORS_SMSC47B397 is not set
770# CONFIG_SENSORS_VT1211 is not set
771CONFIG_SENSORS_W83781D=m
772# CONFIG_SENSORS_W83791D is not set
773# CONFIG_SENSORS_W83792D is not set
774CONFIG_SENSORS_W83L785TS=m
775CONFIG_SENSORS_W83627HF=m
776# CONFIG_SENSORS_W83627EHF is not set
777# CONFIG_HWMON_DEBUG_CHIP is not set
415 778
416# 779#
417# Misc devices 780# Multimedia devices
418# 781#
782CONFIG_VIDEO_DEV=m
783CONFIG_VIDEO_V4L1=y
784CONFIG_VIDEO_V4L1_COMPAT=y
785CONFIG_VIDEO_V4L2=y
419 786
420# 787#
421# Multimedia Capabilities Port drivers 788# Video Capture Adapters
422# 789#
423 790
424# 791#
425# Multimedia devices 792# Video Capture Adapters
426# 793#
427# CONFIG_VIDEO_DEV is not set 794# CONFIG_VIDEO_ADV_DEBUG is not set
795CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
796# CONFIG_VIDEO_VIVI is not set
797# CONFIG_VIDEO_PMS is not set
798CONFIG_VIDEO_BWQCAM=m
799CONFIG_VIDEO_CQCAM=m
800# CONFIG_VIDEO_W9966 is not set
801# CONFIG_VIDEO_CPIA is not set
802# CONFIG_VIDEO_SAA5246A is not set
803# CONFIG_VIDEO_SAA5249 is not set
804# CONFIG_TUNER_3036 is not set
805# CONFIG_VIDEO_M32R_AR is not set
806
807#
808# Radio Adapters
809#
810# CONFIG_RADIO_CADET is not set
811# CONFIG_RADIO_RTRACK is not set
812# CONFIG_RADIO_RTRACK2 is not set
813# CONFIG_RADIO_AZTECH is not set
814# CONFIG_RADIO_GEMTEK is not set
815# CONFIG_RADIO_SF16FMI is not set
816# CONFIG_RADIO_SF16FMR2 is not set
817# CONFIG_RADIO_TERRATEC is not set
818# CONFIG_RADIO_TRUST is not set
819# CONFIG_RADIO_TYPHOON is not set
820# CONFIG_RADIO_ZOLTRIX is not set
428 821
429# 822#
430# Digital Video Broadcasting Devices 823# Digital Video Broadcasting Devices
@@ -434,9 +827,19 @@ CONFIG_SOFT_WATCHDOG=y
434# 827#
435# Graphics support 828# Graphics support
436# 829#
830CONFIG_FIRMWARE_EDID=y
437# CONFIG_FB is not set 831# CONFIG_FB is not set
438 832
439# 833#
834# Console display driver support
835#
836CONFIG_VGA_CONSOLE=y
837# CONFIG_VGACON_SOFT_SCROLLBACK is not set
838# CONFIG_MDA_CONSOLE is not set
839CONFIG_DUMMY_CONSOLE=y
840# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
841
842#
440# Sound 843# Sound
441# 844#
442# CONFIG_SOUND is not set 845# CONFIG_SOUND is not set
@@ -446,6 +849,11 @@ CONFIG_SOFT_WATCHDOG=y
446# 849#
447# CONFIG_USB_ARCH_HAS_HCD is not set 850# CONFIG_USB_ARCH_HAS_HCD is not set
448# CONFIG_USB_ARCH_HAS_OHCI is not set 851# CONFIG_USB_ARCH_HAS_OHCI is not set
852# CONFIG_USB_ARCH_HAS_EHCI is not set
853
854#
855# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
856#
449 857
450# 858#
451# USB Gadget Support 859# USB Gadget Support
@@ -458,33 +866,69 @@ CONFIG_SOFT_WATCHDOG=y
458# CONFIG_MMC is not set 866# CONFIG_MMC is not set
459 867
460# 868#
869# LED devices
870#
871# CONFIG_NEW_LEDS is not set
872
873#
874# LED drivers
875#
876
877#
878# LED Triggers
879#
880
881#
461# InfiniBand support 882# InfiniBand support
462# 883#
463 884
464# 885#
465# SN Devices 886# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
887#
888
889#
890# Real Time Clock
891#
892# CONFIG_RTC_CLASS is not set
893
894#
895# DMA Engine support
896#
897# CONFIG_DMA_ENGINE is not set
898
899#
900# DMA Clients
901#
902
903#
904# DMA Devices
466# 905#
467 906
468# 907#
469# File systems 908# File systems
470# 909#
471CONFIG_EXT2_FS=y 910CONFIG_EXT2_FS=y
472# CONFIG_EXT2_FS_XATTR is not set 911CONFIG_EXT2_FS_XATTR=y
473# CONFIG_EXT2_FS_XIP is not set 912CONFIG_EXT2_FS_POSIX_ACL=y
913CONFIG_EXT2_FS_SECURITY=y
474CONFIG_EXT3_FS=y 914CONFIG_EXT3_FS=y
475CONFIG_EXT3_FS_XATTR=y 915CONFIG_EXT3_FS_XATTR=y
476CONFIG_EXT3_FS_POSIX_ACL=y 916CONFIG_EXT3_FS_POSIX_ACL=y
477# CONFIG_EXT3_FS_SECURITY is not set 917CONFIG_EXT3_FS_SECURITY=y
918# CONFIG_EXT4DEV_FS is not set
478CONFIG_JBD=y 919CONFIG_JBD=y
479# CONFIG_JBD_DEBUG is not set 920CONFIG_JBD_DEBUG=y
480CONFIG_FS_MBCACHE=y 921CONFIG_FS_MBCACHE=y
481# CONFIG_REISERFS_FS is not set 922# CONFIG_REISERFS_FS is not set
482# CONFIG_JFS_FS is not set 923# CONFIG_JFS_FS is not set
483CONFIG_FS_POSIX_ACL=y 924CONFIG_FS_POSIX_ACL=y
484# CONFIG_XFS_FS is not set 925# CONFIG_XFS_FS is not set
926# CONFIG_GFS2_FS is not set
927# CONFIG_OCFS2_FS is not set
485# CONFIG_MINIX_FS is not set 928# CONFIG_MINIX_FS is not set
486# CONFIG_ROMFS_FS is not set 929CONFIG_ROMFS_FS=y
487# CONFIG_INOTIFY is not set 930CONFIG_INOTIFY=y
931CONFIG_INOTIFY_USER=y
488# CONFIG_QUOTA is not set 932# CONFIG_QUOTA is not set
489CONFIG_DNOTIFY=y 933CONFIG_DNOTIFY=y
490# CONFIG_AUTOFS_FS is not set 934# CONFIG_AUTOFS_FS is not set
@@ -494,8 +938,11 @@ CONFIG_DNOTIFY=y
494# 938#
495# CD-ROM/DVD Filesystems 939# CD-ROM/DVD Filesystems
496# 940#
497# CONFIG_ISO9660_FS is not set 941CONFIG_ISO9660_FS=y
498# CONFIG_UDF_FS is not set 942CONFIG_JOLIET=y
943# CONFIG_ZISOFS is not set
944CONFIG_UDF_FS=m
945CONFIG_UDF_NLS=y
499 946
500# 947#
501# DOS/FAT/NT Filesystems 948# DOS/FAT/NT Filesystems
@@ -503,7 +950,7 @@ CONFIG_DNOTIFY=y
503CONFIG_FAT_FS=y 950CONFIG_FAT_FS=y
504CONFIG_MSDOS_FS=y 951CONFIG_MSDOS_FS=y
505CONFIG_VFAT_FS=y 952CONFIG_VFAT_FS=y
506CONFIG_FAT_DEFAULT_CODEPAGE=932 953CONFIG_FAT_DEFAULT_CODEPAGE=437
507CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" 954CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
508# CONFIG_NTFS_FS is not set 955# CONFIG_NTFS_FS is not set
509 956
@@ -511,11 +958,13 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
511# Pseudo filesystems 958# Pseudo filesystems
512# 959#
513CONFIG_PROC_FS=y 960CONFIG_PROC_FS=y
961CONFIG_PROC_SYSCTL=y
514CONFIG_SYSFS=y 962CONFIG_SYSFS=y
515CONFIG_TMPFS=y 963CONFIG_TMPFS=y
964# CONFIG_TMPFS_POSIX_ACL is not set
516# CONFIG_HUGETLB_PAGE is not set 965# CONFIG_HUGETLB_PAGE is not set
517CONFIG_RAMFS=y 966CONFIG_RAMFS=y
518# CONFIG_RELAYFS_FS is not set 967CONFIG_CONFIGFS_FS=m
519 968
520# 969#
521# Miscellaneous filesystems 970# Miscellaneous filesystems
@@ -527,7 +976,7 @@ CONFIG_RAMFS=y
527# CONFIG_BEFS_FS is not set 976# CONFIG_BEFS_FS is not set
528# CONFIG_BFS_FS is not set 977# CONFIG_BFS_FS is not set
529# CONFIG_EFS_FS is not set 978# CONFIG_EFS_FS is not set
530CONFIG_CRAMFS=y 979# CONFIG_CRAMFS is not set
531# CONFIG_VXFS_FS is not set 980# CONFIG_VXFS_FS is not set
532# CONFIG_HPFS_FS is not set 981# CONFIG_HPFS_FS is not set
533# CONFIG_QNX4FS_FS is not set 982# CONFIG_QNX4FS_FS is not set
@@ -542,10 +991,14 @@ CONFIG_NFS_V3=y
542# CONFIG_NFS_V3_ACL is not set 991# CONFIG_NFS_V3_ACL is not set
543# CONFIG_NFS_V4 is not set 992# CONFIG_NFS_V4 is not set
544# CONFIG_NFS_DIRECTIO is not set 993# CONFIG_NFS_DIRECTIO is not set
545# CONFIG_NFSD is not set 994CONFIG_NFSD=m
546CONFIG_ROOT_NFS=y 995CONFIG_NFSD_V3=y
996# CONFIG_NFSD_V3_ACL is not set
997# CONFIG_NFSD_V4 is not set
998# CONFIG_NFSD_TCP is not set
547CONFIG_LOCKD=y 999CONFIG_LOCKD=y
548CONFIG_LOCKD_V4=y 1000CONFIG_LOCKD_V4=y
1001CONFIG_EXPORTFS=m
549CONFIG_NFS_COMMON=y 1002CONFIG_NFS_COMMON=y
550CONFIG_SUNRPC=y 1003CONFIG_SUNRPC=y
551# CONFIG_RPCSEC_GSS_KRB5 is not set 1004# CONFIG_RPCSEC_GSS_KRB5 is not set
@@ -567,7 +1020,7 @@ CONFIG_MSDOS_PARTITION=y
567# Native Language Support 1020# Native Language Support
568# 1021#
569CONFIG_NLS=y 1022CONFIG_NLS=y
570CONFIG_NLS_DEFAULT="iso8859-1" 1023CONFIG_NLS_DEFAULT="cp437"
571CONFIG_NLS_CODEPAGE_437=y 1024CONFIG_NLS_CODEPAGE_437=y
572# CONFIG_NLS_CODEPAGE_737 is not set 1025# CONFIG_NLS_CODEPAGE_737 is not set
573# CONFIG_NLS_CODEPAGE_775 is not set 1026# CONFIG_NLS_CODEPAGE_775 is not set
@@ -592,7 +1045,7 @@ CONFIG_NLS_CODEPAGE_932=y
592# CONFIG_NLS_CODEPAGE_1250 is not set 1045# CONFIG_NLS_CODEPAGE_1250 is not set
593# CONFIG_NLS_CODEPAGE_1251 is not set 1046# CONFIG_NLS_CODEPAGE_1251 is not set
594# CONFIG_NLS_ASCII is not set 1047# CONFIG_NLS_ASCII is not set
595# CONFIG_NLS_ISO8859_1 is not set 1048CONFIG_NLS_ISO8859_1=y
596# CONFIG_NLS_ISO8859_2 is not set 1049# CONFIG_NLS_ISO8859_2 is not set
597# CONFIG_NLS_ISO8859_3 is not set 1050# CONFIG_NLS_ISO8859_3 is not set
598# CONFIG_NLS_ISO8859_4 is not set 1051# CONFIG_NLS_ISO8859_4 is not set
@@ -605,32 +1058,28 @@ CONFIG_NLS_CODEPAGE_932=y
605# CONFIG_NLS_ISO8859_15 is not set 1058# CONFIG_NLS_ISO8859_15 is not set
606# CONFIG_NLS_KOI8_R is not set 1059# CONFIG_NLS_KOI8_R is not set
607# CONFIG_NLS_KOI8_U is not set 1060# CONFIG_NLS_KOI8_U is not set
608CONFIG_NLS_UTF8=y 1061# CONFIG_NLS_UTF8 is not set
609 1062
610# 1063#
611# Profiling support 1064# Profiling support
612# 1065#
613# CONFIG_PROFILING is not set 1066CONFIG_PROFILING=y
1067CONFIG_OPROFILE=m
614 1068
615# 1069#
616# Kernel hacking 1070# Kernel hacking
617# 1071#
618# CONFIG_PRINTK_TIME is not set 1072# CONFIG_PRINTK_TIME is not set
619CONFIG_DEBUG_KERNEL=y 1073CONFIG_ENABLE_MUST_CHECK=y
620CONFIG_MAGIC_SYSRQ=y 1074# CONFIG_MAGIC_SYSRQ is not set
1075# CONFIG_UNUSED_SYMBOLS is not set
1076# CONFIG_DEBUG_KERNEL is not set
621CONFIG_LOG_BUF_SHIFT=14 1077CONFIG_LOG_BUF_SHIFT=14
622CONFIG_DETECT_SOFTLOCKUP=y 1078CONFIG_DEBUG_BUGVERBOSE=y
623# CONFIG_SCHEDSTATS is not set
624# CONFIG_DEBUG_SLAB is not set
625# CONFIG_DEBUG_SPINLOCK is not set
626# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
627# CONFIG_DEBUG_KOBJECT is not set
628# CONFIG_DEBUG_BUGVERBOSE is not set
629CONFIG_DEBUG_INFO=y
630# CONFIG_DEBUG_FS is not set 1079# CONFIG_DEBUG_FS is not set
631# CONFIG_FRAME_POINTER is not set 1080# CONFIG_FRAME_POINTER is not set
632# CONFIG_DEBUG_STACKOVERFLOW is not set 1081# CONFIG_UNWIND_INFO is not set
633# CONFIG_DEBUG_STACK_USAGE is not set 1082# CONFIG_HEADERS_CHECK is not set
634 1083
635# 1084#
636# Security options 1085# Security options
@@ -641,7 +1090,38 @@ CONFIG_DEBUG_INFO=y
641# 1090#
642# Cryptographic options 1091# Cryptographic options
643# 1092#
644# CONFIG_CRYPTO is not set 1093CONFIG_CRYPTO=y
1094CONFIG_CRYPTO_ALGAPI=y
1095CONFIG_CRYPTO_BLKCIPHER=m
1096CONFIG_CRYPTO_HASH=y
1097CONFIG_CRYPTO_MANAGER=y
1098CONFIG_CRYPTO_HMAC=y
1099CONFIG_CRYPTO_NULL=m
1100CONFIG_CRYPTO_MD4=m
1101CONFIG_CRYPTO_MD5=m
1102CONFIG_CRYPTO_SHA1=m
1103CONFIG_CRYPTO_SHA256=m
1104CONFIG_CRYPTO_SHA512=m
1105CONFIG_CRYPTO_WP512=m
1106# CONFIG_CRYPTO_TGR192 is not set
1107CONFIG_CRYPTO_ECB=m
1108CONFIG_CRYPTO_CBC=m
1109CONFIG_CRYPTO_DES=m
1110CONFIG_CRYPTO_BLOWFISH=m
1111CONFIG_CRYPTO_TWOFISH=m
1112CONFIG_CRYPTO_TWOFISH_COMMON=m
1113CONFIG_CRYPTO_SERPENT=m
1114CONFIG_CRYPTO_AES=m
1115# CONFIG_CRYPTO_CAST5 is not set
1116# CONFIG_CRYPTO_CAST6 is not set
1117# CONFIG_CRYPTO_TEA is not set
1118# CONFIG_CRYPTO_ARC4 is not set
1119# CONFIG_CRYPTO_KHAZAD is not set
1120# CONFIG_CRYPTO_ANUBIS is not set
1121# CONFIG_CRYPTO_DEFLATE is not set
1122# CONFIG_CRYPTO_MICHAEL_MIC is not set
1123CONFIG_CRYPTO_CRC32C=m
1124# CONFIG_CRYPTO_TEST is not set
645 1125
646# 1126#
647# Hardware crypto devices 1127# Hardware crypto devices
@@ -650,8 +1130,12 @@ CONFIG_DEBUG_INFO=y
650# 1130#
651# Library routines 1131# Library routines
652# 1132#
653# CONFIG_CRC_CCITT is not set 1133CONFIG_CRC_CCITT=m
654# CONFIG_CRC16 is not set 1134CONFIG_CRC16=m
655CONFIG_CRC32=y 1135CONFIG_CRC32=y
656CONFIG_LIBCRC32C=y 1136CONFIG_LIBCRC32C=m
657CONFIG_ZLIB_INFLATE=y 1137CONFIG_TEXTSEARCH=y
1138CONFIG_TEXTSEARCH_KMP=m
1139CONFIG_TEXTSEARCH_BM=m
1140CONFIG_TEXTSEARCH_FSM=m
1141CONFIG_PLIST=y
diff --git a/arch/m32r/m32700ut/defconfig.m32700ut.smp b/arch/m32r/m32700ut/defconfig.m32700ut.smp
index 3e607d90b5f4..13579917afef 100644
--- a/arch/m32r/m32700ut/defconfig.m32700ut.smp
+++ b/arch/m32r/m32700ut/defconfig.m32700ut.smp
@@ -1,19 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc5 3# Linux kernel version: 2.6.19
4# Fri Jun 3 16:20:58 2005 4# Tue Dec 12 17:52:38 2006
5# 5#
6CONFIG_M32R=y 6CONFIG_M32R=y
7# CONFIG_UID16 is not set
8CONFIG_GENERIC_ISA_DMA=y 7CONFIG_GENERIC_ISA_DMA=y
9CONFIG_GENERIC_HARDIRQS=y 8CONFIG_GENERIC_HARDIRQS=y
10CONFIG_GENERIC_IRQ_PROBE=y 9CONFIG_GENERIC_IRQ_PROBE=y
10CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 11
12# 12#
13# Code maturity level options 13# Code maturity level options
14# 14#
15CONFIG_EXPERIMENTAL=y 15CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_LOCK_KERNEL=y 16CONFIG_LOCK_KERNEL=y
18CONFIG_INIT_ENV_ARG_LIMIT=32 17CONFIG_INIT_ENV_ARG_LIMIT=32
19 18
@@ -21,33 +20,40 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
21# General setup 20# General setup
22# 21#
23CONFIG_LOCALVERSION="" 22CONFIG_LOCALVERSION=""
23CONFIG_LOCALVERSION_AUTO=y
24CONFIG_SWAP=y 24CONFIG_SWAP=y
25CONFIG_SYSVIPC=y 25CONFIG_SYSVIPC=y
26# CONFIG_IPC_NS is not set
26# CONFIG_POSIX_MQUEUE is not set 27# CONFIG_POSIX_MQUEUE is not set
27CONFIG_BSD_PROCESS_ACCT=y 28CONFIG_BSD_PROCESS_ACCT=y
28# CONFIG_BSD_PROCESS_ACCT_V3 is not set 29# CONFIG_BSD_PROCESS_ACCT_V3 is not set
29CONFIG_SYSCTL=y 30# CONFIG_TASKSTATS is not set
31# CONFIG_UTS_NS is not set
30# CONFIG_AUDIT is not set 32# CONFIG_AUDIT is not set
31CONFIG_HOTPLUG=y
32CONFIG_KOBJECT_UEVENT=y
33CONFIG_IKCONFIG=y 33CONFIG_IKCONFIG=y
34# CONFIG_IKCONFIG_PROC is not set 34CONFIG_IKCONFIG_PROC=y
35# CONFIG_CPUSETS is not set 35# CONFIG_CPUSETS is not set
36CONFIG_SYSFS_DEPRECATED=y
37# CONFIG_RELAY is not set
38CONFIG_INITRAMFS_SOURCE=""
39# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
40CONFIG_SYSCTL=y
36CONFIG_EMBEDDED=y 41CONFIG_EMBEDDED=y
42CONFIG_SYSCTL_SYSCALL=y
37# CONFIG_KALLSYMS is not set 43# CONFIG_KALLSYMS is not set
44CONFIG_HOTPLUG=y
38CONFIG_PRINTK=y 45CONFIG_PRINTK=y
39CONFIG_BUG=y 46CONFIG_BUG=y
47CONFIG_ELF_CORE=y
40CONFIG_BASE_FULL=y 48CONFIG_BASE_FULL=y
41# CONFIG_FUTEX is not set 49# CONFIG_FUTEX is not set
42# CONFIG_EPOLL is not set 50# CONFIG_EPOLL is not set
43# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
44CONFIG_SHMEM=y 51CONFIG_SHMEM=y
45CONFIG_CC_ALIGN_FUNCTIONS=0 52CONFIG_SLAB=y
46CONFIG_CC_ALIGN_LABELS=0 53CONFIG_VM_EVENT_COUNTERS=y
47CONFIG_CC_ALIGN_LOOPS=0
48CONFIG_CC_ALIGN_JUMPS=0
49# CONFIG_TINY_SHMEM is not set 54# CONFIG_TINY_SHMEM is not set
50CONFIG_BASE_SMALL=0 55CONFIG_BASE_SMALL=0
56# CONFIG_SLOB is not set
51 57
52# 58#
53# Loadable module support 59# Loadable module support
@@ -55,13 +61,31 @@ CONFIG_BASE_SMALL=0
55CONFIG_MODULES=y 61CONFIG_MODULES=y
56CONFIG_MODULE_UNLOAD=y 62CONFIG_MODULE_UNLOAD=y
57# CONFIG_MODULE_FORCE_UNLOAD is not set 63# CONFIG_MODULE_FORCE_UNLOAD is not set
58CONFIG_OBSOLETE_MODPARM=y
59# CONFIG_MODVERSIONS is not set 64# CONFIG_MODVERSIONS is not set
60# CONFIG_MODULE_SRCVERSION_ALL is not set 65# CONFIG_MODULE_SRCVERSION_ALL is not set
61CONFIG_KMOD=y 66CONFIG_KMOD=y
62CONFIG_STOP_MACHINE=y 67CONFIG_STOP_MACHINE=y
63 68
64# 69#
70# Block layer
71#
72CONFIG_BLOCK=y
73# CONFIG_BLK_DEV_IO_TRACE is not set
74
75#
76# IO Schedulers
77#
78CONFIG_IOSCHED_NOOP=y
79# CONFIG_IOSCHED_AS is not set
80CONFIG_IOSCHED_DEADLINE=y
81CONFIG_IOSCHED_CFQ=y
82# CONFIG_DEFAULT_AS is not set
83# CONFIG_DEFAULT_DEADLINE is not set
84CONFIG_DEFAULT_CFQ=y
85# CONFIG_DEFAULT_NOOP is not set
86CONFIG_DEFAULT_IOSCHED="cfq"
87
88#
65# Processor type and features 89# Processor type and features
66# 90#
67# CONFIG_PLAT_MAPPI is not set 91# CONFIG_PLAT_MAPPI is not set
@@ -71,8 +95,10 @@ CONFIG_PLAT_M32700UT=y
71# CONFIG_PLAT_OAKS32R is not set 95# CONFIG_PLAT_OAKS32R is not set
72# CONFIG_PLAT_MAPPI2 is not set 96# CONFIG_PLAT_MAPPI2 is not set
73# CONFIG_PLAT_MAPPI3 is not set 97# CONFIG_PLAT_MAPPI3 is not set
98# CONFIG_PLAT_M32104UT is not set
74CONFIG_CHIP_M32700=y 99CONFIG_CHIP_M32700=y
75# CONFIG_CHIP_M32102 is not set 100# CONFIG_CHIP_M32102 is not set
101# CONFIG_CHIP_M32104 is not set
76# CONFIG_CHIP_VDEC2 is not set 102# CONFIG_CHIP_VDEC2 is not set
77# CONFIG_CHIP_OPSP is not set 103# CONFIG_CHIP_OPSP is not set
78CONFIG_MMU=y 104CONFIG_MMU=y
@@ -86,37 +112,39 @@ CONFIG_TIMER_DIVIDE=128
86CONFIG_MEMORY_START=0x08000000 112CONFIG_MEMORY_START=0x08000000
87CONFIG_MEMORY_SIZE=0x01000000 113CONFIG_MEMORY_SIZE=0x01000000
88CONFIG_NOHIGHMEM=y 114CONFIG_NOHIGHMEM=y
89# CONFIG_DISCONTIGMEM is not set 115CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
116CONFIG_SELECT_MEMORY_MODEL=y
117# CONFIG_FLATMEM_MANUAL is not set
118CONFIG_DISCONTIGMEM_MANUAL=y
119# CONFIG_SPARSEMEM_MANUAL is not set
120CONFIG_DISCONTIGMEM=y
121CONFIG_FLAT_NODE_MEM_MAP=y
122CONFIG_NEED_MULTIPLE_NODES=y
123# CONFIG_SPARSEMEM_STATIC is not set
124CONFIG_SPLIT_PTLOCK_CPUS=4
125# CONFIG_RESOURCES_64BIT is not set
126CONFIG_IRAM_START=0x00f00000
127CONFIG_IRAM_SIZE=0x00080000
90CONFIG_RWSEM_GENERIC_SPINLOCK=y 128CONFIG_RWSEM_GENERIC_SPINLOCK=y
91# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set 129# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
130CONFIG_GENERIC_FIND_NEXT_BIT=y
131CONFIG_GENERIC_HWEIGHT=y
92CONFIG_GENERIC_CALIBRATE_DELAY=y 132CONFIG_GENERIC_CALIBRATE_DELAY=y
93CONFIG_PREEMPT=y 133CONFIG_PREEMPT=y
94# CONFIG_HAVE_DEC_LOCK is not set
95CONFIG_SMP=y 134CONFIG_SMP=y
96CONFIG_CHIP_M32700_TS1=y 135# CONFIG_CHIP_M32700_TS1 is not set
97CONFIG_NR_CPUS=2 136CONFIG_NR_CPUS=2
98# CONFIG_NUMA is not set 137CONFIG_NODES_SHIFT=1
99 138
100# 139#
101# Bus options (PCI, PCMCIA, EISA, MCA, ISA) 140# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
102# 141#
103# CONFIG_PCI is not set
104# CONFIG_ISA is not set 142# CONFIG_ISA is not set
105 143
106# 144#
107# PCCARD (PCMCIA/CardBus) support 145# PCCARD (PCMCIA/CardBus) support
108# 146#
109CONFIG_PCCARD=y 147# CONFIG_PCCARD is not set
110# CONFIG_PCMCIA_DEBUG is not set
111CONFIG_PCMCIA=y
112
113#
114# PC-card bridges
115#
116# CONFIG_TCIC is not set
117# CONFIG_M32R_PCC is not set
118CONFIG_M32R_CFC=y
119CONFIG_M32R_CFC_NUM=1
120 148
121# 149#
122# PCI Hotplug Support 150# PCI Hotplug Support
@@ -129,6 +157,94 @@ CONFIG_BINFMT_ELF=y
129# CONFIG_BINFMT_MISC is not set 157# CONFIG_BINFMT_MISC is not set
130 158
131# 159#
160# Networking
161#
162CONFIG_NET=y
163
164#
165# Networking options
166#
167# CONFIG_NETDEBUG is not set
168CONFIG_PACKET=y
169# CONFIG_PACKET_MMAP is not set
170CONFIG_UNIX=y
171CONFIG_XFRM=y
172# CONFIG_XFRM_USER is not set
173# CONFIG_XFRM_SUB_POLICY is not set
174# CONFIG_NET_KEY is not set
175CONFIG_INET=y
176# CONFIG_IP_MULTICAST is not set
177# CONFIG_IP_ADVANCED_ROUTER is not set
178CONFIG_IP_FIB_HASH=y
179CONFIG_IP_PNP=y
180CONFIG_IP_PNP_DHCP=y
181# CONFIG_IP_PNP_BOOTP is not set
182# CONFIG_IP_PNP_RARP is not set
183# CONFIG_NET_IPIP is not set
184# CONFIG_NET_IPGRE is not set
185# CONFIG_ARPD is not set
186# CONFIG_SYN_COOKIES is not set
187# CONFIG_INET_AH is not set
188# CONFIG_INET_ESP is not set
189# CONFIG_INET_IPCOMP is not set
190# CONFIG_INET_XFRM_TUNNEL is not set
191# CONFIG_INET_TUNNEL is not set
192CONFIG_INET_XFRM_MODE_TRANSPORT=y
193CONFIG_INET_XFRM_MODE_TUNNEL=y
194CONFIG_INET_XFRM_MODE_BEET=y
195CONFIG_INET_DIAG=y
196CONFIG_INET_TCP_DIAG=y
197# CONFIG_TCP_CONG_ADVANCED is not set
198CONFIG_TCP_CONG_CUBIC=y
199CONFIG_DEFAULT_TCP_CONG="cubic"
200# CONFIG_TCP_MD5SIG is not set
201# CONFIG_IPV6 is not set
202# CONFIG_INET6_XFRM_TUNNEL is not set
203# CONFIG_INET6_TUNNEL is not set
204# CONFIG_NETWORK_SECMARK is not set
205# CONFIG_NETFILTER is not set
206
207#
208# DCCP Configuration (EXPERIMENTAL)
209#
210# CONFIG_IP_DCCP is not set
211
212#
213# SCTP Configuration (EXPERIMENTAL)
214#
215# CONFIG_IP_SCTP is not set
216
217#
218# TIPC Configuration (EXPERIMENTAL)
219#
220# CONFIG_TIPC is not set
221# CONFIG_ATM is not set
222# CONFIG_BRIDGE is not set
223# CONFIG_VLAN_8021Q is not set
224# CONFIG_DECNET is not set
225# CONFIG_LLC2 is not set
226# CONFIG_IPX is not set
227# CONFIG_ATALK is not set
228# CONFIG_X25 is not set
229# CONFIG_LAPB is not set
230# CONFIG_ECONET is not set
231# CONFIG_WAN_ROUTER is not set
232
233#
234# QoS and/or fair queueing
235#
236# CONFIG_NET_SCHED is not set
237
238#
239# Network testing
240#
241# CONFIG_NET_PKTGEN is not set
242# CONFIG_HAMRADIO is not set
243# CONFIG_IRDA is not set
244# CONFIG_BT is not set
245# CONFIG_IEEE80211 is not set
246
247#
132# Device Drivers 248# Device Drivers
133# 249#
134 250
@@ -137,12 +253,100 @@ CONFIG_BINFMT_ELF=y
137# 253#
138CONFIG_STANDALONE=y 254CONFIG_STANDALONE=y
139CONFIG_PREVENT_FIRMWARE_BUILD=y 255CONFIG_PREVENT_FIRMWARE_BUILD=y
140# CONFIG_FW_LOADER is not set 256CONFIG_FW_LOADER=y
257# CONFIG_SYS_HYPERVISOR is not set
258
259#
260# Connector - unified userspace <-> kernelspace linker
261#
262# CONFIG_CONNECTOR is not set
141 263
142# 264#
143# Memory Technology Devices (MTD) 265# Memory Technology Devices (MTD)
144# 266#
145# CONFIG_MTD is not set 267CONFIG_MTD=y
268# CONFIG_MTD_DEBUG is not set
269# CONFIG_MTD_CONCAT is not set
270CONFIG_MTD_PARTITIONS=y
271CONFIG_MTD_REDBOOT_PARTS=y
272CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
273# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
274# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
275# CONFIG_MTD_CMDLINE_PARTS is not set
276
277#
278# User Modules And Translation Layers
279#
280# CONFIG_MTD_CHAR is not set
281CONFIG_MTD_BLOCK=y
282# CONFIG_FTL is not set
283# CONFIG_NFTL is not set
284# CONFIG_INFTL is not set
285# CONFIG_RFD_FTL is not set
286# CONFIG_SSFDC is not set
287
288#
289# RAM/ROM/Flash chip drivers
290#
291CONFIG_MTD_CFI=m
292CONFIG_MTD_JEDECPROBE=m
293CONFIG_MTD_GEN_PROBE=m
294CONFIG_MTD_CFI_ADV_OPTIONS=y
295# CONFIG_MTD_CFI_NOSWAP is not set
296CONFIG_MTD_CFI_BE_BYTE_SWAP=y
297# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
298CONFIG_MTD_CFI_GEOMETRY=y
299CONFIG_MTD_MAP_BANK_WIDTH_1=y
300CONFIG_MTD_MAP_BANK_WIDTH_2=y
301CONFIG_MTD_MAP_BANK_WIDTH_4=y
302# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
303# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
304# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
305CONFIG_MTD_CFI_I1=y
306# CONFIG_MTD_CFI_I2 is not set
307# CONFIG_MTD_CFI_I4 is not set
308# CONFIG_MTD_CFI_I8 is not set
309# CONFIG_MTD_OTP is not set
310# CONFIG_MTD_CFI_INTELEXT is not set
311CONFIG_MTD_CFI_AMDSTD=m
312# CONFIG_MTD_CFI_STAA is not set
313CONFIG_MTD_CFI_UTIL=m
314# CONFIG_MTD_RAM is not set
315# CONFIG_MTD_ROM is not set
316# CONFIG_MTD_ABSENT is not set
317# CONFIG_MTD_OBSOLETE_CHIPS is not set
318
319#
320# Mapping drivers for chip access
321#
322# CONFIG_MTD_COMPLEX_MAPPINGS is not set
323# CONFIG_MTD_PHYSMAP is not set
324# CONFIG_MTD_PLATRAM is not set
325
326#
327# Self-contained MTD device drivers
328#
329# CONFIG_MTD_SLRAM is not set
330# CONFIG_MTD_PHRAM is not set
331# CONFIG_MTD_MTDRAM is not set
332# CONFIG_MTD_BLOCK2MTD is not set
333
334#
335# Disk-On-Chip Device Drivers
336#
337# CONFIG_MTD_DOC2000 is not set
338# CONFIG_MTD_DOC2001 is not set
339# CONFIG_MTD_DOC2001PLUS is not set
340
341#
342# NAND Flash Device Drivers
343#
344# CONFIG_MTD_NAND is not set
345
346#
347# OneNAND Flash Device Drivers
348#
349# CONFIG_MTD_ONENAND is not set
146 350
147# 351#
148# Parallel port support 352# Parallel port support
@@ -156,7 +360,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
156# 360#
157# Block devices 361# Block devices
158# 362#
159# CONFIG_BLK_DEV_FD is not set
160# CONFIG_BLK_DEV_COW_COMMON is not set 363# CONFIG_BLK_DEV_COW_COMMON is not set
161CONFIG_BLK_DEV_LOOP=y 364CONFIG_BLK_DEV_LOOP=y
162# CONFIG_BLK_DEV_CRYPTOLOOP is not set 365# CONFIG_BLK_DEV_CRYPTOLOOP is not set
@@ -164,23 +367,21 @@ CONFIG_BLK_DEV_NBD=y
164CONFIG_BLK_DEV_RAM=y 367CONFIG_BLK_DEV_RAM=y
165CONFIG_BLK_DEV_RAM_COUNT=16 368CONFIG_BLK_DEV_RAM_COUNT=16
166CONFIG_BLK_DEV_RAM_SIZE=4096 369CONFIG_BLK_DEV_RAM_SIZE=4096
370CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
167# CONFIG_BLK_DEV_INITRD is not set 371# CONFIG_BLK_DEV_INITRD is not set
168CONFIG_INITRAMFS_SOURCE=""
169# CONFIG_CDROM_PKTCDVD is not set 372# CONFIG_CDROM_PKTCDVD is not set
373CONFIG_ATA_OVER_ETH=m
170 374
171# 375#
172# IO Schedulers 376# Misc devices
173# 377#
174CONFIG_IOSCHED_NOOP=y 378# CONFIG_TIFM_CORE is not set
175# CONFIG_IOSCHED_AS is not set
176CONFIG_IOSCHED_DEADLINE=y
177CONFIG_IOSCHED_CFQ=y
178# CONFIG_ATA_OVER_ETH is not set
179 379
180# 380#
181# ATA/ATAPI/MFM/RLL support 381# ATA/ATAPI/MFM/RLL support
182# 382#
183CONFIG_IDE=y 383CONFIG_IDE=y
384CONFIG_IDE_MAX_HWIFS=4
184CONFIG_BLK_DEV_IDE=y 385CONFIG_BLK_DEV_IDE=y
185 386
186# 387#
@@ -189,7 +390,6 @@ CONFIG_BLK_DEV_IDE=y
189# CONFIG_BLK_DEV_IDE_SATA is not set 390# CONFIG_BLK_DEV_IDE_SATA is not set
190CONFIG_BLK_DEV_IDEDISK=y 391CONFIG_BLK_DEV_IDEDISK=y
191# CONFIG_IDEDISK_MULTI_MODE is not set 392# CONFIG_IDEDISK_MULTI_MODE is not set
192CONFIG_BLK_DEV_IDECS=y
193CONFIG_BLK_DEV_IDECD=m 393CONFIG_BLK_DEV_IDECD=m
194# CONFIG_BLK_DEV_IDETAPE is not set 394# CONFIG_BLK_DEV_IDETAPE is not set
195# CONFIG_BLK_DEV_IDEFLOPPY is not set 395# CONFIG_BLK_DEV_IDEFLOPPY is not set
@@ -208,7 +408,9 @@ CONFIG_IDE_GENERIC=y
208# 408#
209# SCSI device support 409# SCSI device support
210# 410#
411# CONFIG_RAID_ATTRS is not set
211CONFIG_SCSI=m 412CONFIG_SCSI=m
413# CONFIG_SCSI_NETLINK is not set
212CONFIG_SCSI_PROC_FS=y 414CONFIG_SCSI_PROC_FS=y
213 415
214# 416#
@@ -220,6 +422,7 @@ CONFIG_BLK_DEV_SD=m
220CONFIG_BLK_DEV_SR=m 422CONFIG_BLK_DEV_SR=m
221# CONFIG_BLK_DEV_SR_VENDOR is not set 423# CONFIG_BLK_DEV_SR_VENDOR is not set
222CONFIG_CHR_DEV_SG=m 424CONFIG_CHR_DEV_SG=m
425# CONFIG_CHR_DEV_SCH is not set
223 426
224# 427#
225# Some SCSI devices (e.g. CD jukebox) support multiple LUNs 428# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
@@ -229,26 +432,23 @@ CONFIG_SCSI_MULTI_LUN=y
229# CONFIG_SCSI_LOGGING is not set 432# CONFIG_SCSI_LOGGING is not set
230 433
231# 434#
232# SCSI Transport Attributes 435# SCSI Transports
233# 436#
234# CONFIG_SCSI_SPI_ATTRS is not set 437# CONFIG_SCSI_SPI_ATTRS is not set
235# CONFIG_SCSI_FC_ATTRS is not set 438# CONFIG_SCSI_FC_ATTRS is not set
236# CONFIG_SCSI_ISCSI_ATTRS is not set 439# CONFIG_SCSI_ISCSI_ATTRS is not set
440# CONFIG_SCSI_SAS_ATTRS is not set
441# CONFIG_SCSI_SAS_LIBSAS is not set
237 442
238# 443#
239# SCSI low-level drivers 444# SCSI low-level drivers
240# 445#
241# CONFIG_SCSI_SATA is not set 446# CONFIG_ISCSI_TCP is not set
242# CONFIG_SCSI_DEBUG is not set 447# CONFIG_SCSI_DEBUG is not set
243 448
244# 449#
245# PCMCIA SCSI adapter support 450# Serial ATA (prod) and Parallel ATA (experimental) drivers
246# 451#
247# CONFIG_PCMCIA_AHA152X is not set
248# CONFIG_PCMCIA_FDOMAIN is not set
249# CONFIG_PCMCIA_NINJA_SCSI is not set
250# CONFIG_PCMCIA_QLOGIC is not set
251# CONFIG_PCMCIA_SYM53C500 is not set
252 452
253# 453#
254# Multi-device support (RAID and LVM) 454# Multi-device support (RAID and LVM)
@@ -258,6 +458,7 @@ CONFIG_SCSI_MULTI_LUN=y
258# 458#
259# Fusion MPT device support 459# Fusion MPT device support
260# 460#
461# CONFIG_FUSION is not set
261 462
262# 463#
263# IEEE 1394 (FireWire) support 464# IEEE 1394 (FireWire) support
@@ -268,69 +469,8 @@ CONFIG_SCSI_MULTI_LUN=y
268# 469#
269 470
270# 471#
271# Networking support 472# Network device support
272#
273CONFIG_NET=y
274
275#
276# Networking options
277#
278CONFIG_PACKET=y
279# CONFIG_PACKET_MMAP is not set
280CONFIG_UNIX=y
281# CONFIG_NET_KEY is not set
282CONFIG_INET=y
283# CONFIG_IP_MULTICAST is not set
284# CONFIG_IP_ADVANCED_ROUTER is not set
285CONFIG_IP_PNP=y
286CONFIG_IP_PNP_DHCP=y
287# CONFIG_IP_PNP_BOOTP is not set
288# CONFIG_IP_PNP_RARP is not set
289# CONFIG_NET_IPIP is not set
290# CONFIG_NET_IPGRE is not set
291# CONFIG_ARPD is not set
292# CONFIG_SYN_COOKIES is not set
293# CONFIG_INET_AH is not set
294# CONFIG_INET_ESP is not set
295# CONFIG_INET_IPCOMP is not set
296# CONFIG_INET_TUNNEL is not set
297CONFIG_IP_TCPDIAG=y
298# CONFIG_IP_TCPDIAG_IPV6 is not set
299# CONFIG_IPV6 is not set
300# CONFIG_NETFILTER is not set
301
302#
303# SCTP Configuration (EXPERIMENTAL)
304#
305# CONFIG_IP_SCTP 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_NET_DIVERT is not set
316# CONFIG_ECONET is not set
317# CONFIG_WAN_ROUTER is not set
318
319#
320# QoS and/or fair queueing
321#
322# CONFIG_NET_SCHED is not set
323# CONFIG_NET_CLS_ROUTE is not set
324
325#
326# Network testing
327# 473#
328# CONFIG_NET_PKTGEN is not set
329# CONFIG_NETPOLL is not set
330# CONFIG_NET_POLL_CONTROLLER is not set
331# CONFIG_HAMRADIO is not set
332# CONFIG_IRDA is not set
333# CONFIG_BT is not set
334CONFIG_NETDEVICES=y 474CONFIG_NETDEVICES=y
335# CONFIG_DUMMY is not set 475# CONFIG_DUMMY is not set
336# CONFIG_BONDING is not set 476# CONFIG_BONDING is not set
@@ -338,6 +478,11 @@ CONFIG_NETDEVICES=y
338# CONFIG_TUN is not set 478# CONFIG_TUN is not set
339 479
340# 480#
481# PHY device support
482#
483# CONFIG_PHYLIB is not set
484
485#
341# Ethernet (10 or 100Mbit) 486# Ethernet (10 or 100Mbit)
342# 487#
343CONFIG_NET_ETHERNET=y 488CONFIG_NET_ETHERNET=y
@@ -363,11 +508,6 @@ CONFIG_SMC91X=y
363# CONFIG_NET_RADIO is not set 508# CONFIG_NET_RADIO is not set
364 509
365# 510#
366# PCMCIA network device support
367#
368# CONFIG_NET_PCMCIA is not set
369
370#
371# Wan interfaces 511# Wan interfaces
372# 512#
373# CONFIG_WAN is not set 513# CONFIG_WAN is not set
@@ -375,6 +515,8 @@ CONFIG_SMC91X=y
375# CONFIG_SLIP is not set 515# CONFIG_SLIP is not set
376# CONFIG_SHAPER is not set 516# CONFIG_SHAPER is not set
377# CONFIG_NETCONSOLE is not set 517# CONFIG_NETCONSOLE is not set
518# CONFIG_NETPOLL is not set
519# CONFIG_NET_POLL_CONTROLLER is not set
378 520
379# 521#
380# ISDN subsystem 522# ISDN subsystem
@@ -390,6 +532,7 @@ CONFIG_SMC91X=y
390# Input device support 532# Input device support
391# 533#
392CONFIG_INPUT=y 534CONFIG_INPUT=y
535# CONFIG_INPUT_FF_MEMLESS is not set
393 536
394# 537#
395# Userland interfaces 538# Userland interfaces
@@ -418,7 +561,6 @@ CONFIG_SERIO_SERPORT=y
418# CONFIG_SERIO_LIBPS2 is not set 561# CONFIG_SERIO_LIBPS2 is not set
419# CONFIG_SERIO_RAW is not set 562# CONFIG_SERIO_RAW is not set
420# CONFIG_GAMEPORT is not set 563# CONFIG_GAMEPORT is not set
421CONFIG_SOUND_GAMEPORT=y
422 564
423# 565#
424# Character devices 566# Character devices
@@ -426,6 +568,7 @@ CONFIG_SOUND_GAMEPORT=y
426CONFIG_VT=y 568CONFIG_VT=y
427CONFIG_VT_CONSOLE=y 569CONFIG_VT_CONSOLE=y
428CONFIG_HW_CONSOLE=y 570CONFIG_HW_CONSOLE=y
571# CONFIG_VT_HW_CONSOLE_BINDING is not set
429# CONFIG_SERIAL_NONSTANDARD is not set 572# CONFIG_SERIAL_NONSTANDARD is not set
430 573
431# 574#
@@ -454,8 +597,8 @@ CONFIG_LEGACY_PTY_COUNT=256
454# Watchdog Cards 597# Watchdog Cards
455# 598#
456# CONFIG_WATCHDOG is not set 599# CONFIG_WATCHDOG is not set
600CONFIG_HW_RANDOM=y
457# CONFIG_RTC is not set 601# CONFIG_RTC is not set
458# CONFIG_GEN_RTC is not set
459CONFIG_DS1302=y 602CONFIG_DS1302=y
460# CONFIG_DTLK is not set 603# CONFIG_DTLK is not set
461# CONFIG_R3964 is not set 604# CONFIG_R3964 is not set
@@ -463,17 +606,12 @@ CONFIG_DS1302=y
463# 606#
464# Ftape, the floppy tape device driver 607# Ftape, the floppy tape device driver
465# 608#
466# CONFIG_DRM is not set
467
468#
469# PCMCIA character devices
470#
471# CONFIG_SYNCLINK_CS is not set
472# CONFIG_RAW_DRIVER is not set 609# CONFIG_RAW_DRIVER is not set
473 610
474# 611#
475# TPM devices 612# TPM devices
476# 613#
614# CONFIG_TCG_TPM is not set
477 615
478# 616#
479# I2C support 617# I2C support
@@ -481,34 +619,51 @@ CONFIG_DS1302=y
481# CONFIG_I2C is not set 619# CONFIG_I2C is not set
482 620
483# 621#
622# SPI support
623#
624# CONFIG_SPI is not set
625# CONFIG_SPI_MASTER is not set
626
627#
484# Dallas's 1-wire bus 628# Dallas's 1-wire bus
485# 629#
486# CONFIG_W1 is not set 630# CONFIG_W1 is not set
487 631
488# 632#
489# Misc devices 633# Hardware Monitoring support
490# 634#
635CONFIG_HWMON=y
636# CONFIG_HWMON_VID is not set
637# CONFIG_SENSORS_ABITUGURU is not set
638# CONFIG_SENSORS_F71805F is not set
639# CONFIG_SENSORS_VT1211 is not set
640# CONFIG_HWMON_DEBUG_CHIP is not set
491 641
492# 642#
493# Multimedia devices 643# Multimedia devices
494# 644#
495CONFIG_VIDEO_DEV=y 645CONFIG_VIDEO_DEV=m
646CONFIG_VIDEO_V4L1=y
647CONFIG_VIDEO_V4L1_COMPAT=y
648CONFIG_VIDEO_V4L2=y
496 649
497# 650#
498# Video For Linux 651# Video Capture Adapters
499# 652#
500 653
501# 654#
502# Video Adapters 655# Video Capture Adapters
503# 656#
657# CONFIG_VIDEO_ADV_DEBUG is not set
658CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
659# CONFIG_VIDEO_VIVI is not set
504# CONFIG_VIDEO_CPIA is not set 660# CONFIG_VIDEO_CPIA is not set
505CONFIG_VIDEO_M32R_AR=y 661CONFIG_VIDEO_M32R_AR=m
506CONFIG_VIDEO_M32R_AR_M64278=y 662CONFIG_VIDEO_M32R_AR_M64278=m
507 663
508# 664#
509# Radio Adapters 665# Radio Adapters
510# 666#
511# CONFIG_RADIO_MAESTRO is not set
512 667
513# 668#
514# Digital Video Broadcasting Devices 669# Digital Video Broadcasting Devices
@@ -518,15 +673,16 @@ CONFIG_VIDEO_M32R_AR_M64278=y
518# 673#
519# Graphics support 674# Graphics support
520# 675#
676CONFIG_FIRMWARE_EDID=y
521CONFIG_FB=y 677CONFIG_FB=y
522# CONFIG_FB_CFB_FILLRECT is not set 678CONFIG_FB_CFB_FILLRECT=y
523# CONFIG_FB_CFB_COPYAREA is not set 679CONFIG_FB_CFB_COPYAREA=y
524# CONFIG_FB_CFB_IMAGEBLIT is not set 680CONFIG_FB_CFB_IMAGEBLIT=y
525# CONFIG_FB_SOFT_CURSOR is not set
526# CONFIG_FB_MACMODES is not set 681# CONFIG_FB_MACMODES is not set
682# CONFIG_FB_BACKLIGHT is not set
527# CONFIG_FB_MODE_HELPERS is not set 683# CONFIG_FB_MODE_HELPERS is not set
528# CONFIG_FB_TILEBLITTING is not set 684# CONFIG_FB_TILEBLITTING is not set
529# CONFIG_FB_S1D13XXX is not set 685CONFIG_FB_S1D13XXX=y
530# CONFIG_FB_VIRTUAL is not set 686# CONFIG_FB_VIRTUAL is not set
531 687
532# 688#
@@ -535,6 +691,7 @@ CONFIG_FB=y
535# CONFIG_VGA_CONSOLE is not set 691# CONFIG_VGA_CONSOLE is not set
536CONFIG_DUMMY_CONSOLE=y 692CONFIG_DUMMY_CONSOLE=y
537CONFIG_FRAMEBUFFER_CONSOLE=y 693CONFIG_FRAMEBUFFER_CONSOLE=y
694# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
538# CONFIG_FONTS is not set 695# CONFIG_FONTS is not set
539CONFIG_FONT_8x8=y 696CONFIG_FONT_8x8=y
540CONFIG_FONT_8x16=y 697CONFIG_FONT_8x16=y
@@ -546,6 +703,7 @@ CONFIG_LOGO=y
546CONFIG_LOGO_LINUX_MONO=y 703CONFIG_LOGO_LINUX_MONO=y
547CONFIG_LOGO_LINUX_VGA16=y 704CONFIG_LOGO_LINUX_VGA16=y
548CONFIG_LOGO_LINUX_CLUT224=y 705CONFIG_LOGO_LINUX_CLUT224=y
706CONFIG_LOGO_M32R_CLUT224=y
549# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 707# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
550 708
551# 709#
@@ -558,6 +716,11 @@ CONFIG_LOGO_LINUX_CLUT224=y
558# 716#
559# CONFIG_USB_ARCH_HAS_HCD is not set 717# CONFIG_USB_ARCH_HAS_HCD is not set
560# CONFIG_USB_ARCH_HAS_OHCI is not set 718# CONFIG_USB_ARCH_HAS_OHCI is not set
719# CONFIG_USB_ARCH_HAS_EHCI is not set
720
721#
722# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
723#
561 724
562# 725#
563# USB Gadget Support 726# USB Gadget Support
@@ -567,23 +730,62 @@ CONFIG_LOGO_LINUX_CLUT224=y
567# 730#
568# MMC/SD Card support 731# MMC/SD Card support
569# 732#
570# CONFIG_MMC is not set 733CONFIG_MMC=y
734CONFIG_MMC_DEBUG=y
735CONFIG_MMC_BLOCK=y
736# CONFIG_MMC_TIFM_SD is not set
737
738#
739# LED devices
740#
741# CONFIG_NEW_LEDS is not set
742
743#
744# LED drivers
745#
746
747#
748# LED Triggers
749#
571 750
572# 751#
573# InfiniBand support 752# InfiniBand support
574# 753#
575# CONFIG_INFINIBAND is not set 754
755#
756# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
757#
758
759#
760# Real Time Clock
761#
762# CONFIG_RTC_CLASS is not set
763
764#
765# DMA Engine support
766#
767# CONFIG_DMA_ENGINE is not set
768
769#
770# DMA Clients
771#
772
773#
774# DMA Devices
775#
576 776
577# 777#
578# File systems 778# File systems
579# 779#
580CONFIG_EXT2_FS=y 780CONFIG_EXT2_FS=y
581# CONFIG_EXT2_FS_XATTR is not set 781# CONFIG_EXT2_FS_XATTR is not set
582CONFIG_EXT3_FS=m 782# CONFIG_EXT2_FS_XIP is not set
783CONFIG_EXT3_FS=y
583CONFIG_EXT3_FS_XATTR=y 784CONFIG_EXT3_FS_XATTR=y
584# CONFIG_EXT3_FS_POSIX_ACL is not set 785# CONFIG_EXT3_FS_POSIX_ACL is not set
585# CONFIG_EXT3_FS_SECURITY is not set 786# CONFIG_EXT3_FS_SECURITY is not set
586CONFIG_JBD=m 787# CONFIG_EXT4DEV_FS is not set
788CONFIG_JBD=y
587CONFIG_JBD_DEBUG=y 789CONFIG_JBD_DEBUG=y
588CONFIG_FS_MBCACHE=y 790CONFIG_FS_MBCACHE=y
589CONFIG_REISERFS_FS=m 791CONFIG_REISERFS_FS=m
@@ -591,17 +793,19 @@ CONFIG_REISERFS_FS=m
591# CONFIG_REISERFS_PROC_INFO is not set 793# CONFIG_REISERFS_PROC_INFO is not set
592# CONFIG_REISERFS_FS_XATTR is not set 794# CONFIG_REISERFS_FS_XATTR is not set
593# CONFIG_JFS_FS is not set 795# CONFIG_JFS_FS is not set
594 796# CONFIG_FS_POSIX_ACL is not set
595#
596# XFS support
597#
598# CONFIG_XFS_FS is not set 797# CONFIG_XFS_FS is not set
798# CONFIG_GFS2_FS is not set
799# CONFIG_OCFS2_FS is not set
599# CONFIG_MINIX_FS is not set 800# CONFIG_MINIX_FS is not set
600# CONFIG_ROMFS_FS is not set 801# CONFIG_ROMFS_FS is not set
802CONFIG_INOTIFY=y
803CONFIG_INOTIFY_USER=y
601# CONFIG_QUOTA is not set 804# CONFIG_QUOTA is not set
602CONFIG_DNOTIFY=y 805CONFIG_DNOTIFY=y
603# CONFIG_AUTOFS_FS is not set 806# CONFIG_AUTOFS_FS is not set
604# CONFIG_AUTOFS4_FS is not set 807# CONFIG_AUTOFS4_FS is not set
808# CONFIG_FUSE_FS is not set
605 809
606# 810#
607# CD-ROM/DVD Filesystems 811# CD-ROM/DVD Filesystems
@@ -627,15 +831,13 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
627# 831#
628CONFIG_PROC_FS=y 832CONFIG_PROC_FS=y
629CONFIG_PROC_KCORE=y 833CONFIG_PROC_KCORE=y
834CONFIG_PROC_SYSCTL=y
630CONFIG_SYSFS=y 835CONFIG_SYSFS=y
631CONFIG_DEVFS_FS=y
632CONFIG_DEVFS_MOUNT=y
633# CONFIG_DEVFS_DEBUG is not set
634# CONFIG_DEVPTS_FS_XATTR is not set
635CONFIG_TMPFS=y 836CONFIG_TMPFS=y
636# CONFIG_TMPFS_XATTR is not set 837# CONFIG_TMPFS_POSIX_ACL is not set
637# CONFIG_HUGETLB_PAGE is not set 838# CONFIG_HUGETLB_PAGE is not set
638CONFIG_RAMFS=y 839CONFIG_RAMFS=y
840# CONFIG_CONFIGFS_FS is not set
639 841
640# 842#
641# Miscellaneous filesystems 843# Miscellaneous filesystems
@@ -647,6 +849,8 @@ CONFIG_RAMFS=y
647# CONFIG_BEFS_FS is not set 849# CONFIG_BEFS_FS is not set
648# CONFIG_BFS_FS is not set 850# CONFIG_BFS_FS is not set
649# CONFIG_EFS_FS is not set 851# CONFIG_EFS_FS is not set
852# CONFIG_JFFS_FS is not set
853# CONFIG_JFFS2_FS is not set
650# CONFIG_CRAMFS is not set 854# CONFIG_CRAMFS is not set
651# CONFIG_VXFS_FS is not set 855# CONFIG_VXFS_FS is not set
652# CONFIG_HPFS_FS is not set 856# CONFIG_HPFS_FS is not set
@@ -659,12 +863,14 @@ CONFIG_RAMFS=y
659# 863#
660CONFIG_NFS_FS=y 864CONFIG_NFS_FS=y
661CONFIG_NFS_V3=y 865CONFIG_NFS_V3=y
866# CONFIG_NFS_V3_ACL is not set
662# CONFIG_NFS_V4 is not set 867# CONFIG_NFS_V4 is not set
663# CONFIG_NFS_DIRECTIO is not set 868# CONFIG_NFS_DIRECTIO is not set
664# CONFIG_NFSD is not set 869# CONFIG_NFSD is not set
665CONFIG_ROOT_NFS=y 870CONFIG_ROOT_NFS=y
666CONFIG_LOCKD=y 871CONFIG_LOCKD=y
667CONFIG_LOCKD_V4=y 872CONFIG_LOCKD_V4=y
873CONFIG_NFS_COMMON=y
668CONFIG_SUNRPC=y 874CONFIG_SUNRPC=y
669# CONFIG_RPCSEC_GSS_KRB5 is not set 875# CONFIG_RPCSEC_GSS_KRB5 is not set
670# CONFIG_RPCSEC_GSS_SPKM3 is not set 876# CONFIG_RPCSEC_GSS_SPKM3 is not set
@@ -673,6 +879,7 @@ CONFIG_SUNRPC=y
673# CONFIG_NCP_FS is not set 879# CONFIG_NCP_FS is not set
674# CONFIG_CODA_FS is not set 880# CONFIG_CODA_FS is not set
675# CONFIG_AFS_FS is not set 881# CONFIG_AFS_FS is not set
882# CONFIG_9P_FS is not set
676 883
677# 884#
678# Partition Types 885# Partition Types
@@ -727,16 +934,23 @@ CONFIG_NLS_DEFAULT="iso8859-1"
727# 934#
728# Profiling support 935# Profiling support
729# 936#
730# CONFIG_PROFILING is not set 937CONFIG_PROFILING=y
938CONFIG_OPROFILE=y
731 939
732# 940#
733# Kernel hacking 941# Kernel hacking
734# 942#
735# CONFIG_PRINTK_TIME is not set 943# CONFIG_PRINTK_TIME is not set
944CONFIG_ENABLE_MUST_CHECK=y
945# CONFIG_MAGIC_SYSRQ is not set
946# CONFIG_UNUSED_SYMBOLS is not set
736# CONFIG_DEBUG_KERNEL is not set 947# CONFIG_DEBUG_KERNEL is not set
737CONFIG_LOG_BUF_SHIFT=15 948CONFIG_LOG_BUF_SHIFT=15
738# CONFIG_DEBUG_BUGVERBOSE is not set 949# CONFIG_DEBUG_BUGVERBOSE is not set
950# CONFIG_DEBUG_FS is not set
739# CONFIG_FRAME_POINTER is not set 951# CONFIG_FRAME_POINTER is not set
952# CONFIG_UNWIND_INFO is not set
953# CONFIG_HEADERS_CHECK is not set
740 954
741# 955#
742# Security options 956# Security options
@@ -750,12 +964,9 @@ CONFIG_LOG_BUF_SHIFT=15
750# CONFIG_CRYPTO is not set 964# CONFIG_CRYPTO is not set
751 965
752# 966#
753# Hardware crypto devices
754#
755
756#
757# Library routines 967# Library routines
758# 968#
759# CONFIG_CRC_CCITT is not set 969# CONFIG_CRC_CCITT is not set
970# CONFIG_CRC16 is not set
760CONFIG_CRC32=y 971CONFIG_CRC32=y
761# CONFIG_LIBCRC32C is not set 972# CONFIG_LIBCRC32C is not set
diff --git a/arch/m32r/m32700ut/defconfig.m32700ut.up b/arch/m32r/m32700ut/defconfig.m32700ut.up
index 2d3e7cda8f46..190f961d33e2 100644
--- a/arch/m32r/m32700ut/defconfig.m32700ut.up
+++ b/arch/m32r/m32700ut/defconfig.m32700ut.up
@@ -1,19 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc5 3# Linux kernel version: 2.6.19
4# Fri Jun 3 16:21:34 2005 4# Tue Dec 12 12:07:08 2006
5# 5#
6CONFIG_M32R=y 6CONFIG_M32R=y
7# CONFIG_UID16 is not set
8CONFIG_GENERIC_ISA_DMA=y 7CONFIG_GENERIC_ISA_DMA=y
9CONFIG_GENERIC_HARDIRQS=y 8CONFIG_GENERIC_HARDIRQS=y
10CONFIG_GENERIC_IRQ_PROBE=y 9CONFIG_GENERIC_IRQ_PROBE=y
10CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 11
12# 12#
13# Code maturity level options 13# Code maturity level options
14# 14#
15CONFIG_EXPERIMENTAL=y 15CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_BROKEN_ON_SMP=y 16CONFIG_BROKEN_ON_SMP=y
18CONFIG_LOCK_KERNEL=y 17CONFIG_LOCK_KERNEL=y
19CONFIG_INIT_ENV_ARG_LIMIT=32 18CONFIG_INIT_ENV_ARG_LIMIT=32
@@ -22,32 +21,39 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
22# General setup 21# General setup
23# 22#
24CONFIG_LOCALVERSION="" 23CONFIG_LOCALVERSION=""
24CONFIG_LOCALVERSION_AUTO=y
25CONFIG_SWAP=y 25CONFIG_SWAP=y
26CONFIG_SYSVIPC=y 26CONFIG_SYSVIPC=y
27# CONFIG_IPC_NS is not set
27# CONFIG_POSIX_MQUEUE is not set 28# CONFIG_POSIX_MQUEUE is not set
28CONFIG_BSD_PROCESS_ACCT=y 29CONFIG_BSD_PROCESS_ACCT=y
29# CONFIG_BSD_PROCESS_ACCT_V3 is not set 30# CONFIG_BSD_PROCESS_ACCT_V3 is not set
30CONFIG_SYSCTL=y 31# CONFIG_TASKSTATS is not set
32# CONFIG_UTS_NS is not set
31# CONFIG_AUDIT is not set 33# CONFIG_AUDIT is not set
32CONFIG_HOTPLUG=y
33CONFIG_KOBJECT_UEVENT=y
34CONFIG_IKCONFIG=y 34CONFIG_IKCONFIG=y
35# CONFIG_IKCONFIG_PROC is not set 35CONFIG_IKCONFIG_PROC=y
36CONFIG_SYSFS_DEPRECATED=y
37# CONFIG_RELAY is not set
38CONFIG_INITRAMFS_SOURCE=""
39# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
40CONFIG_SYSCTL=y
36CONFIG_EMBEDDED=y 41CONFIG_EMBEDDED=y
42CONFIG_SYSCTL_SYSCALL=y
37# CONFIG_KALLSYMS is not set 43# CONFIG_KALLSYMS is not set
44CONFIG_HOTPLUG=y
38CONFIG_PRINTK=y 45CONFIG_PRINTK=y
39CONFIG_BUG=y 46CONFIG_BUG=y
47CONFIG_ELF_CORE=y
40CONFIG_BASE_FULL=y 48CONFIG_BASE_FULL=y
41# CONFIG_FUTEX is not set 49# CONFIG_FUTEX is not set
42# CONFIG_EPOLL is not set 50# CONFIG_EPOLL is not set
43# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
44CONFIG_SHMEM=y 51CONFIG_SHMEM=y
45CONFIG_CC_ALIGN_FUNCTIONS=0 52CONFIG_SLAB=y
46CONFIG_CC_ALIGN_LABELS=0 53CONFIG_VM_EVENT_COUNTERS=y
47CONFIG_CC_ALIGN_LOOPS=0
48CONFIG_CC_ALIGN_JUMPS=0
49# CONFIG_TINY_SHMEM is not set 54# CONFIG_TINY_SHMEM is not set
50CONFIG_BASE_SMALL=0 55CONFIG_BASE_SMALL=0
56# CONFIG_SLOB is not set
51 57
52# 58#
53# Loadable module support 59# Loadable module support
@@ -55,12 +61,30 @@ CONFIG_BASE_SMALL=0
55CONFIG_MODULES=y 61CONFIG_MODULES=y
56CONFIG_MODULE_UNLOAD=y 62CONFIG_MODULE_UNLOAD=y
57# CONFIG_MODULE_FORCE_UNLOAD is not set 63# CONFIG_MODULE_FORCE_UNLOAD is not set
58CONFIG_OBSOLETE_MODPARM=y
59# CONFIG_MODVERSIONS is not set 64# CONFIG_MODVERSIONS is not set
60# CONFIG_MODULE_SRCVERSION_ALL is not set 65# CONFIG_MODULE_SRCVERSION_ALL is not set
61CONFIG_KMOD=y 66CONFIG_KMOD=y
62 67
63# 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
78# CONFIG_IOSCHED_AS is not set
79CONFIG_IOSCHED_DEADLINE=y
80CONFIG_IOSCHED_CFQ=y
81# CONFIG_DEFAULT_AS is not set
82# CONFIG_DEFAULT_DEADLINE is not set
83CONFIG_DEFAULT_CFQ=y
84# CONFIG_DEFAULT_NOOP is not set
85CONFIG_DEFAULT_IOSCHED="cfq"
86
87#
64# Processor type and features 88# Processor type and features
65# 89#
66# CONFIG_PLAT_MAPPI is not set 90# CONFIG_PLAT_MAPPI is not set
@@ -70,8 +94,10 @@ CONFIG_PLAT_M32700UT=y
70# CONFIG_PLAT_OAKS32R is not set 94# CONFIG_PLAT_OAKS32R is not set
71# CONFIG_PLAT_MAPPI2 is not set 95# CONFIG_PLAT_MAPPI2 is not set
72# CONFIG_PLAT_MAPPI3 is not set 96# CONFIG_PLAT_MAPPI3 is not set
97# CONFIG_PLAT_M32104UT is not set
73CONFIG_CHIP_M32700=y 98CONFIG_CHIP_M32700=y
74# CONFIG_CHIP_M32102 is not set 99# CONFIG_CHIP_M32102 is not set
100# CONFIG_CHIP_M32104 is not set
75# CONFIG_CHIP_VDEC2 is not set 101# CONFIG_CHIP_VDEC2 is not set
76# CONFIG_CHIP_OPSP is not set 102# CONFIG_CHIP_OPSP is not set
77CONFIG_MMU=y 103CONFIG_MMU=y
@@ -85,34 +111,37 @@ CONFIG_TIMER_DIVIDE=128
85CONFIG_MEMORY_START=0x08000000 111CONFIG_MEMORY_START=0x08000000
86CONFIG_MEMORY_SIZE=0x01000000 112CONFIG_MEMORY_SIZE=0x01000000
87CONFIG_NOHIGHMEM=y 113CONFIG_NOHIGHMEM=y
88# CONFIG_DISCONTIGMEM is not set 114CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
115CONFIG_SELECT_MEMORY_MODEL=y
116# CONFIG_FLATMEM_MANUAL is not set
117CONFIG_DISCONTIGMEM_MANUAL=y
118# CONFIG_SPARSEMEM_MANUAL is not set
119CONFIG_DISCONTIGMEM=y
120CONFIG_FLAT_NODE_MEM_MAP=y
121CONFIG_NEED_MULTIPLE_NODES=y
122# CONFIG_SPARSEMEM_STATIC is not set
123CONFIG_SPLIT_PTLOCK_CPUS=4
124# CONFIG_RESOURCES_64BIT is not set
125CONFIG_IRAM_START=0x00f00000
126CONFIG_IRAM_SIZE=0x00080000
89CONFIG_RWSEM_GENERIC_SPINLOCK=y 127CONFIG_RWSEM_GENERIC_SPINLOCK=y
90# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set 128# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
129CONFIG_GENERIC_FIND_NEXT_BIT=y
130CONFIG_GENERIC_HWEIGHT=y
91CONFIG_GENERIC_CALIBRATE_DELAY=y 131CONFIG_GENERIC_CALIBRATE_DELAY=y
92CONFIG_PREEMPT=y 132CONFIG_PREEMPT=y
93# CONFIG_HAVE_DEC_LOCK is not set
94# CONFIG_SMP is not set 133# CONFIG_SMP is not set
134CONFIG_NODES_SHIFT=1
95 135
96# 136#
97# Bus options (PCI, PCMCIA, EISA, MCA, ISA) 137# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
98# 138#
99# CONFIG_PCI is not set
100# CONFIG_ISA is not set 139# CONFIG_ISA is not set
101 140
102# 141#
103# PCCARD (PCMCIA/CardBus) support 142# PCCARD (PCMCIA/CardBus) support
104# 143#
105CONFIG_PCCARD=y 144# CONFIG_PCCARD is not set
106# CONFIG_PCMCIA_DEBUG is not set
107CONFIG_PCMCIA=y
108
109#
110# PC-card bridges
111#
112# CONFIG_TCIC is not set
113# CONFIG_M32R_PCC is not set
114CONFIG_M32R_CFC=y
115CONFIG_M32R_CFC_NUM=1
116 145
117# 146#
118# PCI Hotplug Support 147# PCI Hotplug Support
@@ -125,6 +154,94 @@ CONFIG_BINFMT_ELF=y
125# CONFIG_BINFMT_MISC is not set 154# CONFIG_BINFMT_MISC is not set
126 155
127# 156#
157# Networking
158#
159CONFIG_NET=y
160
161#
162# Networking options
163#
164# CONFIG_NETDEBUG is not set
165CONFIG_PACKET=y
166# CONFIG_PACKET_MMAP is not set
167CONFIG_UNIX=y
168CONFIG_XFRM=y
169# CONFIG_XFRM_USER is not set
170# CONFIG_XFRM_SUB_POLICY is not set
171# CONFIG_NET_KEY is not set
172CONFIG_INET=y
173# CONFIG_IP_MULTICAST is not set
174# CONFIG_IP_ADVANCED_ROUTER is not set
175CONFIG_IP_FIB_HASH=y
176CONFIG_IP_PNP=y
177CONFIG_IP_PNP_DHCP=y
178# CONFIG_IP_PNP_BOOTP is not set
179# CONFIG_IP_PNP_RARP is not set
180# CONFIG_NET_IPIP is not set
181# CONFIG_NET_IPGRE is not set
182# CONFIG_ARPD is not set
183# CONFIG_SYN_COOKIES is not set
184# CONFIG_INET_AH is not set
185# CONFIG_INET_ESP is not set
186# CONFIG_INET_IPCOMP is not set
187# CONFIG_INET_XFRM_TUNNEL is not set
188# CONFIG_INET_TUNNEL is not set
189CONFIG_INET_XFRM_MODE_TRANSPORT=y
190CONFIG_INET_XFRM_MODE_TUNNEL=y
191CONFIG_INET_XFRM_MODE_BEET=y
192CONFIG_INET_DIAG=y
193CONFIG_INET_TCP_DIAG=y
194# CONFIG_TCP_CONG_ADVANCED is not set
195CONFIG_TCP_CONG_CUBIC=y
196CONFIG_DEFAULT_TCP_CONG="cubic"
197# CONFIG_TCP_MD5SIG is not set
198# CONFIG_IPV6 is not set
199# CONFIG_INET6_XFRM_TUNNEL is not set
200# CONFIG_INET6_TUNNEL is not set
201# CONFIG_NETWORK_SECMARK is not set
202# CONFIG_NETFILTER is not set
203
204#
205# DCCP Configuration (EXPERIMENTAL)
206#
207# CONFIG_IP_DCCP is not set
208
209#
210# SCTP Configuration (EXPERIMENTAL)
211#
212# CONFIG_IP_SCTP is not set
213
214#
215# TIPC Configuration (EXPERIMENTAL)
216#
217# CONFIG_TIPC is not set
218# CONFIG_ATM is not set
219# CONFIG_BRIDGE is not set
220# CONFIG_VLAN_8021Q is not set
221# CONFIG_DECNET is not set
222# CONFIG_LLC2 is not set
223# CONFIG_IPX is not set
224# CONFIG_ATALK is not set
225# CONFIG_X25 is not set
226# CONFIG_LAPB is not set
227# CONFIG_ECONET is not set
228# CONFIG_WAN_ROUTER is not set
229
230#
231# QoS and/or fair queueing
232#
233# CONFIG_NET_SCHED is not set
234
235#
236# Network testing
237#
238# CONFIG_NET_PKTGEN is not set
239# CONFIG_HAMRADIO is not set
240# CONFIG_IRDA is not set
241# CONFIG_BT is not set
242# CONFIG_IEEE80211 is not set
243
244#
128# Device Drivers 245# Device Drivers
129# 246#
130 247
@@ -133,12 +250,100 @@ CONFIG_BINFMT_ELF=y
133# 250#
134CONFIG_STANDALONE=y 251CONFIG_STANDALONE=y
135CONFIG_PREVENT_FIRMWARE_BUILD=y 252CONFIG_PREVENT_FIRMWARE_BUILD=y
136# CONFIG_FW_LOADER is not set 253CONFIG_FW_LOADER=y
254# CONFIG_SYS_HYPERVISOR is not set
255
256#
257# Connector - unified userspace <-> kernelspace linker
258#
259# CONFIG_CONNECTOR is not set
137 260
138# 261#
139# Memory Technology Devices (MTD) 262# Memory Technology Devices (MTD)
140# 263#
141# CONFIG_MTD is not set 264CONFIG_MTD=y
265# CONFIG_MTD_DEBUG is not set
266# CONFIG_MTD_CONCAT is not set
267CONFIG_MTD_PARTITIONS=y
268CONFIG_MTD_REDBOOT_PARTS=y
269CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
270# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
271# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
272# CONFIG_MTD_CMDLINE_PARTS is not set
273
274#
275# User Modules And Translation Layers
276#
277# CONFIG_MTD_CHAR is not set
278CONFIG_MTD_BLOCK=y
279# CONFIG_FTL is not set
280# CONFIG_NFTL is not set
281# CONFIG_INFTL is not set
282# CONFIG_RFD_FTL is not set
283# CONFIG_SSFDC is not set
284
285#
286# RAM/ROM/Flash chip drivers
287#
288CONFIG_MTD_CFI=m
289CONFIG_MTD_JEDECPROBE=m
290CONFIG_MTD_GEN_PROBE=m
291CONFIG_MTD_CFI_ADV_OPTIONS=y
292# CONFIG_MTD_CFI_NOSWAP is not set
293CONFIG_MTD_CFI_BE_BYTE_SWAP=y
294# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
295CONFIG_MTD_CFI_GEOMETRY=y
296CONFIG_MTD_MAP_BANK_WIDTH_1=y
297CONFIG_MTD_MAP_BANK_WIDTH_2=y
298CONFIG_MTD_MAP_BANK_WIDTH_4=y
299# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
300# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
301# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
302CONFIG_MTD_CFI_I1=y
303# CONFIG_MTD_CFI_I2 is not set
304# CONFIG_MTD_CFI_I4 is not set
305# CONFIG_MTD_CFI_I8 is not set
306# CONFIG_MTD_OTP is not set
307# CONFIG_MTD_CFI_INTELEXT is not set
308CONFIG_MTD_CFI_AMDSTD=m
309# CONFIG_MTD_CFI_STAA is not set
310CONFIG_MTD_CFI_UTIL=m
311# CONFIG_MTD_RAM is not set
312# CONFIG_MTD_ROM is not set
313# CONFIG_MTD_ABSENT is not set
314# CONFIG_MTD_OBSOLETE_CHIPS is not set
315
316#
317# Mapping drivers for chip access
318#
319# CONFIG_MTD_COMPLEX_MAPPINGS is not set
320# CONFIG_MTD_PHYSMAP is not set
321# CONFIG_MTD_PLATRAM is not set
322
323#
324# Self-contained MTD device drivers
325#
326# CONFIG_MTD_SLRAM is not set
327# CONFIG_MTD_PHRAM is not set
328# CONFIG_MTD_MTDRAM is not set
329# CONFIG_MTD_BLOCK2MTD is not set
330
331#
332# Disk-On-Chip Device Drivers
333#
334# CONFIG_MTD_DOC2000 is not set
335# CONFIG_MTD_DOC2001 is not set
336# CONFIG_MTD_DOC2001PLUS is not set
337
338#
339# NAND Flash Device Drivers
340#
341# CONFIG_MTD_NAND is not set
342
343#
344# OneNAND Flash Device Drivers
345#
346# CONFIG_MTD_ONENAND is not set
142 347
143# 348#
144# Parallel port support 349# Parallel port support
@@ -152,7 +357,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
152# 357#
153# Block devices 358# Block devices
154# 359#
155# CONFIG_BLK_DEV_FD is not set
156# CONFIG_BLK_DEV_COW_COMMON is not set 360# CONFIG_BLK_DEV_COW_COMMON is not set
157CONFIG_BLK_DEV_LOOP=y 361CONFIG_BLK_DEV_LOOP=y
158# CONFIG_BLK_DEV_CRYPTOLOOP is not set 362# CONFIG_BLK_DEV_CRYPTOLOOP is not set
@@ -160,23 +364,21 @@ CONFIG_BLK_DEV_NBD=y
160CONFIG_BLK_DEV_RAM=y 364CONFIG_BLK_DEV_RAM=y
161CONFIG_BLK_DEV_RAM_COUNT=16 365CONFIG_BLK_DEV_RAM_COUNT=16
162CONFIG_BLK_DEV_RAM_SIZE=4096 366CONFIG_BLK_DEV_RAM_SIZE=4096
367CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
163# CONFIG_BLK_DEV_INITRD is not set 368# CONFIG_BLK_DEV_INITRD is not set
164CONFIG_INITRAMFS_SOURCE=""
165# CONFIG_CDROM_PKTCDVD is not set 369# CONFIG_CDROM_PKTCDVD is not set
370CONFIG_ATA_OVER_ETH=m
166 371
167# 372#
168# IO Schedulers 373# Misc devices
169# 374#
170CONFIG_IOSCHED_NOOP=y 375# CONFIG_TIFM_CORE is not set
171# CONFIG_IOSCHED_AS is not set
172CONFIG_IOSCHED_DEADLINE=y
173CONFIG_IOSCHED_CFQ=y
174# CONFIG_ATA_OVER_ETH is not set
175 376
176# 377#
177# ATA/ATAPI/MFM/RLL support 378# ATA/ATAPI/MFM/RLL support
178# 379#
179CONFIG_IDE=y 380CONFIG_IDE=y
381CONFIG_IDE_MAX_HWIFS=4
180CONFIG_BLK_DEV_IDE=y 382CONFIG_BLK_DEV_IDE=y
181 383
182# 384#
@@ -185,7 +387,6 @@ CONFIG_BLK_DEV_IDE=y
185# CONFIG_BLK_DEV_IDE_SATA is not set 387# CONFIG_BLK_DEV_IDE_SATA is not set
186CONFIG_BLK_DEV_IDEDISK=y 388CONFIG_BLK_DEV_IDEDISK=y
187# CONFIG_IDEDISK_MULTI_MODE is not set 389# CONFIG_IDEDISK_MULTI_MODE is not set
188CONFIG_BLK_DEV_IDECS=y
189CONFIG_BLK_DEV_IDECD=m 390CONFIG_BLK_DEV_IDECD=m
190# CONFIG_BLK_DEV_IDETAPE is not set 391# CONFIG_BLK_DEV_IDETAPE is not set
191# CONFIG_BLK_DEV_IDEFLOPPY is not set 392# CONFIG_BLK_DEV_IDEFLOPPY is not set
@@ -204,7 +405,9 @@ CONFIG_IDE_GENERIC=y
204# 405#
205# SCSI device support 406# SCSI device support
206# 407#
408# CONFIG_RAID_ATTRS is not set
207CONFIG_SCSI=m 409CONFIG_SCSI=m
410# CONFIG_SCSI_NETLINK is not set
208CONFIG_SCSI_PROC_FS=y 411CONFIG_SCSI_PROC_FS=y
209 412
210# 413#
@@ -216,6 +419,7 @@ CONFIG_BLK_DEV_SD=m
216CONFIG_BLK_DEV_SR=m 419CONFIG_BLK_DEV_SR=m
217# CONFIG_BLK_DEV_SR_VENDOR is not set 420# CONFIG_BLK_DEV_SR_VENDOR is not set
218CONFIG_CHR_DEV_SG=m 421CONFIG_CHR_DEV_SG=m
422# CONFIG_CHR_DEV_SCH is not set
219 423
220# 424#
221# Some SCSI devices (e.g. CD jukebox) support multiple LUNs 425# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
@@ -225,26 +429,23 @@ CONFIG_SCSI_MULTI_LUN=y
225# CONFIG_SCSI_LOGGING is not set 429# CONFIG_SCSI_LOGGING is not set
226 430
227# 431#
228# SCSI Transport Attributes 432# SCSI Transports
229# 433#
230# CONFIG_SCSI_SPI_ATTRS is not set 434# CONFIG_SCSI_SPI_ATTRS is not set
231# CONFIG_SCSI_FC_ATTRS is not set 435# CONFIG_SCSI_FC_ATTRS is not set
232# CONFIG_SCSI_ISCSI_ATTRS is not set 436# CONFIG_SCSI_ISCSI_ATTRS is not set
437# CONFIG_SCSI_SAS_ATTRS is not set
438# CONFIG_SCSI_SAS_LIBSAS is not set
233 439
234# 440#
235# SCSI low-level drivers 441# SCSI low-level drivers
236# 442#
237# CONFIG_SCSI_SATA is not set 443# CONFIG_ISCSI_TCP is not set
238# CONFIG_SCSI_DEBUG is not set 444# CONFIG_SCSI_DEBUG is not set
239 445
240# 446#
241# PCMCIA SCSI adapter support 447# Serial ATA (prod) and Parallel ATA (experimental) drivers
242# 448#
243# CONFIG_PCMCIA_AHA152X is not set
244# CONFIG_PCMCIA_FDOMAIN is not set
245# CONFIG_PCMCIA_NINJA_SCSI is not set
246# CONFIG_PCMCIA_QLOGIC is not set
247# CONFIG_PCMCIA_SYM53C500 is not set
248 449
249# 450#
250# Multi-device support (RAID and LVM) 451# Multi-device support (RAID and LVM)
@@ -254,6 +455,7 @@ CONFIG_SCSI_MULTI_LUN=y
254# 455#
255# Fusion MPT device support 456# Fusion MPT device support
256# 457#
458# CONFIG_FUSION is not set
257 459
258# 460#
259# IEEE 1394 (FireWire) support 461# IEEE 1394 (FireWire) support
@@ -264,69 +466,8 @@ CONFIG_SCSI_MULTI_LUN=y
264# 466#
265 467
266# 468#
267# Networking support 469# Network device support
268#
269CONFIG_NET=y
270
271#
272# Networking options
273#
274CONFIG_PACKET=y
275# CONFIG_PACKET_MMAP is not set
276CONFIG_UNIX=y
277# CONFIG_NET_KEY is not set
278CONFIG_INET=y
279# CONFIG_IP_MULTICAST is not set
280# CONFIG_IP_ADVANCED_ROUTER is not set
281CONFIG_IP_PNP=y
282CONFIG_IP_PNP_DHCP=y
283# CONFIG_IP_PNP_BOOTP is not set
284# CONFIG_IP_PNP_RARP is not set
285# CONFIG_NET_IPIP is not set
286# CONFIG_NET_IPGRE is not set
287# CONFIG_ARPD is not set
288# CONFIG_SYN_COOKIES is not set
289# CONFIG_INET_AH is not set
290# CONFIG_INET_ESP is not set
291# CONFIG_INET_IPCOMP is not set
292# CONFIG_INET_TUNNEL is not set
293CONFIG_IP_TCPDIAG=y
294# CONFIG_IP_TCPDIAG_IPV6 is not set
295# CONFIG_IPV6 is not set
296# CONFIG_NETFILTER is not set
297
298#
299# SCTP Configuration (EXPERIMENTAL)
300#
301# CONFIG_IP_SCTP is not set
302# CONFIG_ATM is not set
303# CONFIG_BRIDGE is not set
304# CONFIG_VLAN_8021Q is not set
305# CONFIG_DECNET is not set
306# CONFIG_LLC2 is not set
307# CONFIG_IPX is not set
308# CONFIG_ATALK is not set
309# CONFIG_X25 is not set
310# CONFIG_LAPB is not set
311# CONFIG_NET_DIVERT is not set
312# CONFIG_ECONET is not set
313# CONFIG_WAN_ROUTER is not set
314
315#
316# QoS and/or fair queueing
317#
318# CONFIG_NET_SCHED is not set
319# CONFIG_NET_CLS_ROUTE is not set
320
321#
322# Network testing
323# 470#
324# CONFIG_NET_PKTGEN is not set
325# CONFIG_NETPOLL is not set
326# CONFIG_NET_POLL_CONTROLLER is not set
327# CONFIG_HAMRADIO is not set
328# CONFIG_IRDA is not set
329# CONFIG_BT is not set
330CONFIG_NETDEVICES=y 471CONFIG_NETDEVICES=y
331# CONFIG_DUMMY is not set 472# CONFIG_DUMMY is not set
332# CONFIG_BONDING is not set 473# CONFIG_BONDING is not set
@@ -334,6 +475,11 @@ CONFIG_NETDEVICES=y
334# CONFIG_TUN is not set 475# CONFIG_TUN is not set
335 476
336# 477#
478# PHY device support
479#
480# CONFIG_PHYLIB is not set
481
482#
337# Ethernet (10 or 100Mbit) 483# Ethernet (10 or 100Mbit)
338# 484#
339CONFIG_NET_ETHERNET=y 485CONFIG_NET_ETHERNET=y
@@ -359,11 +505,6 @@ CONFIG_SMC91X=y
359# CONFIG_NET_RADIO is not set 505# CONFIG_NET_RADIO is not set
360 506
361# 507#
362# PCMCIA network device support
363#
364# CONFIG_NET_PCMCIA is not set
365
366#
367# Wan interfaces 508# Wan interfaces
368# 509#
369# CONFIG_WAN is not set 510# CONFIG_WAN is not set
@@ -371,6 +512,8 @@ CONFIG_SMC91X=y
371# CONFIG_SLIP is not set 512# CONFIG_SLIP is not set
372# CONFIG_SHAPER is not set 513# CONFIG_SHAPER is not set
373# CONFIG_NETCONSOLE is not set 514# CONFIG_NETCONSOLE is not set
515# CONFIG_NETPOLL is not set
516# CONFIG_NET_POLL_CONTROLLER is not set
374 517
375# 518#
376# ISDN subsystem 519# ISDN subsystem
@@ -386,6 +529,7 @@ CONFIG_SMC91X=y
386# Input device support 529# Input device support
387# 530#
388CONFIG_INPUT=y 531CONFIG_INPUT=y
532# CONFIG_INPUT_FF_MEMLESS is not set
389 533
390# 534#
391# Userland interfaces 535# Userland interfaces
@@ -414,7 +558,6 @@ CONFIG_SERIO_SERPORT=y
414# CONFIG_SERIO_LIBPS2 is not set 558# CONFIG_SERIO_LIBPS2 is not set
415# CONFIG_SERIO_RAW is not set 559# CONFIG_SERIO_RAW is not set
416# CONFIG_GAMEPORT is not set 560# CONFIG_GAMEPORT is not set
417CONFIG_SOUND_GAMEPORT=y
418 561
419# 562#
420# Character devices 563# Character devices
@@ -422,6 +565,7 @@ CONFIG_SOUND_GAMEPORT=y
422CONFIG_VT=y 565CONFIG_VT=y
423CONFIG_VT_CONSOLE=y 566CONFIG_VT_CONSOLE=y
424CONFIG_HW_CONSOLE=y 567CONFIG_HW_CONSOLE=y
568# CONFIG_VT_HW_CONSOLE_BINDING is not set
425# CONFIG_SERIAL_NONSTANDARD is not set 569# CONFIG_SERIAL_NONSTANDARD is not set
426 570
427# 571#
@@ -450,8 +594,8 @@ CONFIG_LEGACY_PTY_COUNT=256
450# Watchdog Cards 594# Watchdog Cards
451# 595#
452# CONFIG_WATCHDOG is not set 596# CONFIG_WATCHDOG is not set
597CONFIG_HW_RANDOM=y
453# CONFIG_RTC is not set 598# CONFIG_RTC is not set
454# CONFIG_GEN_RTC is not set
455CONFIG_DS1302=y 599CONFIG_DS1302=y
456# CONFIG_DTLK is not set 600# CONFIG_DTLK is not set
457# CONFIG_R3964 is not set 601# CONFIG_R3964 is not set
@@ -459,17 +603,12 @@ CONFIG_DS1302=y
459# 603#
460# Ftape, the floppy tape device driver 604# Ftape, the floppy tape device driver
461# 605#
462# CONFIG_DRM is not set
463
464#
465# PCMCIA character devices
466#
467# CONFIG_SYNCLINK_CS is not set
468# CONFIG_RAW_DRIVER is not set 606# CONFIG_RAW_DRIVER is not set
469 607
470# 608#
471# TPM devices 609# TPM devices
472# 610#
611# CONFIG_TCG_TPM is not set
473 612
474# 613#
475# I2C support 614# I2C support
@@ -477,34 +616,51 @@ CONFIG_DS1302=y
477# CONFIG_I2C is not set 616# CONFIG_I2C is not set
478 617
479# 618#
619# SPI support
620#
621# CONFIG_SPI is not set
622# CONFIG_SPI_MASTER is not set
623
624#
480# Dallas's 1-wire bus 625# Dallas's 1-wire bus
481# 626#
482# CONFIG_W1 is not set 627# CONFIG_W1 is not set
483 628
484# 629#
485# Misc devices 630# Hardware Monitoring support
486# 631#
632CONFIG_HWMON=y
633# CONFIG_HWMON_VID is not set
634# CONFIG_SENSORS_ABITUGURU is not set
635# CONFIG_SENSORS_F71805F is not set
636# CONFIG_SENSORS_VT1211 is not set
637# CONFIG_HWMON_DEBUG_CHIP is not set
487 638
488# 639#
489# Multimedia devices 640# Multimedia devices
490# 641#
491CONFIG_VIDEO_DEV=y 642CONFIG_VIDEO_DEV=m
643CONFIG_VIDEO_V4L1=y
644CONFIG_VIDEO_V4L1_COMPAT=y
645CONFIG_VIDEO_V4L2=y
492 646
493# 647#
494# Video For Linux 648# Video Capture Adapters
495# 649#
496 650
497# 651#
498# Video Adapters 652# Video Capture Adapters
499# 653#
654# CONFIG_VIDEO_ADV_DEBUG is not set
655CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
656# CONFIG_VIDEO_VIVI is not set
500# CONFIG_VIDEO_CPIA is not set 657# CONFIG_VIDEO_CPIA is not set
501CONFIG_VIDEO_M32R_AR=y 658CONFIG_VIDEO_M32R_AR=m
502CONFIG_VIDEO_M32R_AR_M64278=y 659CONFIG_VIDEO_M32R_AR_M64278=m
503 660
504# 661#
505# Radio Adapters 662# Radio Adapters
506# 663#
507# CONFIG_RADIO_MAESTRO is not set
508 664
509# 665#
510# Digital Video Broadcasting Devices 666# Digital Video Broadcasting Devices
@@ -514,15 +670,16 @@ CONFIG_VIDEO_M32R_AR_M64278=y
514# 670#
515# Graphics support 671# Graphics support
516# 672#
673CONFIG_FIRMWARE_EDID=y
517CONFIG_FB=y 674CONFIG_FB=y
518# CONFIG_FB_CFB_FILLRECT is not set 675CONFIG_FB_CFB_FILLRECT=y
519# CONFIG_FB_CFB_COPYAREA is not set 676CONFIG_FB_CFB_COPYAREA=y
520# CONFIG_FB_CFB_IMAGEBLIT is not set 677CONFIG_FB_CFB_IMAGEBLIT=y
521# CONFIG_FB_SOFT_CURSOR is not set
522# CONFIG_FB_MACMODES is not set 678# CONFIG_FB_MACMODES is not set
679# CONFIG_FB_BACKLIGHT is not set
523# CONFIG_FB_MODE_HELPERS is not set 680# CONFIG_FB_MODE_HELPERS is not set
524# CONFIG_FB_TILEBLITTING is not set 681# CONFIG_FB_TILEBLITTING is not set
525# CONFIG_FB_S1D13XXX is not set 682CONFIG_FB_S1D13XXX=y
526# CONFIG_FB_VIRTUAL is not set 683# CONFIG_FB_VIRTUAL is not set
527 684
528# 685#
@@ -531,6 +688,7 @@ CONFIG_FB=y
531# CONFIG_VGA_CONSOLE is not set 688# CONFIG_VGA_CONSOLE is not set
532CONFIG_DUMMY_CONSOLE=y 689CONFIG_DUMMY_CONSOLE=y
533CONFIG_FRAMEBUFFER_CONSOLE=y 690CONFIG_FRAMEBUFFER_CONSOLE=y
691# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
534# CONFIG_FONTS is not set 692# CONFIG_FONTS is not set
535CONFIG_FONT_8x8=y 693CONFIG_FONT_8x8=y
536CONFIG_FONT_8x16=y 694CONFIG_FONT_8x16=y
@@ -542,6 +700,7 @@ CONFIG_LOGO=y
542CONFIG_LOGO_LINUX_MONO=y 700CONFIG_LOGO_LINUX_MONO=y
543CONFIG_LOGO_LINUX_VGA16=y 701CONFIG_LOGO_LINUX_VGA16=y
544CONFIG_LOGO_LINUX_CLUT224=y 702CONFIG_LOGO_LINUX_CLUT224=y
703CONFIG_LOGO_M32R_CLUT224=y
545# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 704# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
546 705
547# 706#
@@ -554,6 +713,11 @@ CONFIG_LOGO_LINUX_CLUT224=y
554# 713#
555# CONFIG_USB_ARCH_HAS_HCD is not set 714# CONFIG_USB_ARCH_HAS_HCD is not set
556# CONFIG_USB_ARCH_HAS_OHCI is not set 715# CONFIG_USB_ARCH_HAS_OHCI is not set
716# CONFIG_USB_ARCH_HAS_EHCI is not set
717
718#
719# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
720#
557 721
558# 722#
559# USB Gadget Support 723# USB Gadget Support
@@ -563,23 +727,62 @@ CONFIG_LOGO_LINUX_CLUT224=y
563# 727#
564# MMC/SD Card support 728# MMC/SD Card support
565# 729#
566# CONFIG_MMC is not set 730CONFIG_MMC=y
731CONFIG_MMC_DEBUG=y
732CONFIG_MMC_BLOCK=y
733# CONFIG_MMC_TIFM_SD is not set
734
735#
736# LED devices
737#
738# CONFIG_NEW_LEDS is not set
739
740#
741# LED drivers
742#
743
744#
745# LED Triggers
746#
567 747
568# 748#
569# InfiniBand support 749# InfiniBand support
570# 750#
571# CONFIG_INFINIBAND is not set 751
752#
753# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
754#
755
756#
757# Real Time Clock
758#
759# CONFIG_RTC_CLASS is not set
760
761#
762# DMA Engine support
763#
764# CONFIG_DMA_ENGINE is not set
765
766#
767# DMA Clients
768#
769
770#
771# DMA Devices
772#
572 773
573# 774#
574# File systems 775# File systems
575# 776#
576CONFIG_EXT2_FS=y 777CONFIG_EXT2_FS=y
577# CONFIG_EXT2_FS_XATTR is not set 778# CONFIG_EXT2_FS_XATTR is not set
578CONFIG_EXT3_FS=m 779# CONFIG_EXT2_FS_XIP is not set
780CONFIG_EXT3_FS=y
579CONFIG_EXT3_FS_XATTR=y 781CONFIG_EXT3_FS_XATTR=y
580# CONFIG_EXT3_FS_POSIX_ACL is not set 782# CONFIG_EXT3_FS_POSIX_ACL is not set
581# CONFIG_EXT3_FS_SECURITY is not set 783# CONFIG_EXT3_FS_SECURITY is not set
582CONFIG_JBD=m 784# CONFIG_EXT4DEV_FS is not set
785CONFIG_JBD=y
583CONFIG_JBD_DEBUG=y 786CONFIG_JBD_DEBUG=y
584CONFIG_FS_MBCACHE=y 787CONFIG_FS_MBCACHE=y
585CONFIG_REISERFS_FS=m 788CONFIG_REISERFS_FS=m
@@ -587,17 +790,19 @@ CONFIG_REISERFS_FS=m
587# CONFIG_REISERFS_PROC_INFO is not set 790# CONFIG_REISERFS_PROC_INFO is not set
588# CONFIG_REISERFS_FS_XATTR is not set 791# CONFIG_REISERFS_FS_XATTR is not set
589# CONFIG_JFS_FS is not set 792# CONFIG_JFS_FS is not set
590 793# CONFIG_FS_POSIX_ACL is not set
591#
592# XFS support
593#
594# CONFIG_XFS_FS is not set 794# CONFIG_XFS_FS is not set
795# CONFIG_GFS2_FS is not set
796# CONFIG_OCFS2_FS is not set
595# CONFIG_MINIX_FS is not set 797# CONFIG_MINIX_FS is not set
596# CONFIG_ROMFS_FS is not set 798# CONFIG_ROMFS_FS is not set
799CONFIG_INOTIFY=y
800CONFIG_INOTIFY_USER=y
597# CONFIG_QUOTA is not set 801# CONFIG_QUOTA is not set
598CONFIG_DNOTIFY=y 802CONFIG_DNOTIFY=y
599# CONFIG_AUTOFS_FS is not set 803# CONFIG_AUTOFS_FS is not set
600# CONFIG_AUTOFS4_FS is not set 804# CONFIG_AUTOFS4_FS is not set
805# CONFIG_FUSE_FS is not set
601 806
602# 807#
603# CD-ROM/DVD Filesystems 808# CD-ROM/DVD Filesystems
@@ -623,15 +828,13 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
623# 828#
624CONFIG_PROC_FS=y 829CONFIG_PROC_FS=y
625CONFIG_PROC_KCORE=y 830CONFIG_PROC_KCORE=y
831CONFIG_PROC_SYSCTL=y
626CONFIG_SYSFS=y 832CONFIG_SYSFS=y
627CONFIG_DEVFS_FS=y
628CONFIG_DEVFS_MOUNT=y
629# CONFIG_DEVFS_DEBUG is not set
630# CONFIG_DEVPTS_FS_XATTR is not set
631CONFIG_TMPFS=y 833CONFIG_TMPFS=y
632# CONFIG_TMPFS_XATTR is not set 834# CONFIG_TMPFS_POSIX_ACL is not set
633# CONFIG_HUGETLB_PAGE is not set 835# CONFIG_HUGETLB_PAGE is not set
634CONFIG_RAMFS=y 836CONFIG_RAMFS=y
837# CONFIG_CONFIGFS_FS is not set
635 838
636# 839#
637# Miscellaneous filesystems 840# Miscellaneous filesystems
@@ -643,6 +846,8 @@ CONFIG_RAMFS=y
643# CONFIG_BEFS_FS is not set 846# CONFIG_BEFS_FS is not set
644# CONFIG_BFS_FS is not set 847# CONFIG_BFS_FS is not set
645# CONFIG_EFS_FS is not set 848# CONFIG_EFS_FS is not set
849# CONFIG_JFFS_FS is not set
850# CONFIG_JFFS2_FS is not set
646# CONFIG_CRAMFS is not set 851# CONFIG_CRAMFS is not set
647# CONFIG_VXFS_FS is not set 852# CONFIG_VXFS_FS is not set
648# CONFIG_HPFS_FS is not set 853# CONFIG_HPFS_FS is not set
@@ -655,12 +860,14 @@ CONFIG_RAMFS=y
655# 860#
656CONFIG_NFS_FS=y 861CONFIG_NFS_FS=y
657CONFIG_NFS_V3=y 862CONFIG_NFS_V3=y
863# CONFIG_NFS_V3_ACL is not set
658# CONFIG_NFS_V4 is not set 864# CONFIG_NFS_V4 is not set
659# CONFIG_NFS_DIRECTIO is not set 865# CONFIG_NFS_DIRECTIO is not set
660# CONFIG_NFSD is not set 866# CONFIG_NFSD is not set
661CONFIG_ROOT_NFS=y 867CONFIG_ROOT_NFS=y
662CONFIG_LOCKD=y 868CONFIG_LOCKD=y
663CONFIG_LOCKD_V4=y 869CONFIG_LOCKD_V4=y
870CONFIG_NFS_COMMON=y
664CONFIG_SUNRPC=y 871CONFIG_SUNRPC=y
665# CONFIG_RPCSEC_GSS_KRB5 is not set 872# CONFIG_RPCSEC_GSS_KRB5 is not set
666# CONFIG_RPCSEC_GSS_SPKM3 is not set 873# CONFIG_RPCSEC_GSS_SPKM3 is not set
@@ -669,6 +876,7 @@ CONFIG_SUNRPC=y
669# CONFIG_NCP_FS is not set 876# CONFIG_NCP_FS is not set
670# CONFIG_CODA_FS is not set 877# CONFIG_CODA_FS is not set
671# CONFIG_AFS_FS is not set 878# CONFIG_AFS_FS is not set
879# CONFIG_9P_FS is not set
672 880
673# 881#
674# Partition Types 882# Partition Types
@@ -723,16 +931,23 @@ CONFIG_NLS_DEFAULT="iso8859-1"
723# 931#
724# Profiling support 932# Profiling support
725# 933#
726# CONFIG_PROFILING is not set 934CONFIG_PROFILING=y
935CONFIG_OPROFILE=y
727 936
728# 937#
729# Kernel hacking 938# Kernel hacking
730# 939#
731# CONFIG_PRINTK_TIME is not set 940# CONFIG_PRINTK_TIME is not set
941CONFIG_ENABLE_MUST_CHECK=y
942# CONFIG_MAGIC_SYSRQ is not set
943# CONFIG_UNUSED_SYMBOLS is not set
732# CONFIG_DEBUG_KERNEL is not set 944# CONFIG_DEBUG_KERNEL is not set
733CONFIG_LOG_BUF_SHIFT=14 945CONFIG_LOG_BUF_SHIFT=14
734# CONFIG_DEBUG_BUGVERBOSE is not set 946# CONFIG_DEBUG_BUGVERBOSE is not set
947# CONFIG_DEBUG_FS is not set
735# CONFIG_FRAME_POINTER is not set 948# CONFIG_FRAME_POINTER is not set
949# CONFIG_UNWIND_INFO is not set
950# CONFIG_HEADERS_CHECK is not set
736 951
737# 952#
738# Security options 953# Security options
@@ -746,12 +961,9 @@ CONFIG_LOG_BUF_SHIFT=14
746# CONFIG_CRYPTO is not set 961# CONFIG_CRYPTO is not set
747 962
748# 963#
749# Hardware crypto devices
750#
751
752#
753# Library routines 964# Library routines
754# 965#
755# CONFIG_CRC_CCITT is not set 966# CONFIG_CRC_CCITT is not set
967# CONFIG_CRC16 is not set
756CONFIG_CRC32=y 968CONFIG_CRC32=y
757# CONFIG_LIBCRC32C is not set 969# CONFIG_LIBCRC32C is not set
diff --git a/arch/m32r/mappi/defconfig.nommu b/arch/m32r/mappi/defconfig.nommu
index a8425fba340b..fbf6c384c9d0 100644
--- a/arch/m32r/mappi/defconfig.nommu
+++ b/arch/m32r/mappi/defconfig.nommu
@@ -1,19 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc5 3# Linux kernel version: 2.6.19
4# Fri Jun 3 16:21:46 2005 4# Wed Dec 13 17:57:45 2006
5# 5#
6CONFIG_M32R=y 6CONFIG_M32R=y
7# CONFIG_UID16 is not set
8CONFIG_GENERIC_ISA_DMA=y 7CONFIG_GENERIC_ISA_DMA=y
9CONFIG_GENERIC_HARDIRQS=y 8CONFIG_GENERIC_HARDIRQS=y
10CONFIG_GENERIC_IRQ_PROBE=y 9CONFIG_GENERIC_IRQ_PROBE=y
10CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 11
12# 12#
13# Code maturity level options 13# Code maturity level options
14# 14#
15CONFIG_EXPERIMENTAL=y 15CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_BROKEN_ON_SMP=y 16CONFIG_BROKEN_ON_SMP=y
18CONFIG_LOCK_KERNEL=y 17CONFIG_LOCK_KERNEL=y
19CONFIG_INIT_ENV_ARG_LIMIT=32 18CONFIG_INIT_ENV_ARG_LIMIT=32
@@ -22,29 +21,36 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
22# General setup 21# General setup
23# 22#
24CONFIG_LOCALVERSION="" 23CONFIG_LOCALVERSION=""
24CONFIG_LOCALVERSION_AUTO=y
25# CONFIG_SYSVIPC is not set
25# CONFIG_POSIX_MQUEUE is not set 26# CONFIG_POSIX_MQUEUE is not set
26CONFIG_BSD_PROCESS_ACCT=y 27CONFIG_BSD_PROCESS_ACCT=y
27# CONFIG_BSD_PROCESS_ACCT_V3 is not set 28# CONFIG_BSD_PROCESS_ACCT_V3 is not set
28CONFIG_SYSCTL=y 29# CONFIG_TASKSTATS is not set
30# CONFIG_UTS_NS is not set
29# CONFIG_AUDIT is not set 31# CONFIG_AUDIT is not set
30CONFIG_HOTPLUG=y
31CONFIG_KOBJECT_UEVENT=y
32CONFIG_IKCONFIG=y 32CONFIG_IKCONFIG=y
33# CONFIG_IKCONFIG_PROC is not set 33# CONFIG_IKCONFIG_PROC is not set
34CONFIG_SYSFS_DEPRECATED=y
35# CONFIG_RELAY is not set
36CONFIG_INITRAMFS_SOURCE=""
37# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
38CONFIG_SYSCTL=y
34CONFIG_EMBEDDED=y 39CONFIG_EMBEDDED=y
40CONFIG_SYSCTL_SYSCALL=y
35# CONFIG_KALLSYMS is not set 41# CONFIG_KALLSYMS is not set
42CONFIG_HOTPLUG=y
36CONFIG_PRINTK=y 43CONFIG_PRINTK=y
37CONFIG_BUG=y 44CONFIG_BUG=y
45CONFIG_ELF_CORE=y
38CONFIG_BASE_FULL=y 46CONFIG_BASE_FULL=y
39# CONFIG_FUTEX is not set 47# CONFIG_FUTEX is not set
40# CONFIG_EPOLL is not set 48# CONFIG_EPOLL is not set
41# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 49CONFIG_SLAB=y
42CONFIG_CC_ALIGN_FUNCTIONS=0 50CONFIG_VM_EVENT_COUNTERS=y
43CONFIG_CC_ALIGN_LABELS=0
44CONFIG_CC_ALIGN_LOOPS=0
45CONFIG_CC_ALIGN_JUMPS=0
46CONFIG_TINY_SHMEM=y 51CONFIG_TINY_SHMEM=y
47CONFIG_BASE_SMALL=0 52CONFIG_BASE_SMALL=0
53# CONFIG_SLOB is not set
48 54
49# 55#
50# Loadable module support 56# Loadable module support
@@ -52,12 +58,30 @@ CONFIG_BASE_SMALL=0
52CONFIG_MODULES=y 58CONFIG_MODULES=y
53CONFIG_MODULE_UNLOAD=y 59CONFIG_MODULE_UNLOAD=y
54# CONFIG_MODULE_FORCE_UNLOAD is not set 60# CONFIG_MODULE_FORCE_UNLOAD is not set
55CONFIG_OBSOLETE_MODPARM=y
56# CONFIG_MODVERSIONS is not set 61# CONFIG_MODVERSIONS is not set
57# CONFIG_MODULE_SRCVERSION_ALL is not set 62# CONFIG_MODULE_SRCVERSION_ALL is not set
58CONFIG_KMOD=y 63CONFIG_KMOD=y
59 64
60# 65#
66# Block layer
67#
68CONFIG_BLOCK=y
69# CONFIG_BLK_DEV_IO_TRACE is not set
70
71#
72# IO Schedulers
73#
74CONFIG_IOSCHED_NOOP=y
75# CONFIG_IOSCHED_AS is not set
76CONFIG_IOSCHED_DEADLINE=y
77CONFIG_IOSCHED_CFQ=y
78# CONFIG_DEFAULT_AS is not set
79# CONFIG_DEFAULT_DEADLINE is not set
80CONFIG_DEFAULT_CFQ=y
81# CONFIG_DEFAULT_NOOP is not set
82CONFIG_DEFAULT_IOSCHED="cfq"
83
84#
61# Processor type and features 85# Processor type and features
62# 86#
63CONFIG_PLAT_MAPPI=y 87CONFIG_PLAT_MAPPI=y
@@ -67,8 +91,10 @@ CONFIG_PLAT_MAPPI=y
67# CONFIG_PLAT_OAKS32R is not set 91# CONFIG_PLAT_OAKS32R is not set
68# CONFIG_PLAT_MAPPI2 is not set 92# CONFIG_PLAT_MAPPI2 is not set
69# CONFIG_PLAT_MAPPI3 is not set 93# CONFIG_PLAT_MAPPI3 is not set
94# CONFIG_PLAT_M32104UT is not set
70CONFIG_CHIP_M32700=y 95CONFIG_CHIP_M32700=y
71# CONFIG_CHIP_M32102 is not set 96# CONFIG_CHIP_M32102 is not set
97# CONFIG_CHIP_M32104 is not set
72# CONFIG_CHIP_VDEC2 is not set 98# CONFIG_CHIP_VDEC2 is not set
73# CONFIG_CHIP_OPSP is not set 99# CONFIG_CHIP_OPSP is not set
74# CONFIG_MMU is not set 100# CONFIG_MMU is not set
@@ -82,18 +108,31 @@ CONFIG_TIMER_DIVIDE=128
82CONFIG_MEMORY_START=0x00000000 108CONFIG_MEMORY_START=0x00000000
83CONFIG_MEMORY_SIZE=0x00E00000 109CONFIG_MEMORY_SIZE=0x00E00000
84CONFIG_NOHIGHMEM=y 110CONFIG_NOHIGHMEM=y
85# CONFIG_DISCONTIGMEM is not set 111CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
112CONFIG_SELECT_MEMORY_MODEL=y
113# CONFIG_FLATMEM_MANUAL is not set
114CONFIG_DISCONTIGMEM_MANUAL=y
115# CONFIG_SPARSEMEM_MANUAL is not set
116CONFIG_DISCONTIGMEM=y
117CONFIG_FLAT_NODE_MEM_MAP=y
118CONFIG_NEED_MULTIPLE_NODES=y
119# CONFIG_SPARSEMEM_STATIC is not set
120CONFIG_SPLIT_PTLOCK_CPUS=4
121# CONFIG_RESOURCES_64BIT is not set
122CONFIG_IRAM_START=0x00f00000
123CONFIG_IRAM_SIZE=0x00080000
86CONFIG_RWSEM_GENERIC_SPINLOCK=y 124CONFIG_RWSEM_GENERIC_SPINLOCK=y
87# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set 125# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
126CONFIG_GENERIC_FIND_NEXT_BIT=y
127CONFIG_GENERIC_HWEIGHT=y
88CONFIG_GENERIC_CALIBRATE_DELAY=y 128CONFIG_GENERIC_CALIBRATE_DELAY=y
89CONFIG_PREEMPT=y 129CONFIG_PREEMPT=y
90# CONFIG_HAVE_DEC_LOCK is not set
91# CONFIG_SMP is not set 130# CONFIG_SMP is not set
131CONFIG_NODES_SHIFT=1
92 132
93# 133#
94# Bus options (PCI, PCMCIA, EISA, MCA, ISA) 134# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
95# 135#
96# CONFIG_PCI is not set
97# CONFIG_ISA is not set 136# CONFIG_ISA is not set
98 137
99# 138#
@@ -102,12 +141,14 @@ CONFIG_PREEMPT=y
102CONFIG_PCCARD=y 141CONFIG_PCCARD=y
103# CONFIG_PCMCIA_DEBUG is not set 142# CONFIG_PCMCIA_DEBUG is not set
104CONFIG_PCMCIA=y 143CONFIG_PCMCIA=y
144CONFIG_PCMCIA_LOAD_CIS=y
145CONFIG_PCMCIA_IOCTL=y
105 146
106# 147#
107# PC-card bridges 148# PC-card bridges
108# 149#
109# CONFIG_TCIC is not set
110CONFIG_M32R_PCC=y 150CONFIG_M32R_PCC=y
151CONFIG_PCCARD_NONSTATIC=y
111 152
112# 153#
113# PCI Hotplug Support 154# PCI Hotplug Support
@@ -122,6 +163,94 @@ CONFIG_BINFMT_FLAT=y
122# CONFIG_BINFMT_MISC is not set 163# CONFIG_BINFMT_MISC is not set
123 164
124# 165#
166# Networking
167#
168CONFIG_NET=y
169
170#
171# Networking options
172#
173# CONFIG_NETDEBUG is not set
174CONFIG_PACKET=y
175# CONFIG_PACKET_MMAP is not set
176CONFIG_UNIX=y
177CONFIG_XFRM=y
178# CONFIG_XFRM_USER is not set
179# CONFIG_XFRM_SUB_POLICY is not set
180# CONFIG_NET_KEY is not set
181CONFIG_INET=y
182# CONFIG_IP_MULTICAST is not set
183# CONFIG_IP_ADVANCED_ROUTER is not set
184CONFIG_IP_FIB_HASH=y
185CONFIG_IP_PNP=y
186CONFIG_IP_PNP_DHCP=y
187# CONFIG_IP_PNP_BOOTP is not set
188# CONFIG_IP_PNP_RARP is not set
189# CONFIG_NET_IPIP is not set
190# CONFIG_NET_IPGRE is not set
191# CONFIG_ARPD is not set
192# CONFIG_SYN_COOKIES is not set
193# CONFIG_INET_AH is not set
194# CONFIG_INET_ESP is not set
195# CONFIG_INET_IPCOMP is not set
196# CONFIG_INET_XFRM_TUNNEL is not set
197# CONFIG_INET_TUNNEL is not set
198CONFIG_INET_XFRM_MODE_TRANSPORT=y
199CONFIG_INET_XFRM_MODE_TUNNEL=y
200CONFIG_INET_XFRM_MODE_BEET=y
201CONFIG_INET_DIAG=y
202CONFIG_INET_TCP_DIAG=y
203# CONFIG_TCP_CONG_ADVANCED is not set
204CONFIG_TCP_CONG_CUBIC=y
205CONFIG_DEFAULT_TCP_CONG="cubic"
206# CONFIG_TCP_MD5SIG is not set
207# CONFIG_IPV6 is not set
208# CONFIG_INET6_XFRM_TUNNEL is not set
209# CONFIG_INET6_TUNNEL is not set
210# CONFIG_NETWORK_SECMARK is not set
211# CONFIG_NETFILTER is not set
212
213#
214# DCCP Configuration (EXPERIMENTAL)
215#
216# CONFIG_IP_DCCP is not set
217
218#
219# SCTP Configuration (EXPERIMENTAL)
220#
221# CONFIG_IP_SCTP is not set
222
223#
224# TIPC Configuration (EXPERIMENTAL)
225#
226# CONFIG_TIPC is not set
227# CONFIG_ATM is not set
228# CONFIG_BRIDGE is not set
229# CONFIG_VLAN_8021Q is not set
230# CONFIG_DECNET is not set
231# CONFIG_LLC2 is not set
232# CONFIG_IPX is not set
233# CONFIG_ATALK is not set
234# CONFIG_X25 is not set
235# CONFIG_LAPB is not set
236# CONFIG_ECONET is not set
237# CONFIG_WAN_ROUTER is not set
238
239#
240# QoS and/or fair queueing
241#
242# CONFIG_NET_SCHED is not set
243
244#
245# Network testing
246#
247# CONFIG_NET_PKTGEN is not set
248# CONFIG_HAMRADIO is not set
249# CONFIG_IRDA is not set
250# CONFIG_BT is not set
251# CONFIG_IEEE80211 is not set
252
253#
125# Device Drivers 254# Device Drivers
126# 255#
127 256
@@ -130,7 +259,13 @@ CONFIG_BINFMT_FLAT=y
130# 259#
131CONFIG_STANDALONE=y 260CONFIG_STANDALONE=y
132CONFIG_PREVENT_FIRMWARE_BUILD=y 261CONFIG_PREVENT_FIRMWARE_BUILD=y
133# CONFIG_FW_LOADER is not set 262CONFIG_FW_LOADER=y
263# CONFIG_SYS_HYPERVISOR is not set
264
265#
266# Connector - unified userspace <-> kernelspace linker
267#
268# CONFIG_CONNECTOR is not set
134 269
135# 270#
136# Memory Technology Devices (MTD) 271# Memory Technology Devices (MTD)
@@ -149,7 +284,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
149# 284#
150# Block devices 285# Block devices
151# 286#
152# CONFIG_BLK_DEV_FD is not set
153# CONFIG_BLK_DEV_COW_COMMON is not set 287# CONFIG_BLK_DEV_COW_COMMON is not set
154CONFIG_BLK_DEV_LOOP=y 288CONFIG_BLK_DEV_LOOP=y
155# CONFIG_BLK_DEV_CRYPTOLOOP is not set 289# CONFIG_BLK_DEV_CRYPTOLOOP is not set
@@ -157,18 +291,15 @@ CONFIG_BLK_DEV_NBD=y
157CONFIG_BLK_DEV_RAM=y 291CONFIG_BLK_DEV_RAM=y
158CONFIG_BLK_DEV_RAM_COUNT=16 292CONFIG_BLK_DEV_RAM_COUNT=16
159CONFIG_BLK_DEV_RAM_SIZE=4096 293CONFIG_BLK_DEV_RAM_SIZE=4096
294CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
160# CONFIG_BLK_DEV_INITRD is not set 295# CONFIG_BLK_DEV_INITRD is not set
161CONFIG_INITRAMFS_SOURCE=""
162# CONFIG_CDROM_PKTCDVD is not set 296# CONFIG_CDROM_PKTCDVD is not set
297# CONFIG_ATA_OVER_ETH is not set
163 298
164# 299#
165# IO Schedulers 300# Misc devices
166# 301#
167CONFIG_IOSCHED_NOOP=y 302# CONFIG_TIFM_CORE is not set
168# CONFIG_IOSCHED_AS is not set
169CONFIG_IOSCHED_DEADLINE=y
170CONFIG_IOSCHED_CFQ=y
171# CONFIG_ATA_OVER_ETH is not set
172 303
173# 304#
174# ATA/ATAPI/MFM/RLL support 305# ATA/ATAPI/MFM/RLL support
@@ -178,7 +309,13 @@ CONFIG_IOSCHED_CFQ=y
178# 309#
179# SCSI device support 310# SCSI device support
180# 311#
312# CONFIG_RAID_ATTRS is not set
181# CONFIG_SCSI is not set 313# CONFIG_SCSI is not set
314# CONFIG_SCSI_NETLINK is not set
315
316#
317# Serial ATA (prod) and Parallel ATA (experimental) drivers
318#
182 319
183# 320#
184# Multi-device support (RAID and LVM) 321# Multi-device support (RAID and LVM)
@@ -188,6 +325,7 @@ CONFIG_IOSCHED_CFQ=y
188# 325#
189# Fusion MPT device support 326# Fusion MPT device support
190# 327#
328# CONFIG_FUSION is not set
191 329
192# 330#
193# IEEE 1394 (FireWire) support 331# IEEE 1394 (FireWire) support
@@ -198,69 +336,8 @@ CONFIG_IOSCHED_CFQ=y
198# 336#
199 337
200# 338#
201# Networking support 339# Network device support
202#
203CONFIG_NET=y
204
205#
206# Networking options
207#
208CONFIG_PACKET=y
209# CONFIG_PACKET_MMAP is not set
210CONFIG_UNIX=y
211# CONFIG_NET_KEY is not set
212CONFIG_INET=y
213# CONFIG_IP_MULTICAST is not set
214# CONFIG_IP_ADVANCED_ROUTER is not set
215CONFIG_IP_PNP=y
216CONFIG_IP_PNP_DHCP=y
217# CONFIG_IP_PNP_BOOTP is not set
218# CONFIG_IP_PNP_RARP is not set
219# CONFIG_NET_IPIP is not set
220# CONFIG_NET_IPGRE is not set
221# CONFIG_ARPD is not set
222# CONFIG_SYN_COOKIES is not set
223# CONFIG_INET_AH is not set
224# CONFIG_INET_ESP is not set
225# CONFIG_INET_IPCOMP is not set
226# CONFIG_INET_TUNNEL is not set
227CONFIG_IP_TCPDIAG=y
228# CONFIG_IP_TCPDIAG_IPV6 is not set
229# CONFIG_IPV6 is not set
230# CONFIG_NETFILTER is not set
231
232#
233# SCTP Configuration (EXPERIMENTAL)
234#
235# CONFIG_IP_SCTP is not set
236# CONFIG_ATM is not set
237# CONFIG_BRIDGE is not set
238# CONFIG_VLAN_8021Q is not set
239# CONFIG_DECNET is not set
240# CONFIG_LLC2 is not set
241# CONFIG_IPX is not set
242# CONFIG_ATALK is not set
243# CONFIG_X25 is not set
244# CONFIG_LAPB is not set
245# CONFIG_NET_DIVERT is not set
246# CONFIG_ECONET is not set
247# CONFIG_WAN_ROUTER is not set
248
249#
250# QoS and/or fair queueing
251#
252# CONFIG_NET_SCHED is not set
253# CONFIG_NET_CLS_ROUTE is not set
254
255#
256# Network testing
257# 340#
258# CONFIG_NET_PKTGEN is not set
259# CONFIG_NETPOLL is not set
260# CONFIG_NET_POLL_CONTROLLER is not set
261# CONFIG_HAMRADIO is not set
262# CONFIG_IRDA is not set
263# CONFIG_BT is not set
264CONFIG_NETDEVICES=y 341CONFIG_NETDEVICES=y
265# CONFIG_DUMMY is not set 342# CONFIG_DUMMY is not set
266# CONFIG_BONDING is not set 343# CONFIG_BONDING is not set
@@ -268,6 +345,10 @@ CONFIG_NETDEVICES=y
268# CONFIG_TUN is not set 345# CONFIG_TUN is not set
269 346
270# 347#
348# PHY device support
349#
350
351#
271# Ethernet (10 or 100Mbit) 352# Ethernet (10 or 100Mbit)
272# 353#
273# CONFIG_NET_ETHERNET is not set 354# CONFIG_NET_ETHERNET is not set
@@ -303,6 +384,8 @@ CONFIG_NE2000=y
303# CONFIG_SLIP is not set 384# CONFIG_SLIP is not set
304# CONFIG_SHAPER is not set 385# CONFIG_SHAPER is not set
305# CONFIG_NETCONSOLE is not set 386# CONFIG_NETCONSOLE is not set
387# CONFIG_NETPOLL is not set
388# CONFIG_NET_POLL_CONTROLLER is not set
306 389
307# 390#
308# ISDN subsystem 391# ISDN subsystem
@@ -318,6 +401,7 @@ CONFIG_NE2000=y
318# Input device support 401# Input device support
319# 402#
320CONFIG_INPUT=y 403CONFIG_INPUT=y
404# CONFIG_INPUT_FF_MEMLESS is not set
321 405
322# 406#
323# Userland interfaces 407# Userland interfaces
@@ -346,7 +430,6 @@ CONFIG_SERIO_SERPORT=y
346# CONFIG_SERIO_LIBPS2 is not set 430# CONFIG_SERIO_LIBPS2 is not set
347# CONFIG_SERIO_RAW is not set 431# CONFIG_SERIO_RAW is not set
348# CONFIG_GAMEPORT is not set 432# CONFIG_GAMEPORT is not set
349CONFIG_SOUND_GAMEPORT=y
350 433
351# 434#
352# Character devices 435# Character devices
@@ -366,7 +449,6 @@ CONFIG_SERIAL_CORE=y
366CONFIG_SERIAL_CORE_CONSOLE=y 449CONFIG_SERIAL_CORE_CONSOLE=y
367CONFIG_SERIAL_M32R_SIO=y 450CONFIG_SERIAL_M32R_SIO=y
368CONFIG_SERIAL_M32R_SIO_CONSOLE=y 451CONFIG_SERIAL_M32R_SIO_CONSOLE=y
369# CONFIG_SERIAL_M32R_PLDSIO is not set
370CONFIG_UNIX98_PTYS=y 452CONFIG_UNIX98_PTYS=y
371CONFIG_LEGACY_PTYS=y 453CONFIG_LEGACY_PTYS=y
372CONFIG_LEGACY_PTY_COUNT=256 454CONFIG_LEGACY_PTY_COUNT=256
@@ -380,25 +462,27 @@ CONFIG_LEGACY_PTY_COUNT=256
380# Watchdog Cards 462# Watchdog Cards
381# 463#
382# CONFIG_WATCHDOG is not set 464# CONFIG_WATCHDOG is not set
465CONFIG_HW_RANDOM=y
383# CONFIG_RTC is not set 466# CONFIG_RTC is not set
384# CONFIG_GEN_RTC is not set
385# CONFIG_DTLK is not set 467# CONFIG_DTLK is not set
386# CONFIG_R3964 is not set 468# CONFIG_R3964 is not set
387 469
388# 470#
389# Ftape, the floppy tape device driver 471# Ftape, the floppy tape device driver
390# 472#
391# CONFIG_DRM is not set
392 473
393# 474#
394# PCMCIA character devices 475# PCMCIA character devices
395# 476#
396# CONFIG_SYNCLINK_CS is not set 477# CONFIG_SYNCLINK_CS is not set
478# CONFIG_CARDMAN_4000 is not set
479# CONFIG_CARDMAN_4040 is not set
397# CONFIG_RAW_DRIVER is not set 480# CONFIG_RAW_DRIVER is not set
398 481
399# 482#
400# TPM devices 483# TPM devices
401# 484#
485# CONFIG_TCG_TPM is not set
402 486
403# 487#
404# I2C support 488# I2C support
@@ -406,13 +490,25 @@ CONFIG_LEGACY_PTY_COUNT=256
406# CONFIG_I2C is not set 490# CONFIG_I2C is not set
407 491
408# 492#
493# SPI support
494#
495# CONFIG_SPI is not set
496# CONFIG_SPI_MASTER is not set
497
498#
409# Dallas's 1-wire bus 499# Dallas's 1-wire bus
410# 500#
411# CONFIG_W1 is not set 501# CONFIG_W1 is not set
412 502
413# 503#
414# Misc devices 504# Hardware Monitoring support
415# 505#
506CONFIG_HWMON=y
507# CONFIG_HWMON_VID is not set
508# CONFIG_SENSORS_ABITUGURU is not set
509# CONFIG_SENSORS_F71805F is not set
510# CONFIG_SENSORS_VT1211 is not set
511# CONFIG_HWMON_DEBUG_CHIP is not set
416 512
417# 513#
418# Multimedia devices 514# Multimedia devices
@@ -427,7 +523,9 @@ CONFIG_LEGACY_PTY_COUNT=256
427# 523#
428# Graphics support 524# Graphics support
429# 525#
526CONFIG_FIRMWARE_EDID=y
430# CONFIG_FB is not set 527# CONFIG_FB is not set
528# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
431 529
432# 530#
433# Sound 531# Sound
@@ -439,6 +537,11 @@ CONFIG_LEGACY_PTY_COUNT=256
439# 537#
440# CONFIG_USB_ARCH_HAS_HCD is not set 538# CONFIG_USB_ARCH_HAS_HCD is not set
441# CONFIG_USB_ARCH_HAS_OHCI is not set 539# CONFIG_USB_ARCH_HAS_OHCI is not set
540# CONFIG_USB_ARCH_HAS_EHCI is not set
541
542#
543# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
544#
442 545
443# 546#
444# USB Gadget Support 547# USB Gadget Support
@@ -451,30 +554,72 @@ CONFIG_LEGACY_PTY_COUNT=256
451# CONFIG_MMC is not set 554# CONFIG_MMC is not set
452 555
453# 556#
557# LED devices
558#
559# CONFIG_NEW_LEDS is not set
560
561#
562# LED drivers
563#
564
565#
566# LED Triggers
567#
568
569#
454# InfiniBand support 570# InfiniBand support
455# 571#
456# CONFIG_INFINIBAND is not set 572
573#
574# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
575#
576
577#
578# Real Time Clock
579#
580# CONFIG_RTC_CLASS is not set
581
582#
583# DMA Engine support
584#
585# CONFIG_DMA_ENGINE is not set
586
587#
588# DMA Clients
589#
590
591#
592# DMA Devices
593#
457 594
458# 595#
459# File systems 596# File systems
460# 597#
461CONFIG_EXT2_FS=y 598CONFIG_EXT2_FS=y
462# CONFIG_EXT2_FS_XATTR is not set 599# CONFIG_EXT2_FS_XATTR is not set
463# CONFIG_EXT3_FS is not set 600CONFIG_EXT3_FS=y
464# CONFIG_JBD is not set 601CONFIG_EXT3_FS_XATTR=y
602# CONFIG_EXT3_FS_POSIX_ACL is not set
603# CONFIG_EXT3_FS_SECURITY is not set
604# CONFIG_EXT4DEV_FS is not set
605CONFIG_JBD=y
606# CONFIG_JBD_DEBUG is not set
607CONFIG_FS_MBCACHE=y
465# CONFIG_REISERFS_FS is not set 608# CONFIG_REISERFS_FS is not set
466# CONFIG_JFS_FS is not set 609# CONFIG_JFS_FS is not set
467 610# CONFIG_FS_POSIX_ACL is not set
468#
469# XFS support
470#
471# CONFIG_XFS_FS is not set 611# CONFIG_XFS_FS is not set
612# CONFIG_GFS2_FS is not set
613# CONFIG_OCFS2_FS is not set
472# CONFIG_MINIX_FS is not set 614# CONFIG_MINIX_FS is not set
473# CONFIG_ROMFS_FS is not set 615# CONFIG_ROMFS_FS is not set
616CONFIG_INOTIFY=y
617CONFIG_INOTIFY_USER=y
474# CONFIG_QUOTA is not set 618# CONFIG_QUOTA is not set
475CONFIG_DNOTIFY=y 619CONFIG_DNOTIFY=y
476# CONFIG_AUTOFS_FS is not set 620# CONFIG_AUTOFS_FS is not set
477# CONFIG_AUTOFS4_FS is not set 621# CONFIG_AUTOFS4_FS is not set
622# CONFIG_FUSE_FS is not set
478 623
479# 624#
480# CD-ROM/DVD Filesystems 625# CD-ROM/DVD Filesystems
@@ -493,15 +638,12 @@ CONFIG_DNOTIFY=y
493# Pseudo filesystems 638# Pseudo filesystems
494# 639#
495CONFIG_PROC_FS=y 640CONFIG_PROC_FS=y
641CONFIG_PROC_SYSCTL=y
496CONFIG_SYSFS=y 642CONFIG_SYSFS=y
497CONFIG_DEVFS_FS=y
498CONFIG_DEVFS_MOUNT=y
499# CONFIG_DEVFS_DEBUG is not set
500CONFIG_DEVPTS_FS_XATTR=y
501CONFIG_DEVPTS_FS_SECURITY=y
502# CONFIG_TMPFS is not set 643# CONFIG_TMPFS is not set
503# CONFIG_HUGETLB_PAGE is not set 644# CONFIG_HUGETLB_PAGE is not set
504CONFIG_RAMFS=y 645CONFIG_RAMFS=y
646# CONFIG_CONFIGFS_FS is not set
505 647
506# 648#
507# Miscellaneous filesystems 649# Miscellaneous filesystems
@@ -525,12 +667,14 @@ CONFIG_RAMFS=y
525# 667#
526CONFIG_NFS_FS=y 668CONFIG_NFS_FS=y
527CONFIG_NFS_V3=y 669CONFIG_NFS_V3=y
670# CONFIG_NFS_V3_ACL is not set
528# CONFIG_NFS_V4 is not set 671# CONFIG_NFS_V4 is not set
529# CONFIG_NFS_DIRECTIO is not set 672# CONFIG_NFS_DIRECTIO is not set
530# CONFIG_NFSD is not set 673# CONFIG_NFSD is not set
531CONFIG_ROOT_NFS=y 674CONFIG_ROOT_NFS=y
532CONFIG_LOCKD=y 675CONFIG_LOCKD=y
533CONFIG_LOCKD_V4=y 676CONFIG_LOCKD_V4=y
677CONFIG_NFS_COMMON=y
534CONFIG_SUNRPC=y 678CONFIG_SUNRPC=y
535# CONFIG_RPCSEC_GSS_KRB5 is not set 679# CONFIG_RPCSEC_GSS_KRB5 is not set
536# CONFIG_RPCSEC_GSS_SPKM3 is not set 680# CONFIG_RPCSEC_GSS_SPKM3 is not set
@@ -539,6 +683,7 @@ CONFIG_SUNRPC=y
539# CONFIG_NCP_FS is not set 683# CONFIG_NCP_FS is not set
540# CONFIG_CODA_FS is not set 684# CONFIG_CODA_FS is not set
541# CONFIG_AFS_FS is not set 685# CONFIG_AFS_FS is not set
686# CONFIG_9P_FS is not set
542 687
543# 688#
544# Partition Types 689# Partition Types
@@ -599,10 +744,16 @@ CONFIG_NLS_DEFAULT="iso8859-1"
599# Kernel hacking 744# Kernel hacking
600# 745#
601# CONFIG_PRINTK_TIME is not set 746# CONFIG_PRINTK_TIME is not set
747CONFIG_ENABLE_MUST_CHECK=y
748# CONFIG_MAGIC_SYSRQ is not set
749# CONFIG_UNUSED_SYMBOLS is not set
602# CONFIG_DEBUG_KERNEL is not set 750# CONFIG_DEBUG_KERNEL is not set
603CONFIG_LOG_BUF_SHIFT=14 751CONFIG_LOG_BUF_SHIFT=14
604# CONFIG_DEBUG_BUGVERBOSE is not set 752# CONFIG_DEBUG_BUGVERBOSE is not set
753# CONFIG_DEBUG_FS is not set
605# CONFIG_FRAME_POINTER is not set 754# CONFIG_FRAME_POINTER is not set
755# CONFIG_UNWIND_INFO is not set
756# CONFIG_HEADERS_CHECK is not set
606 757
607# 758#
608# Security options 759# Security options
@@ -616,12 +767,9 @@ CONFIG_LOG_BUF_SHIFT=14
616# CONFIG_CRYPTO is not set 767# CONFIG_CRYPTO is not set
617 768
618# 769#
619# Hardware crypto devices
620#
621
622#
623# Library routines 770# Library routines
624# 771#
625# CONFIG_CRC_CCITT is not set 772# CONFIG_CRC_CCITT is not set
773# CONFIG_CRC16 is not set
626CONFIG_CRC32=y 774CONFIG_CRC32=y
627# CONFIG_LIBCRC32C is not set 775# CONFIG_LIBCRC32C is not set
diff --git a/arch/m32r/mappi/defconfig.smp b/arch/m32r/mappi/defconfig.smp
index 1a7f3cd42246..168669202b94 100644
--- a/arch/m32r/mappi/defconfig.smp
+++ b/arch/m32r/mappi/defconfig.smp
@@ -1,21 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc5 3# Linux kernel version: 2.6.19
4# Fri Jun 3 16:21:52 2005 4# Wed Dec 13 17:50:59 2006
5# 5#
6CONFIG_M32R=y 6CONFIG_M32R=y
7# CONFIG_UID16 is not set
8CONFIG_GENERIC_ISA_DMA=y 7CONFIG_GENERIC_ISA_DMA=y
9CONFIG_GENERIC_HARDIRQS=y 8CONFIG_GENERIC_HARDIRQS=y
10CONFIG_GENERIC_IRQ_PROBE=y 9CONFIG_GENERIC_IRQ_PROBE=y
10CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 11
12# 12#
13# Code maturity level options 13# Code maturity level options
14# 14#
15CONFIG_EXPERIMENTAL=y 15CONFIG_EXPERIMENTAL=y
16# CONFIG_CLEAN_COMPILE is not set
17CONFIG_BROKEN=y
18CONFIG_BROKEN_ON_SMP=y
19CONFIG_LOCK_KERNEL=y 16CONFIG_LOCK_KERNEL=y
20CONFIG_INIT_ENV_ARG_LIMIT=32 17CONFIG_INIT_ENV_ARG_LIMIT=32
21 18
@@ -23,32 +20,39 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
23# General setup 20# General setup
24# 21#
25CONFIG_LOCALVERSION="" 22CONFIG_LOCALVERSION=""
23CONFIG_LOCALVERSION_AUTO=y
26CONFIG_SWAP=y 24CONFIG_SWAP=y
27CONFIG_SYSVIPC=y 25CONFIG_SYSVIPC=y
26# CONFIG_IPC_NS is not set
28# CONFIG_POSIX_MQUEUE is not set 27# CONFIG_POSIX_MQUEUE is not set
29# CONFIG_BSD_PROCESS_ACCT is not set 28# CONFIG_BSD_PROCESS_ACCT is not set
30CONFIG_SYSCTL=y 29# CONFIG_TASKSTATS is not set
30# CONFIG_UTS_NS is not set
31# CONFIG_AUDIT is not set 31# CONFIG_AUDIT is not set
32CONFIG_HOTPLUG=y
33CONFIG_KOBJECT_UEVENT=y
34CONFIG_IKCONFIG=y 32CONFIG_IKCONFIG=y
35CONFIG_IKCONFIG_PROC=y 33CONFIG_IKCONFIG_PROC=y
36# CONFIG_CPUSETS is not set 34# CONFIG_CPUSETS is not set
35CONFIG_SYSFS_DEPRECATED=y
36# CONFIG_RELAY is not set
37CONFIG_INITRAMFS_SOURCE=""
38# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
39CONFIG_SYSCTL=y
37CONFIG_EMBEDDED=y 40CONFIG_EMBEDDED=y
41CONFIG_SYSCTL_SYSCALL=y
38# CONFIG_KALLSYMS is not set 42# CONFIG_KALLSYMS is not set
43CONFIG_HOTPLUG=y
39CONFIG_PRINTK=y 44CONFIG_PRINTK=y
40CONFIG_BUG=y 45CONFIG_BUG=y
46CONFIG_ELF_CORE=y
41CONFIG_BASE_FULL=y 47CONFIG_BASE_FULL=y
42# CONFIG_FUTEX is not set 48# CONFIG_FUTEX is not set
43# CONFIG_EPOLL is not set 49# CONFIG_EPOLL is not set
44# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
45CONFIG_SHMEM=y 50CONFIG_SHMEM=y
46CONFIG_CC_ALIGN_FUNCTIONS=0 51CONFIG_SLAB=y
47CONFIG_CC_ALIGN_LABELS=0 52CONFIG_VM_EVENT_COUNTERS=y
48CONFIG_CC_ALIGN_LOOPS=0
49CONFIG_CC_ALIGN_JUMPS=0
50# CONFIG_TINY_SHMEM is not set 53# CONFIG_TINY_SHMEM is not set
51CONFIG_BASE_SMALL=0 54CONFIG_BASE_SMALL=0
55# CONFIG_SLOB is not set
52 56
53# 57#
54# Loadable module support 58# Loadable module support
@@ -56,13 +60,31 @@ CONFIG_BASE_SMALL=0
56CONFIG_MODULES=y 60CONFIG_MODULES=y
57CONFIG_MODULE_UNLOAD=y 61CONFIG_MODULE_UNLOAD=y
58# CONFIG_MODULE_FORCE_UNLOAD is not set 62# CONFIG_MODULE_FORCE_UNLOAD is not set
59CONFIG_OBSOLETE_MODPARM=y
60# CONFIG_MODVERSIONS is not set 63# CONFIG_MODVERSIONS is not set
61# CONFIG_MODULE_SRCVERSION_ALL is not set 64# CONFIG_MODULE_SRCVERSION_ALL is not set
62CONFIG_KMOD=y 65CONFIG_KMOD=y
63CONFIG_STOP_MACHINE=y 66CONFIG_STOP_MACHINE=y
64 67
65# 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
78# CONFIG_IOSCHED_AS is not set
79CONFIG_IOSCHED_DEADLINE=y
80CONFIG_IOSCHED_CFQ=y
81# CONFIG_DEFAULT_AS is not set
82# CONFIG_DEFAULT_DEADLINE is not set
83CONFIG_DEFAULT_CFQ=y
84# CONFIG_DEFAULT_NOOP is not set
85CONFIG_DEFAULT_IOSCHED="cfq"
86
87#
66# Processor type and features 88# Processor type and features
67# 89#
68CONFIG_PLAT_MAPPI=y 90CONFIG_PLAT_MAPPI=y
@@ -72,8 +94,10 @@ CONFIG_PLAT_MAPPI=y
72# CONFIG_PLAT_OAKS32R is not set 94# CONFIG_PLAT_OAKS32R is not set
73# CONFIG_PLAT_MAPPI2 is not set 95# CONFIG_PLAT_MAPPI2 is not set
74# CONFIG_PLAT_MAPPI3 is not set 96# CONFIG_PLAT_MAPPI3 is not set
97# CONFIG_PLAT_M32104UT is not set
75CONFIG_CHIP_M32700=y 98CONFIG_CHIP_M32700=y
76# CONFIG_CHIP_M32102 is not set 99# CONFIG_CHIP_M32102 is not set
100# CONFIG_CHIP_M32104 is not set
77# CONFIG_CHIP_VDEC2 is not set 101# CONFIG_CHIP_VDEC2 is not set
78# CONFIG_CHIP_OPSP is not set 102# CONFIG_CHIP_OPSP is not set
79CONFIG_MMU=y 103CONFIG_MMU=y
@@ -87,23 +111,33 @@ CONFIG_TIMER_DIVIDE=128
87CONFIG_MEMORY_START=0x08000000 111CONFIG_MEMORY_START=0x08000000
88CONFIG_MEMORY_SIZE=0x04000000 112CONFIG_MEMORY_SIZE=0x04000000
89CONFIG_NOHIGHMEM=y 113CONFIG_NOHIGHMEM=y
114CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
115CONFIG_SELECT_MEMORY_MODEL=y
116# CONFIG_FLATMEM_MANUAL is not set
117CONFIG_DISCONTIGMEM_MANUAL=y
118# CONFIG_SPARSEMEM_MANUAL is not set
90CONFIG_DISCONTIGMEM=y 119CONFIG_DISCONTIGMEM=y
120CONFIG_FLAT_NODE_MEM_MAP=y
121CONFIG_NEED_MULTIPLE_NODES=y
122# CONFIG_SPARSEMEM_STATIC is not set
123CONFIG_SPLIT_PTLOCK_CPUS=4
124# CONFIG_RESOURCES_64BIT is not set
91CONFIG_IRAM_START=0x00f00000 125CONFIG_IRAM_START=0x00f00000
92CONFIG_IRAM_SIZE=0x00080000 126CONFIG_IRAM_SIZE=0x00080000
93CONFIG_RWSEM_GENERIC_SPINLOCK=y 127CONFIG_RWSEM_GENERIC_SPINLOCK=y
94# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set 128# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
129CONFIG_GENERIC_FIND_NEXT_BIT=y
130CONFIG_GENERIC_HWEIGHT=y
95CONFIG_GENERIC_CALIBRATE_DELAY=y 131CONFIG_GENERIC_CALIBRATE_DELAY=y
96CONFIG_PREEMPT=y 132CONFIG_PREEMPT=y
97# CONFIG_HAVE_DEC_LOCK is not set
98CONFIG_SMP=y 133CONFIG_SMP=y
99CONFIG_CHIP_M32700_TS1=y 134CONFIG_CHIP_M32700_TS1=y
100CONFIG_NR_CPUS=2 135CONFIG_NR_CPUS=2
101# CONFIG_NUMA is not set 136CONFIG_NODES_SHIFT=1
102 137
103# 138#
104# Bus options (PCI, PCMCIA, EISA, MCA, ISA) 139# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
105# 140#
106# CONFIG_PCI is not set
107# CONFIG_ISA is not set 141# CONFIG_ISA is not set
108 142
109# 143#
@@ -112,12 +146,14 @@ CONFIG_NR_CPUS=2
112CONFIG_PCCARD=y 146CONFIG_PCCARD=y
113# CONFIG_PCMCIA_DEBUG is not set 147# CONFIG_PCMCIA_DEBUG is not set
114CONFIG_PCMCIA=y 148CONFIG_PCMCIA=y
149CONFIG_PCMCIA_LOAD_CIS=y
150CONFIG_PCMCIA_IOCTL=y
115 151
116# 152#
117# PC-card bridges 153# PC-card bridges
118# 154#
119# CONFIG_TCIC is not set
120CONFIG_M32R_PCC=y 155CONFIG_M32R_PCC=y
156CONFIG_PCCARD_NONSTATIC=y
121 157
122# 158#
123# PCI Hotplug Support 159# PCI Hotplug Support
@@ -130,6 +166,93 @@ CONFIG_BINFMT_ELF=y
130# CONFIG_BINFMT_MISC is not set 166# CONFIG_BINFMT_MISC is not set
131 167
132# 168#
169# Networking
170#
171CONFIG_NET=y
172
173#
174# Networking options
175#
176# CONFIG_NETDEBUG is not set
177# CONFIG_PACKET is not set
178CONFIG_UNIX=y
179CONFIG_XFRM=y
180# CONFIG_XFRM_USER is not set
181# CONFIG_XFRM_SUB_POLICY is not set
182# CONFIG_NET_KEY is not set
183CONFIG_INET=y
184# CONFIG_IP_MULTICAST is not set
185# CONFIG_IP_ADVANCED_ROUTER is not set
186CONFIG_IP_FIB_HASH=y
187CONFIG_IP_PNP=y
188CONFIG_IP_PNP_DHCP=y
189# CONFIG_IP_PNP_BOOTP is not set
190# CONFIG_IP_PNP_RARP is not set
191# CONFIG_NET_IPIP is not set
192# CONFIG_NET_IPGRE is not set
193# CONFIG_ARPD is not set
194# CONFIG_SYN_COOKIES is not set
195# CONFIG_INET_AH is not set
196# CONFIG_INET_ESP is not set
197# CONFIG_INET_IPCOMP is not set
198# CONFIG_INET_XFRM_TUNNEL is not set
199# CONFIG_INET_TUNNEL is not set
200CONFIG_INET_XFRM_MODE_TRANSPORT=y
201CONFIG_INET_XFRM_MODE_TUNNEL=y
202CONFIG_INET_XFRM_MODE_BEET=y
203CONFIG_INET_DIAG=y
204CONFIG_INET_TCP_DIAG=y
205# CONFIG_TCP_CONG_ADVANCED is not set
206CONFIG_TCP_CONG_CUBIC=y
207CONFIG_DEFAULT_TCP_CONG="cubic"
208# CONFIG_TCP_MD5SIG is not set
209# CONFIG_IPV6 is not set
210# CONFIG_INET6_XFRM_TUNNEL is not set
211# CONFIG_INET6_TUNNEL is not set
212# CONFIG_NETWORK_SECMARK is not set
213# CONFIG_NETFILTER is not set
214
215#
216# DCCP Configuration (EXPERIMENTAL)
217#
218# CONFIG_IP_DCCP is not set
219
220#
221# SCTP Configuration (EXPERIMENTAL)
222#
223# CONFIG_IP_SCTP is not set
224
225#
226# TIPC Configuration (EXPERIMENTAL)
227#
228# CONFIG_TIPC is not set
229# CONFIG_ATM is not set
230# CONFIG_BRIDGE is not set
231# CONFIG_VLAN_8021Q is not set
232# CONFIG_DECNET is not set
233# CONFIG_LLC2 is not set
234# CONFIG_IPX is not set
235# CONFIG_ATALK is not set
236# CONFIG_X25 is not set
237# CONFIG_LAPB is not set
238# CONFIG_ECONET is not set
239# CONFIG_WAN_ROUTER is not set
240
241#
242# QoS and/or fair queueing
243#
244# CONFIG_NET_SCHED is not set
245
246#
247# Network testing
248#
249# CONFIG_NET_PKTGEN is not set
250# CONFIG_HAMRADIO is not set
251# CONFIG_IRDA is not set
252# CONFIG_BT is not set
253# CONFIG_IEEE80211 is not set
254
255#
133# Device Drivers 256# Device Drivers
134# 257#
135 258
@@ -138,7 +261,13 @@ CONFIG_BINFMT_ELF=y
138# 261#
139# CONFIG_STANDALONE is not set 262# CONFIG_STANDALONE is not set
140CONFIG_PREVENT_FIRMWARE_BUILD=y 263CONFIG_PREVENT_FIRMWARE_BUILD=y
141# CONFIG_FW_LOADER is not set 264CONFIG_FW_LOADER=y
265# CONFIG_SYS_HYPERVISOR is not set
266
267#
268# Connector - unified userspace <-> kernelspace linker
269#
270# CONFIG_CONNECTOR is not set
142 271
143# 272#
144# Memory Technology Devices (MTD) 273# Memory Technology Devices (MTD)
@@ -161,6 +290,8 @@ CONFIG_MTD_BLOCK=y
161# CONFIG_FTL is not set 290# CONFIG_FTL is not set
162# CONFIG_NFTL is not set 291# CONFIG_NFTL is not set
163# CONFIG_INFTL is not set 292# CONFIG_INFTL is not set
293# CONFIG_RFD_FTL is not set
294# CONFIG_SSFDC is not set
164 295
165# 296#
166# RAM/ROM/Flash chip drivers 297# RAM/ROM/Flash chip drivers
@@ -186,6 +317,7 @@ CONFIG_MTD_CFI_I2=y
186# Mapping drivers for chip access 317# Mapping drivers for chip access
187# 318#
188# CONFIG_MTD_COMPLEX_MAPPINGS is not set 319# CONFIG_MTD_COMPLEX_MAPPINGS is not set
320# CONFIG_MTD_PLATRAM is not set
189 321
190# 322#
191# Self-contained MTD device drivers 323# Self-contained MTD device drivers
@@ -193,7 +325,6 @@ CONFIG_MTD_CFI_I2=y
193# CONFIG_MTD_SLRAM is not set 325# CONFIG_MTD_SLRAM is not set
194# CONFIG_MTD_PHRAM is not set 326# CONFIG_MTD_PHRAM is not set
195# CONFIG_MTD_MTDRAM is not set 327# CONFIG_MTD_MTDRAM is not set
196# CONFIG_MTD_BLKMTD is not set
197# CONFIG_MTD_BLOCK2MTD is not set 328# CONFIG_MTD_BLOCK2MTD is not set
198 329
199# 330#
@@ -209,6 +340,11 @@ CONFIG_MTD_CFI_I2=y
209# CONFIG_MTD_NAND is not set 340# CONFIG_MTD_NAND is not set
210 341
211# 342#
343# OneNAND Flash Device Drivers
344#
345# CONFIG_MTD_ONENAND is not set
346
347#
212# Parallel port support 348# Parallel port support
213# 349#
214# CONFIG_PARPORT is not set 350# CONFIG_PARPORT is not set
@@ -220,7 +356,6 @@ CONFIG_MTD_CFI_I2=y
220# 356#
221# Block devices 357# Block devices
222# 358#
223# CONFIG_BLK_DEV_FD is not set
224# CONFIG_BLK_DEV_COW_COMMON is not set 359# CONFIG_BLK_DEV_COW_COMMON is not set
225CONFIG_BLK_DEV_LOOP=y 360CONFIG_BLK_DEV_LOOP=y
226# CONFIG_BLK_DEV_CRYPTOLOOP is not set 361# CONFIG_BLK_DEV_CRYPTOLOOP is not set
@@ -228,23 +363,21 @@ CONFIG_BLK_DEV_NBD=m
228CONFIG_BLK_DEV_RAM=y 363CONFIG_BLK_DEV_RAM=y
229CONFIG_BLK_DEV_RAM_COUNT=16 364CONFIG_BLK_DEV_RAM_COUNT=16
230CONFIG_BLK_DEV_RAM_SIZE=4096 365CONFIG_BLK_DEV_RAM_SIZE=4096
366CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
231CONFIG_BLK_DEV_INITRD=y 367CONFIG_BLK_DEV_INITRD=y
232CONFIG_INITRAMFS_SOURCE=""
233# CONFIG_CDROM_PKTCDVD is not set 368# CONFIG_CDROM_PKTCDVD is not set
369# CONFIG_ATA_OVER_ETH is not set
234 370
235# 371#
236# IO Schedulers 372# Misc devices
237# 373#
238CONFIG_IOSCHED_NOOP=y 374# CONFIG_TIFM_CORE is not set
239# CONFIG_IOSCHED_AS is not set
240CONFIG_IOSCHED_DEADLINE=y
241CONFIG_IOSCHED_CFQ=y
242# CONFIG_ATA_OVER_ETH is not set
243 375
244# 376#
245# ATA/ATAPI/MFM/RLL support 377# ATA/ATAPI/MFM/RLL support
246# 378#
247CONFIG_IDE=m 379CONFIG_IDE=m
380CONFIG_IDE_MAX_HWIFS=4
248CONFIG_BLK_DEV_IDE=m 381CONFIG_BLK_DEV_IDE=m
249 382
250# 383#
@@ -271,7 +404,13 @@ CONFIG_IDE_GENERIC=m
271# 404#
272# SCSI device support 405# SCSI device support
273# 406#
407# CONFIG_RAID_ATTRS is not set
274# CONFIG_SCSI is not set 408# CONFIG_SCSI is not set
409# CONFIG_SCSI_NETLINK is not set
410
411#
412# Serial ATA (prod) and Parallel ATA (experimental) drivers
413#
275 414
276# 415#
277# Multi-device support (RAID and LVM) 416# Multi-device support (RAID and LVM)
@@ -281,79 +420,19 @@ CONFIG_IDE_GENERIC=m
281# 420#
282# Fusion MPT device support 421# Fusion MPT device support
283# 422#
423# CONFIG_FUSION is not set
284 424
285# 425#
286# IEEE 1394 (FireWire) support 426# IEEE 1394 (FireWire) support
287# 427#
288# CONFIG_IEEE1394 is not set
289 428
290# 429#
291# I2O device support 430# I2O device support
292# 431#
293 432
294# 433#
295# Networking support 434# Network device support
296# 435#
297CONFIG_NET=y
298
299#
300# Networking options
301#
302# CONFIG_PACKET is not set
303CONFIG_UNIX=y
304# CONFIG_NET_KEY is not set
305CONFIG_INET=y
306# CONFIG_IP_MULTICAST is not set
307# CONFIG_IP_ADVANCED_ROUTER is not set
308CONFIG_IP_PNP=y
309CONFIG_IP_PNP_DHCP=y
310# CONFIG_IP_PNP_BOOTP is not set
311# CONFIG_IP_PNP_RARP is not set
312# CONFIG_NET_IPIP is not set
313# CONFIG_NET_IPGRE is not set
314# CONFIG_ARPD is not set
315# CONFIG_SYN_COOKIES is not set
316# CONFIG_INET_AH is not set
317# CONFIG_INET_ESP is not set
318# CONFIG_INET_IPCOMP is not set
319# CONFIG_INET_TUNNEL is not set
320CONFIG_IP_TCPDIAG=y
321# CONFIG_IP_TCPDIAG_IPV6 is not set
322# CONFIG_IPV6 is not set
323# CONFIG_NETFILTER is not set
324
325#
326# SCTP Configuration (EXPERIMENTAL)
327#
328# CONFIG_IP_SCTP is not set
329# CONFIG_ATM is not set
330# CONFIG_BRIDGE is not set
331# CONFIG_VLAN_8021Q is not set
332# CONFIG_DECNET is not set
333# CONFIG_LLC2 is not set
334# CONFIG_IPX is not set
335# CONFIG_ATALK is not set
336# CONFIG_X25 is not set
337# CONFIG_LAPB is not set
338# CONFIG_NET_DIVERT is not set
339# CONFIG_ECONET is not set
340# CONFIG_WAN_ROUTER is not set
341
342#
343# QoS and/or fair queueing
344#
345# CONFIG_NET_SCHED is not set
346# CONFIG_NET_CLS_ROUTE is not set
347
348#
349# Network testing
350#
351# CONFIG_NET_PKTGEN is not set
352# CONFIG_NETPOLL is not set
353# CONFIG_NET_POLL_CONTROLLER is not set
354# CONFIG_HAMRADIO is not set
355# CONFIG_IRDA is not set
356# CONFIG_BT is not set
357CONFIG_NETDEVICES=y 436CONFIG_NETDEVICES=y
358# CONFIG_DUMMY is not set 437# CONFIG_DUMMY is not set
359# CONFIG_BONDING is not set 438# CONFIG_BONDING is not set
@@ -361,6 +440,10 @@ CONFIG_NETDEVICES=y
361# CONFIG_TUN is not set 440# CONFIG_TUN is not set
362 441
363# 442#
443# PHY device support
444#
445
446#
364# Ethernet (10 or 100Mbit) 447# Ethernet (10 or 100Mbit)
365# 448#
366# CONFIG_NET_ETHERNET is not set 449# CONFIG_NET_ETHERNET is not set
@@ -396,6 +479,8 @@ CONFIG_NE2000=y
396# CONFIG_SLIP is not set 479# CONFIG_SLIP is not set
397# CONFIG_SHAPER is not set 480# CONFIG_SHAPER is not set
398# CONFIG_NETCONSOLE is not set 481# CONFIG_NETCONSOLE is not set
482# CONFIG_NETPOLL is not set
483# CONFIG_NET_POLL_CONTROLLER is not set
399 484
400# 485#
401# ISDN subsystem 486# ISDN subsystem
@@ -411,6 +496,7 @@ CONFIG_NE2000=y
411# Input device support 496# Input device support
412# 497#
413CONFIG_INPUT=y 498CONFIG_INPUT=y
499# CONFIG_INPUT_FF_MEMLESS is not set
414 500
415# 501#
416# Userland interfaces 502# Userland interfaces
@@ -442,7 +528,6 @@ CONFIG_SERIO=y
442# CONFIG_SERIO_LIBPS2 is not set 528# CONFIG_SERIO_LIBPS2 is not set
443# CONFIG_SERIO_RAW is not set 529# CONFIG_SERIO_RAW is not set
444# CONFIG_GAMEPORT is not set 530# CONFIG_GAMEPORT is not set
445CONFIG_SOUND_GAMEPORT=y
446 531
447# 532#
448# Character devices 533# Character devices
@@ -462,7 +547,6 @@ CONFIG_SERIAL_CORE=y
462CONFIG_SERIAL_CORE_CONSOLE=y 547CONFIG_SERIAL_CORE_CONSOLE=y
463CONFIG_SERIAL_M32R_SIO=y 548CONFIG_SERIAL_M32R_SIO=y
464CONFIG_SERIAL_M32R_SIO_CONSOLE=y 549CONFIG_SERIAL_M32R_SIO_CONSOLE=y
465# CONFIG_SERIAL_M32R_PLDSIO is not set
466CONFIG_UNIX98_PTYS=y 550CONFIG_UNIX98_PTYS=y
467CONFIG_LEGACY_PTYS=y 551CONFIG_LEGACY_PTYS=y
468CONFIG_LEGACY_PTY_COUNT=256 552CONFIG_LEGACY_PTY_COUNT=256
@@ -476,25 +560,27 @@ CONFIG_LEGACY_PTY_COUNT=256
476# Watchdog Cards 560# Watchdog Cards
477# 561#
478# CONFIG_WATCHDOG is not set 562# CONFIG_WATCHDOG is not set
563CONFIG_HW_RANDOM=y
479# CONFIG_RTC is not set 564# CONFIG_RTC is not set
480# CONFIG_GEN_RTC is not set
481# CONFIG_DTLK is not set 565# CONFIG_DTLK is not set
482# CONFIG_R3964 is not set 566# CONFIG_R3964 is not set
483 567
484# 568#
485# Ftape, the floppy tape device driver 569# Ftape, the floppy tape device driver
486# 570#
487# CONFIG_DRM is not set
488 571
489# 572#
490# PCMCIA character devices 573# PCMCIA character devices
491# 574#
492# CONFIG_SYNCLINK_CS is not set 575# CONFIG_SYNCLINK_CS is not set
576# CONFIG_CARDMAN_4000 is not set
577# CONFIG_CARDMAN_4040 is not set
493# CONFIG_RAW_DRIVER is not set 578# CONFIG_RAW_DRIVER is not set
494 579
495# 580#
496# TPM devices 581# TPM devices
497# 582#
583# CONFIG_TCG_TPM is not set
498 584
499# 585#
500# I2C support 586# I2C support
@@ -502,13 +588,25 @@ CONFIG_LEGACY_PTY_COUNT=256
502# CONFIG_I2C is not set 588# CONFIG_I2C is not set
503 589
504# 590#
591# SPI support
592#
593# CONFIG_SPI is not set
594# CONFIG_SPI_MASTER is not set
595
596#
505# Dallas's 1-wire bus 597# Dallas's 1-wire bus
506# 598#
507# CONFIG_W1 is not set 599# CONFIG_W1 is not set
508 600
509# 601#
510# Misc devices 602# Hardware Monitoring support
511# 603#
604CONFIG_HWMON=y
605# CONFIG_HWMON_VID is not set
606# CONFIG_SENSORS_ABITUGURU is not set
607# CONFIG_SENSORS_F71805F is not set
608# CONFIG_SENSORS_VT1211 is not set
609# CONFIG_HWMON_DEBUG_CHIP is not set
512 610
513# 611#
514# Multimedia devices 612# Multimedia devices
@@ -523,7 +621,9 @@ CONFIG_LEGACY_PTY_COUNT=256
523# 621#
524# Graphics support 622# Graphics support
525# 623#
624CONFIG_FIRMWARE_EDID=y
526# CONFIG_FB is not set 625# CONFIG_FB is not set
626# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
527 627
528# 628#
529# Sound 629# Sound
@@ -535,6 +635,11 @@ CONFIG_LEGACY_PTY_COUNT=256
535# 635#
536# CONFIG_USB_ARCH_HAS_HCD is not set 636# CONFIG_USB_ARCH_HAS_HCD is not set
537# CONFIG_USB_ARCH_HAS_OHCI is not set 637# CONFIG_USB_ARCH_HAS_OHCI is not set
638# CONFIG_USB_ARCH_HAS_EHCI is not set
639
640#
641# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
642#
538 643
539# 644#
540# USB Gadget Support 645# USB Gadget Support
@@ -547,30 +652,73 @@ CONFIG_LEGACY_PTY_COUNT=256
547# CONFIG_MMC is not set 652# CONFIG_MMC is not set
548 653
549# 654#
655# LED devices
656#
657# CONFIG_NEW_LEDS is not set
658
659#
660# LED drivers
661#
662
663#
664# LED Triggers
665#
666
667#
550# InfiniBand support 668# InfiniBand support
551# 669#
552# CONFIG_INFINIBAND is not set 670
671#
672# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
673#
674
675#
676# Real Time Clock
677#
678# CONFIG_RTC_CLASS is not set
679
680#
681# DMA Engine support
682#
683# CONFIG_DMA_ENGINE is not set
684
685#
686# DMA Clients
687#
688
689#
690# DMA Devices
691#
553 692
554# 693#
555# File systems 694# File systems
556# 695#
557CONFIG_EXT2_FS=y 696CONFIG_EXT2_FS=y
558# CONFIG_EXT2_FS_XATTR is not set 697# CONFIG_EXT2_FS_XATTR is not set
559# CONFIG_EXT3_FS is not set 698# CONFIG_EXT2_FS_XIP is not set
560# CONFIG_JBD is not set 699CONFIG_EXT3_FS=y
700CONFIG_EXT3_FS_XATTR=y
701# CONFIG_EXT3_FS_POSIX_ACL is not set
702# CONFIG_EXT3_FS_SECURITY is not set
703# CONFIG_EXT4DEV_FS is not set
704CONFIG_JBD=y
705# CONFIG_JBD_DEBUG is not set
706CONFIG_FS_MBCACHE=y
561# CONFIG_REISERFS_FS is not set 707# CONFIG_REISERFS_FS is not set
562# CONFIG_JFS_FS is not set 708# CONFIG_JFS_FS is not set
563 709# CONFIG_FS_POSIX_ACL is not set
564#
565# XFS support
566#
567# CONFIG_XFS_FS is not set 710# CONFIG_XFS_FS is not set
711# CONFIG_GFS2_FS is not set
712# CONFIG_OCFS2_FS is not set
568# CONFIG_MINIX_FS is not set 713# CONFIG_MINIX_FS is not set
569CONFIG_ROMFS_FS=y 714CONFIG_ROMFS_FS=y
715CONFIG_INOTIFY=y
716CONFIG_INOTIFY_USER=y
570# CONFIG_QUOTA is not set 717# CONFIG_QUOTA is not set
571CONFIG_DNOTIFY=y 718CONFIG_DNOTIFY=y
572# CONFIG_AUTOFS_FS is not set 719# CONFIG_AUTOFS_FS is not set
573# CONFIG_AUTOFS4_FS is not set 720# CONFIG_AUTOFS4_FS is not set
721# CONFIG_FUSE_FS is not set
574 722
575# 723#
576# CD-ROM/DVD Filesystems 724# CD-ROM/DVD Filesystems
@@ -595,16 +743,13 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
595# 743#
596CONFIG_PROC_FS=y 744CONFIG_PROC_FS=y
597CONFIG_PROC_KCORE=y 745CONFIG_PROC_KCORE=y
746CONFIG_PROC_SYSCTL=y
598CONFIG_SYSFS=y 747CONFIG_SYSFS=y
599CONFIG_DEVFS_FS=y
600CONFIG_DEVFS_MOUNT=y
601# CONFIG_DEVFS_DEBUG is not set
602# CONFIG_DEVPTS_FS_XATTR is not set
603CONFIG_TMPFS=y 748CONFIG_TMPFS=y
604# CONFIG_TMPFS_XATTR is not set 749# CONFIG_TMPFS_POSIX_ACL is not set
605# CONFIG_HUGETLBFS is not set
606# CONFIG_HUGETLB_PAGE is not set 750# CONFIG_HUGETLB_PAGE is not set
607CONFIG_RAMFS=y 751CONFIG_RAMFS=y
752# CONFIG_CONFIGFS_FS is not set
608 753
609# 754#
610# Miscellaneous filesystems 755# Miscellaneous filesystems
@@ -621,8 +766,9 @@ CONFIG_JFFS_FS_VERBOSE=0
621CONFIG_JFFS_PROC_FS=y 766CONFIG_JFFS_PROC_FS=y
622CONFIG_JFFS2_FS=y 767CONFIG_JFFS2_FS=y
623CONFIG_JFFS2_FS_DEBUG=0 768CONFIG_JFFS2_FS_DEBUG=0
624# CONFIG_JFFS2_FS_NAND is not set 769CONFIG_JFFS2_FS_WRITEBUFFER=y
625# CONFIG_JFFS2_FS_NOR_ECC is not set 770# CONFIG_JFFS2_SUMMARY is not set
771# CONFIG_JFFS2_FS_XATTR is not set
626# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set 772# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
627CONFIG_JFFS2_ZLIB=y 773CONFIG_JFFS2_ZLIB=y
628CONFIG_JFFS2_RTIME=y 774CONFIG_JFFS2_RTIME=y
@@ -639,12 +785,14 @@ CONFIG_JFFS2_RTIME=y
639# 785#
640CONFIG_NFS_FS=y 786CONFIG_NFS_FS=y
641CONFIG_NFS_V3=y 787CONFIG_NFS_V3=y
788# CONFIG_NFS_V3_ACL is not set
642# CONFIG_NFS_V4 is not set 789# CONFIG_NFS_V4 is not set
643# CONFIG_NFS_DIRECTIO is not set 790# CONFIG_NFS_DIRECTIO is not set
644# CONFIG_NFSD is not set 791# CONFIG_NFSD is not set
645CONFIG_ROOT_NFS=y 792CONFIG_ROOT_NFS=y
646CONFIG_LOCKD=y 793CONFIG_LOCKD=y
647CONFIG_LOCKD_V4=y 794CONFIG_LOCKD_V4=y
795CONFIG_NFS_COMMON=y
648CONFIG_SUNRPC=y 796CONFIG_SUNRPC=y
649# CONFIG_RPCSEC_GSS_KRB5 is not set 797# CONFIG_RPCSEC_GSS_KRB5 is not set
650# CONFIG_RPCSEC_GSS_SPKM3 is not set 798# CONFIG_RPCSEC_GSS_SPKM3 is not set
@@ -653,6 +801,7 @@ CONFIG_SUNRPC=y
653# CONFIG_NCP_FS is not set 801# CONFIG_NCP_FS is not set
654# CONFIG_CODA_FS is not set 802# CONFIG_CODA_FS is not set
655# CONFIG_AFS_FS is not set 803# CONFIG_AFS_FS is not set
804# CONFIG_9P_FS is not set
656 805
657# 806#
658# Partition Types 807# Partition Types
@@ -713,10 +862,16 @@ CONFIG_NLS_DEFAULT="iso8859-1"
713# Kernel hacking 862# Kernel hacking
714# 863#
715# CONFIG_PRINTK_TIME is not set 864# CONFIG_PRINTK_TIME is not set
865CONFIG_ENABLE_MUST_CHECK=y
866# CONFIG_MAGIC_SYSRQ is not set
867# CONFIG_UNUSED_SYMBOLS is not set
716# CONFIG_DEBUG_KERNEL is not set 868# CONFIG_DEBUG_KERNEL is not set
717CONFIG_LOG_BUF_SHIFT=15 869CONFIG_LOG_BUF_SHIFT=15
718# CONFIG_DEBUG_BUGVERBOSE is not set 870# CONFIG_DEBUG_BUGVERBOSE is not set
871# CONFIG_DEBUG_FS is not set
719# CONFIG_FRAME_POINTER is not set 872# CONFIG_FRAME_POINTER is not set
873# CONFIG_UNWIND_INFO is not set
874# CONFIG_HEADERS_CHECK is not set
720 875
721# 876#
722# Security options 877# Security options
@@ -730,13 +885,10 @@ CONFIG_LOG_BUF_SHIFT=15
730# CONFIG_CRYPTO is not set 885# CONFIG_CRYPTO is not set
731 886
732# 887#
733# Hardware crypto devices
734#
735
736#
737# Library routines 888# Library routines
738# 889#
739# CONFIG_CRC_CCITT is not set 890# CONFIG_CRC_CCITT is not set
891# CONFIG_CRC16 is not set
740CONFIG_CRC32=y 892CONFIG_CRC32=y
741# CONFIG_LIBCRC32C is not set 893# CONFIG_LIBCRC32C is not set
742CONFIG_ZLIB_INFLATE=y 894CONFIG_ZLIB_INFLATE=y
diff --git a/arch/m32r/mappi/defconfig.up b/arch/m32r/mappi/defconfig.up
index 38910fb76692..5ba00603c1a0 100644
--- a/arch/m32r/mappi/defconfig.up
+++ b/arch/m32r/mappi/defconfig.up
@@ -1,20 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc5 3# Linux kernel version: 2.6.19
4# Fri Jun 3 16:21:59 2005 4# Wed Dec 13 17:51:20 2006
5# 5#
6CONFIG_M32R=y 6CONFIG_M32R=y
7# CONFIG_UID16 is not set
8CONFIG_GENERIC_ISA_DMA=y 7CONFIG_GENERIC_ISA_DMA=y
9CONFIG_GENERIC_HARDIRQS=y 8CONFIG_GENERIC_HARDIRQS=y
10CONFIG_GENERIC_IRQ_PROBE=y 9CONFIG_GENERIC_IRQ_PROBE=y
10CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 11
12# 12#
13# Code maturity level options 13# Code maturity level options
14# 14#
15CONFIG_EXPERIMENTAL=y 15CONFIG_EXPERIMENTAL=y
16# CONFIG_CLEAN_COMPILE is not set
17CONFIG_BROKEN=y
18CONFIG_BROKEN_ON_SMP=y 16CONFIG_BROKEN_ON_SMP=y
19CONFIG_LOCK_KERNEL=y 17CONFIG_LOCK_KERNEL=y
20CONFIG_INIT_ENV_ARG_LIMIT=32 18CONFIG_INIT_ENV_ARG_LIMIT=32
@@ -23,31 +21,38 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
23# General setup 21# General setup
24# 22#
25CONFIG_LOCALVERSION="" 23CONFIG_LOCALVERSION=""
24CONFIG_LOCALVERSION_AUTO=y
26CONFIG_SWAP=y 25CONFIG_SWAP=y
27CONFIG_SYSVIPC=y 26CONFIG_SYSVIPC=y
27# CONFIG_IPC_NS is not set
28# CONFIG_POSIX_MQUEUE is not set 28# CONFIG_POSIX_MQUEUE is not set
29# CONFIG_BSD_PROCESS_ACCT is not set 29# CONFIG_BSD_PROCESS_ACCT is not set
30CONFIG_SYSCTL=y 30# CONFIG_TASKSTATS is not set
31# CONFIG_UTS_NS is not set
31# CONFIG_AUDIT is not set 32# CONFIG_AUDIT is not set
32CONFIG_HOTPLUG=y
33CONFIG_KOBJECT_UEVENT=y
34CONFIG_IKCONFIG=y 33CONFIG_IKCONFIG=y
35CONFIG_IKCONFIG_PROC=y 34CONFIG_IKCONFIG_PROC=y
35CONFIG_SYSFS_DEPRECATED=y
36# CONFIG_RELAY is not set
37CONFIG_INITRAMFS_SOURCE=""
38# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
39CONFIG_SYSCTL=y
36CONFIG_EMBEDDED=y 40CONFIG_EMBEDDED=y
41CONFIG_SYSCTL_SYSCALL=y
37# CONFIG_KALLSYMS is not set 42# CONFIG_KALLSYMS is not set
43CONFIG_HOTPLUG=y
38CONFIG_PRINTK=y 44CONFIG_PRINTK=y
39CONFIG_BUG=y 45CONFIG_BUG=y
46CONFIG_ELF_CORE=y
40CONFIG_BASE_FULL=y 47CONFIG_BASE_FULL=y
41# CONFIG_FUTEX is not set 48# CONFIG_FUTEX is not set
42# CONFIG_EPOLL is not set 49# CONFIG_EPOLL is not set
43# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
44CONFIG_SHMEM=y 50CONFIG_SHMEM=y
45CONFIG_CC_ALIGN_FUNCTIONS=0 51CONFIG_SLAB=y
46CONFIG_CC_ALIGN_LABELS=0 52CONFIG_VM_EVENT_COUNTERS=y
47CONFIG_CC_ALIGN_LOOPS=0
48CONFIG_CC_ALIGN_JUMPS=0
49# CONFIG_TINY_SHMEM is not set 53# CONFIG_TINY_SHMEM is not set
50CONFIG_BASE_SMALL=0 54CONFIG_BASE_SMALL=0
55# CONFIG_SLOB is not set
51 56
52# 57#
53# Loadable module support 58# Loadable module support
@@ -55,12 +60,30 @@ CONFIG_BASE_SMALL=0
55CONFIG_MODULES=y 60CONFIG_MODULES=y
56CONFIG_MODULE_UNLOAD=y 61CONFIG_MODULE_UNLOAD=y
57# CONFIG_MODULE_FORCE_UNLOAD is not set 62# CONFIG_MODULE_FORCE_UNLOAD is not set
58CONFIG_OBSOLETE_MODPARM=y
59# CONFIG_MODVERSIONS is not set 63# CONFIG_MODVERSIONS is not set
60# CONFIG_MODULE_SRCVERSION_ALL is not set 64# CONFIG_MODULE_SRCVERSION_ALL is not set
61CONFIG_KMOD=y 65CONFIG_KMOD=y
62 66
63# 67#
68# Block layer
69#
70CONFIG_BLOCK=y
71# CONFIG_BLK_DEV_IO_TRACE is not set
72
73#
74# IO Schedulers
75#
76CONFIG_IOSCHED_NOOP=y
77# CONFIG_IOSCHED_AS is not set
78CONFIG_IOSCHED_DEADLINE=y
79CONFIG_IOSCHED_CFQ=y
80# CONFIG_DEFAULT_AS is not set
81# CONFIG_DEFAULT_DEADLINE is not set
82CONFIG_DEFAULT_CFQ=y
83# CONFIG_DEFAULT_NOOP is not set
84CONFIG_DEFAULT_IOSCHED="cfq"
85
86#
64# Processor type and features 87# Processor type and features
65# 88#
66CONFIG_PLAT_MAPPI=y 89CONFIG_PLAT_MAPPI=y
@@ -70,8 +93,10 @@ CONFIG_PLAT_MAPPI=y
70# CONFIG_PLAT_OAKS32R is not set 93# CONFIG_PLAT_OAKS32R is not set
71# CONFIG_PLAT_MAPPI2 is not set 94# CONFIG_PLAT_MAPPI2 is not set
72# CONFIG_PLAT_MAPPI3 is not set 95# CONFIG_PLAT_MAPPI3 is not set
96# CONFIG_PLAT_M32104UT is not set
73CONFIG_CHIP_M32700=y 97CONFIG_CHIP_M32700=y
74# CONFIG_CHIP_M32102 is not set 98# CONFIG_CHIP_M32102 is not set
99# CONFIG_CHIP_M32104 is not set
75# CONFIG_CHIP_VDEC2 is not set 100# CONFIG_CHIP_VDEC2 is not set
76# CONFIG_CHIP_OPSP is not set 101# CONFIG_CHIP_OPSP is not set
77CONFIG_MMU=y 102CONFIG_MMU=y
@@ -85,20 +110,31 @@ CONFIG_TIMER_DIVIDE=128
85CONFIG_MEMORY_START=0x08000000 110CONFIG_MEMORY_START=0x08000000
86CONFIG_MEMORY_SIZE=0x04000000 111CONFIG_MEMORY_SIZE=0x04000000
87CONFIG_NOHIGHMEM=y 112CONFIG_NOHIGHMEM=y
113CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
114CONFIG_SELECT_MEMORY_MODEL=y
115# CONFIG_FLATMEM_MANUAL is not set
116CONFIG_DISCONTIGMEM_MANUAL=y
117# CONFIG_SPARSEMEM_MANUAL is not set
88CONFIG_DISCONTIGMEM=y 118CONFIG_DISCONTIGMEM=y
119CONFIG_FLAT_NODE_MEM_MAP=y
120CONFIG_NEED_MULTIPLE_NODES=y
121# CONFIG_SPARSEMEM_STATIC is not set
122CONFIG_SPLIT_PTLOCK_CPUS=4
123# CONFIG_RESOURCES_64BIT is not set
89CONFIG_IRAM_START=0x00f00000 124CONFIG_IRAM_START=0x00f00000
90CONFIG_IRAM_SIZE=0x00080000 125CONFIG_IRAM_SIZE=0x00080000
91CONFIG_RWSEM_GENERIC_SPINLOCK=y 126CONFIG_RWSEM_GENERIC_SPINLOCK=y
92# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set 127# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
128CONFIG_GENERIC_FIND_NEXT_BIT=y
129CONFIG_GENERIC_HWEIGHT=y
93CONFIG_GENERIC_CALIBRATE_DELAY=y 130CONFIG_GENERIC_CALIBRATE_DELAY=y
94CONFIG_PREEMPT=y 131CONFIG_PREEMPT=y
95# CONFIG_HAVE_DEC_LOCK is not set
96# CONFIG_SMP is not set 132# CONFIG_SMP is not set
133CONFIG_NODES_SHIFT=1
97 134
98# 135#
99# Bus options (PCI, PCMCIA, EISA, MCA, ISA) 136# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
100# 137#
101# CONFIG_PCI is not set
102# CONFIG_ISA is not set 138# CONFIG_ISA is not set
103 139
104# 140#
@@ -107,12 +143,14 @@ CONFIG_PREEMPT=y
107CONFIG_PCCARD=y 143CONFIG_PCCARD=y
108# CONFIG_PCMCIA_DEBUG is not set 144# CONFIG_PCMCIA_DEBUG is not set
109CONFIG_PCMCIA=y 145CONFIG_PCMCIA=y
146CONFIG_PCMCIA_LOAD_CIS=y
147CONFIG_PCMCIA_IOCTL=y
110 148
111# 149#
112# PC-card bridges 150# PC-card bridges
113# 151#
114# CONFIG_TCIC is not set
115CONFIG_M32R_PCC=y 152CONFIG_M32R_PCC=y
153CONFIG_PCCARD_NONSTATIC=y
116 154
117# 155#
118# PCI Hotplug Support 156# PCI Hotplug Support
@@ -125,6 +163,93 @@ CONFIG_BINFMT_ELF=y
125# CONFIG_BINFMT_MISC is not set 163# CONFIG_BINFMT_MISC is not set
126 164
127# 165#
166# Networking
167#
168CONFIG_NET=y
169
170#
171# Networking options
172#
173# CONFIG_NETDEBUG is not set
174# CONFIG_PACKET is not set
175CONFIG_UNIX=y
176CONFIG_XFRM=y
177# CONFIG_XFRM_USER is not set
178# CONFIG_XFRM_SUB_POLICY is not set
179# CONFIG_NET_KEY is not set
180CONFIG_INET=y
181# CONFIG_IP_MULTICAST is not set
182# CONFIG_IP_ADVANCED_ROUTER is not set
183CONFIG_IP_FIB_HASH=y
184CONFIG_IP_PNP=y
185CONFIG_IP_PNP_DHCP=y
186# CONFIG_IP_PNP_BOOTP is not set
187# CONFIG_IP_PNP_RARP is not set
188# CONFIG_NET_IPIP is not set
189# CONFIG_NET_IPGRE is not set
190# CONFIG_ARPD is not set
191# CONFIG_SYN_COOKIES is not set
192# CONFIG_INET_AH is not set
193# CONFIG_INET_ESP is not set
194# CONFIG_INET_IPCOMP is not set
195# CONFIG_INET_XFRM_TUNNEL is not set
196# CONFIG_INET_TUNNEL is not set
197CONFIG_INET_XFRM_MODE_TRANSPORT=y
198CONFIG_INET_XFRM_MODE_TUNNEL=y
199CONFIG_INET_XFRM_MODE_BEET=y
200CONFIG_INET_DIAG=y
201CONFIG_INET_TCP_DIAG=y
202# CONFIG_TCP_CONG_ADVANCED is not set
203CONFIG_TCP_CONG_CUBIC=y
204CONFIG_DEFAULT_TCP_CONG="cubic"
205# CONFIG_TCP_MD5SIG is not set
206# CONFIG_IPV6 is not set
207# CONFIG_INET6_XFRM_TUNNEL is not set
208# CONFIG_INET6_TUNNEL is not set
209# CONFIG_NETWORK_SECMARK is not set
210# CONFIG_NETFILTER is not set
211
212#
213# DCCP Configuration (EXPERIMENTAL)
214#
215# CONFIG_IP_DCCP is not set
216
217#
218# SCTP Configuration (EXPERIMENTAL)
219#
220# CONFIG_IP_SCTP is not set
221
222#
223# TIPC Configuration (EXPERIMENTAL)
224#
225# CONFIG_TIPC is not set
226# CONFIG_ATM is not set
227# CONFIG_BRIDGE is not set
228# CONFIG_VLAN_8021Q is not set
229# CONFIG_DECNET is not set
230# CONFIG_LLC2 is not set
231# CONFIG_IPX is not set
232# CONFIG_ATALK is not set
233# CONFIG_X25 is not set
234# CONFIG_LAPB is not set
235# CONFIG_ECONET is not set
236# CONFIG_WAN_ROUTER is not set
237
238#
239# QoS and/or fair queueing
240#
241# CONFIG_NET_SCHED is not set
242
243#
244# Network testing
245#
246# CONFIG_NET_PKTGEN is not set
247# CONFIG_HAMRADIO is not set
248# CONFIG_IRDA is not set
249# CONFIG_BT is not set
250# CONFIG_IEEE80211 is not set
251
252#
128# Device Drivers 253# Device Drivers
129# 254#
130 255
@@ -133,7 +258,13 @@ CONFIG_BINFMT_ELF=y
133# 258#
134# CONFIG_STANDALONE is not set 259# CONFIG_STANDALONE is not set
135CONFIG_PREVENT_FIRMWARE_BUILD=y 260CONFIG_PREVENT_FIRMWARE_BUILD=y
136# CONFIG_FW_LOADER is not set 261CONFIG_FW_LOADER=y
262# CONFIG_SYS_HYPERVISOR is not set
263
264#
265# Connector - unified userspace <-> kernelspace linker
266#
267# CONFIG_CONNECTOR is not set
137 268
138# 269#
139# Memory Technology Devices (MTD) 270# Memory Technology Devices (MTD)
@@ -156,6 +287,8 @@ CONFIG_MTD_BLOCK=y
156# CONFIG_FTL is not set 287# CONFIG_FTL is not set
157# CONFIG_NFTL is not set 288# CONFIG_NFTL is not set
158# CONFIG_INFTL is not set 289# CONFIG_INFTL is not set
290# CONFIG_RFD_FTL is not set
291# CONFIG_SSFDC is not set
159 292
160# 293#
161# RAM/ROM/Flash chip drivers 294# RAM/ROM/Flash chip drivers
@@ -181,6 +314,7 @@ CONFIG_MTD_CFI_I2=y
181# Mapping drivers for chip access 314# Mapping drivers for chip access
182# 315#
183# CONFIG_MTD_COMPLEX_MAPPINGS is not set 316# CONFIG_MTD_COMPLEX_MAPPINGS is not set
317# CONFIG_MTD_PLATRAM is not set
184 318
185# 319#
186# Self-contained MTD device drivers 320# Self-contained MTD device drivers
@@ -188,7 +322,6 @@ CONFIG_MTD_CFI_I2=y
188# CONFIG_MTD_SLRAM is not set 322# CONFIG_MTD_SLRAM is not set
189# CONFIG_MTD_PHRAM is not set 323# CONFIG_MTD_PHRAM is not set
190# CONFIG_MTD_MTDRAM is not set 324# CONFIG_MTD_MTDRAM is not set
191# CONFIG_MTD_BLKMTD is not set
192# CONFIG_MTD_BLOCK2MTD is not set 325# CONFIG_MTD_BLOCK2MTD is not set
193 326
194# 327#
@@ -204,6 +337,11 @@ CONFIG_MTD_CFI_I2=y
204# CONFIG_MTD_NAND is not set 337# CONFIG_MTD_NAND is not set
205 338
206# 339#
340# OneNAND Flash Device Drivers
341#
342# CONFIG_MTD_ONENAND is not set
343
344#
207# Parallel port support 345# Parallel port support
208# 346#
209# CONFIG_PARPORT is not set 347# CONFIG_PARPORT is not set
@@ -215,7 +353,6 @@ CONFIG_MTD_CFI_I2=y
215# 353#
216# Block devices 354# Block devices
217# 355#
218# CONFIG_BLK_DEV_FD is not set
219# CONFIG_BLK_DEV_COW_COMMON is not set 356# CONFIG_BLK_DEV_COW_COMMON is not set
220CONFIG_BLK_DEV_LOOP=y 357CONFIG_BLK_DEV_LOOP=y
221# CONFIG_BLK_DEV_CRYPTOLOOP is not set 358# CONFIG_BLK_DEV_CRYPTOLOOP is not set
@@ -223,23 +360,21 @@ CONFIG_BLK_DEV_NBD=m
223CONFIG_BLK_DEV_RAM=y 360CONFIG_BLK_DEV_RAM=y
224CONFIG_BLK_DEV_RAM_COUNT=16 361CONFIG_BLK_DEV_RAM_COUNT=16
225CONFIG_BLK_DEV_RAM_SIZE=4096 362CONFIG_BLK_DEV_RAM_SIZE=4096
363CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
226CONFIG_BLK_DEV_INITRD=y 364CONFIG_BLK_DEV_INITRD=y
227CONFIG_INITRAMFS_SOURCE=""
228# CONFIG_CDROM_PKTCDVD is not set 365# CONFIG_CDROM_PKTCDVD is not set
366# CONFIG_ATA_OVER_ETH is not set
229 367
230# 368#
231# IO Schedulers 369# Misc devices
232# 370#
233CONFIG_IOSCHED_NOOP=y 371# CONFIG_TIFM_CORE is not set
234# CONFIG_IOSCHED_AS is not set
235CONFIG_IOSCHED_DEADLINE=y
236CONFIG_IOSCHED_CFQ=y
237# CONFIG_ATA_OVER_ETH is not set
238 372
239# 373#
240# ATA/ATAPI/MFM/RLL support 374# ATA/ATAPI/MFM/RLL support
241# 375#
242CONFIG_IDE=m 376CONFIG_IDE=m
377CONFIG_IDE_MAX_HWIFS=4
243CONFIG_BLK_DEV_IDE=m 378CONFIG_BLK_DEV_IDE=m
244 379
245# 380#
@@ -266,7 +401,13 @@ CONFIG_IDE_GENERIC=m
266# 401#
267# SCSI device support 402# SCSI device support
268# 403#
404# CONFIG_RAID_ATTRS is not set
269# CONFIG_SCSI is not set 405# CONFIG_SCSI is not set
406# CONFIG_SCSI_NETLINK is not set
407
408#
409# Serial ATA (prod) and Parallel ATA (experimental) drivers
410#
270 411
271# 412#
272# Multi-device support (RAID and LVM) 413# Multi-device support (RAID and LVM)
@@ -276,79 +417,19 @@ CONFIG_IDE_GENERIC=m
276# 417#
277# Fusion MPT device support 418# Fusion MPT device support
278# 419#
420# CONFIG_FUSION is not set
279 421
280# 422#
281# IEEE 1394 (FireWire) support 423# IEEE 1394 (FireWire) support
282# 424#
283# CONFIG_IEEE1394 is not set
284 425
285# 426#
286# I2O device support 427# I2O device support
287# 428#
288 429
289# 430#
290# Networking support 431# Network device support
291# 432#
292CONFIG_NET=y
293
294#
295# Networking options
296#
297# CONFIG_PACKET is not set
298CONFIG_UNIX=y
299# CONFIG_NET_KEY is not set
300CONFIG_INET=y
301# CONFIG_IP_MULTICAST is not set
302# CONFIG_IP_ADVANCED_ROUTER is not set
303CONFIG_IP_PNP=y
304CONFIG_IP_PNP_DHCP=y
305# CONFIG_IP_PNP_BOOTP is not set
306# CONFIG_IP_PNP_RARP is not set
307# CONFIG_NET_IPIP is not set
308# CONFIG_NET_IPGRE is not set
309# CONFIG_ARPD is not set
310# CONFIG_SYN_COOKIES is not set
311# CONFIG_INET_AH is not set
312# CONFIG_INET_ESP is not set
313# CONFIG_INET_IPCOMP is not set
314# CONFIG_INET_TUNNEL is not set
315CONFIG_IP_TCPDIAG=y
316# CONFIG_IP_TCPDIAG_IPV6 is not set
317# CONFIG_IPV6 is not set
318# CONFIG_NETFILTER is not set
319
320#
321# SCTP Configuration (EXPERIMENTAL)
322#
323# CONFIG_IP_SCTP is not set
324# CONFIG_ATM is not set
325# CONFIG_BRIDGE is not set
326# CONFIG_VLAN_8021Q is not set
327# CONFIG_DECNET is not set
328# CONFIG_LLC2 is not set
329# CONFIG_IPX is not set
330# CONFIG_ATALK is not set
331# CONFIG_X25 is not set
332# CONFIG_LAPB is not set
333# CONFIG_NET_DIVERT is not set
334# CONFIG_ECONET is not set
335# CONFIG_WAN_ROUTER is not set
336
337#
338# QoS and/or fair queueing
339#
340# CONFIG_NET_SCHED is not set
341# CONFIG_NET_CLS_ROUTE is not set
342
343#
344# Network testing
345#
346# CONFIG_NET_PKTGEN is not set
347# CONFIG_NETPOLL is not set
348# CONFIG_NET_POLL_CONTROLLER is not set
349# CONFIG_HAMRADIO is not set
350# CONFIG_IRDA is not set
351# CONFIG_BT is not set
352CONFIG_NETDEVICES=y 433CONFIG_NETDEVICES=y
353# CONFIG_DUMMY is not set 434# CONFIG_DUMMY is not set
354# CONFIG_BONDING is not set 435# CONFIG_BONDING is not set
@@ -356,6 +437,10 @@ CONFIG_NETDEVICES=y
356# CONFIG_TUN is not set 437# CONFIG_TUN is not set
357 438
358# 439#
440# PHY device support
441#
442
443#
359# Ethernet (10 or 100Mbit) 444# Ethernet (10 or 100Mbit)
360# 445#
361# CONFIG_NET_ETHERNET is not set 446# CONFIG_NET_ETHERNET is not set
@@ -391,6 +476,8 @@ CONFIG_NE2000=y
391# CONFIG_SLIP is not set 476# CONFIG_SLIP is not set
392# CONFIG_SHAPER is not set 477# CONFIG_SHAPER is not set
393# CONFIG_NETCONSOLE is not set 478# CONFIG_NETCONSOLE is not set
479# CONFIG_NETPOLL is not set
480# CONFIG_NET_POLL_CONTROLLER is not set
394 481
395# 482#
396# ISDN subsystem 483# ISDN subsystem
@@ -406,6 +493,7 @@ CONFIG_NE2000=y
406# Input device support 493# Input device support
407# 494#
408CONFIG_INPUT=y 495CONFIG_INPUT=y
496# CONFIG_INPUT_FF_MEMLESS is not set
409 497
410# 498#
411# Userland interfaces 499# Userland interfaces
@@ -437,7 +525,6 @@ CONFIG_SERIO=y
437# CONFIG_SERIO_LIBPS2 is not set 525# CONFIG_SERIO_LIBPS2 is not set
438# CONFIG_SERIO_RAW is not set 526# CONFIG_SERIO_RAW is not set
439# CONFIG_GAMEPORT is not set 527# CONFIG_GAMEPORT is not set
440CONFIG_SOUND_GAMEPORT=y
441 528
442# 529#
443# Character devices 530# Character devices
@@ -457,7 +544,6 @@ CONFIG_SERIAL_CORE=y
457CONFIG_SERIAL_CORE_CONSOLE=y 544CONFIG_SERIAL_CORE_CONSOLE=y
458CONFIG_SERIAL_M32R_SIO=y 545CONFIG_SERIAL_M32R_SIO=y
459CONFIG_SERIAL_M32R_SIO_CONSOLE=y 546CONFIG_SERIAL_M32R_SIO_CONSOLE=y
460# CONFIG_SERIAL_M32R_PLDSIO is not set
461CONFIG_UNIX98_PTYS=y 547CONFIG_UNIX98_PTYS=y
462CONFIG_LEGACY_PTYS=y 548CONFIG_LEGACY_PTYS=y
463CONFIG_LEGACY_PTY_COUNT=256 549CONFIG_LEGACY_PTY_COUNT=256
@@ -471,25 +557,27 @@ CONFIG_LEGACY_PTY_COUNT=256
471# Watchdog Cards 557# Watchdog Cards
472# 558#
473# CONFIG_WATCHDOG is not set 559# CONFIG_WATCHDOG is not set
560CONFIG_HW_RANDOM=y
474# CONFIG_RTC is not set 561# CONFIG_RTC is not set
475# CONFIG_GEN_RTC is not set
476# CONFIG_DTLK is not set 562# CONFIG_DTLK is not set
477# CONFIG_R3964 is not set 563# CONFIG_R3964 is not set
478 564
479# 565#
480# Ftape, the floppy tape device driver 566# Ftape, the floppy tape device driver
481# 567#
482# CONFIG_DRM is not set
483 568
484# 569#
485# PCMCIA character devices 570# PCMCIA character devices
486# 571#
487# CONFIG_SYNCLINK_CS is not set 572# CONFIG_SYNCLINK_CS is not set
573# CONFIG_CARDMAN_4000 is not set
574# CONFIG_CARDMAN_4040 is not set
488# CONFIG_RAW_DRIVER is not set 575# CONFIG_RAW_DRIVER is not set
489 576
490# 577#
491# TPM devices 578# TPM devices
492# 579#
580# CONFIG_TCG_TPM is not set
493 581
494# 582#
495# I2C support 583# I2C support
@@ -497,13 +585,25 @@ CONFIG_LEGACY_PTY_COUNT=256
497# CONFIG_I2C is not set 585# CONFIG_I2C is not set
498 586
499# 587#
588# SPI support
589#
590# CONFIG_SPI is not set
591# CONFIG_SPI_MASTER is not set
592
593#
500# Dallas's 1-wire bus 594# Dallas's 1-wire bus
501# 595#
502# CONFIG_W1 is not set 596# CONFIG_W1 is not set
503 597
504# 598#
505# Misc devices 599# Hardware Monitoring support
506# 600#
601CONFIG_HWMON=y
602# CONFIG_HWMON_VID is not set
603# CONFIG_SENSORS_ABITUGURU is not set
604# CONFIG_SENSORS_F71805F is not set
605# CONFIG_SENSORS_VT1211 is not set
606# CONFIG_HWMON_DEBUG_CHIP is not set
507 607
508# 608#
509# Multimedia devices 609# Multimedia devices
@@ -518,7 +618,9 @@ CONFIG_LEGACY_PTY_COUNT=256
518# 618#
519# Graphics support 619# Graphics support
520# 620#
621CONFIG_FIRMWARE_EDID=y
521# CONFIG_FB is not set 622# CONFIG_FB is not set
623# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
522 624
523# 625#
524# Sound 626# Sound
@@ -530,6 +632,11 @@ CONFIG_LEGACY_PTY_COUNT=256
530# 632#
531# CONFIG_USB_ARCH_HAS_HCD is not set 633# CONFIG_USB_ARCH_HAS_HCD is not set
532# CONFIG_USB_ARCH_HAS_OHCI is not set 634# CONFIG_USB_ARCH_HAS_OHCI is not set
635# CONFIG_USB_ARCH_HAS_EHCI is not set
636
637#
638# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
639#
533 640
534# 641#
535# USB Gadget Support 642# USB Gadget Support
@@ -542,30 +649,73 @@ CONFIG_LEGACY_PTY_COUNT=256
542# CONFIG_MMC is not set 649# CONFIG_MMC is not set
543 650
544# 651#
652# LED devices
653#
654# CONFIG_NEW_LEDS is not set
655
656#
657# LED drivers
658#
659
660#
661# LED Triggers
662#
663
664#
545# InfiniBand support 665# InfiniBand support
546# 666#
547# CONFIG_INFINIBAND is not set 667
668#
669# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
670#
671
672#
673# Real Time Clock
674#
675# CONFIG_RTC_CLASS is not set
676
677#
678# DMA Engine support
679#
680# CONFIG_DMA_ENGINE is not set
681
682#
683# DMA Clients
684#
685
686#
687# DMA Devices
688#
548 689
549# 690#
550# File systems 691# File systems
551# 692#
552CONFIG_EXT2_FS=y 693CONFIG_EXT2_FS=y
553# CONFIG_EXT2_FS_XATTR is not set 694# CONFIG_EXT2_FS_XATTR is not set
554# CONFIG_EXT3_FS is not set 695# CONFIG_EXT2_FS_XIP is not set
555# CONFIG_JBD is not set 696CONFIG_EXT3_FS=y
697CONFIG_EXT3_FS_XATTR=y
698# CONFIG_EXT3_FS_POSIX_ACL is not set
699# CONFIG_EXT3_FS_SECURITY is not set
700# CONFIG_EXT4DEV_FS is not set
701CONFIG_JBD=y
702# CONFIG_JBD_DEBUG is not set
703CONFIG_FS_MBCACHE=y
556# CONFIG_REISERFS_FS is not set 704# CONFIG_REISERFS_FS is not set
557# CONFIG_JFS_FS is not set 705# CONFIG_JFS_FS is not set
558 706# CONFIG_FS_POSIX_ACL is not set
559#
560# XFS support
561#
562# CONFIG_XFS_FS is not set 707# CONFIG_XFS_FS is not set
708# CONFIG_GFS2_FS is not set
709# CONFIG_OCFS2_FS is not set
563# CONFIG_MINIX_FS is not set 710# CONFIG_MINIX_FS is not set
564CONFIG_ROMFS_FS=y 711CONFIG_ROMFS_FS=y
712CONFIG_INOTIFY=y
713CONFIG_INOTIFY_USER=y
565# CONFIG_QUOTA is not set 714# CONFIG_QUOTA is not set
566CONFIG_DNOTIFY=y 715CONFIG_DNOTIFY=y
567# CONFIG_AUTOFS_FS is not set 716# CONFIG_AUTOFS_FS is not set
568# CONFIG_AUTOFS4_FS is not set 717# CONFIG_AUTOFS4_FS is not set
718# CONFIG_FUSE_FS is not set
569 719
570# 720#
571# CD-ROM/DVD Filesystems 721# CD-ROM/DVD Filesystems
@@ -590,16 +740,13 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
590# 740#
591CONFIG_PROC_FS=y 741CONFIG_PROC_FS=y
592CONFIG_PROC_KCORE=y 742CONFIG_PROC_KCORE=y
743CONFIG_PROC_SYSCTL=y
593CONFIG_SYSFS=y 744CONFIG_SYSFS=y
594CONFIG_DEVFS_FS=y
595CONFIG_DEVFS_MOUNT=y
596# CONFIG_DEVFS_DEBUG is not set
597# CONFIG_DEVPTS_FS_XATTR is not set
598CONFIG_TMPFS=y 745CONFIG_TMPFS=y
599# CONFIG_TMPFS_XATTR is not set 746# CONFIG_TMPFS_POSIX_ACL is not set
600# CONFIG_HUGETLBFS is not set
601# CONFIG_HUGETLB_PAGE is not set 747# CONFIG_HUGETLB_PAGE is not set
602CONFIG_RAMFS=y 748CONFIG_RAMFS=y
749# CONFIG_CONFIGFS_FS is not set
603 750
604# 751#
605# Miscellaneous filesystems 752# Miscellaneous filesystems
@@ -616,8 +763,9 @@ CONFIG_JFFS_FS_VERBOSE=0
616CONFIG_JFFS_PROC_FS=y 763CONFIG_JFFS_PROC_FS=y
617CONFIG_JFFS2_FS=y 764CONFIG_JFFS2_FS=y
618CONFIG_JFFS2_FS_DEBUG=0 765CONFIG_JFFS2_FS_DEBUG=0
619# CONFIG_JFFS2_FS_NAND is not set 766CONFIG_JFFS2_FS_WRITEBUFFER=y
620# CONFIG_JFFS2_FS_NOR_ECC is not set 767# CONFIG_JFFS2_SUMMARY is not set
768# CONFIG_JFFS2_FS_XATTR is not set
621# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set 769# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
622CONFIG_JFFS2_ZLIB=y 770CONFIG_JFFS2_ZLIB=y
623CONFIG_JFFS2_RTIME=y 771CONFIG_JFFS2_RTIME=y
@@ -634,12 +782,14 @@ CONFIG_JFFS2_RTIME=y
634# 782#
635CONFIG_NFS_FS=y 783CONFIG_NFS_FS=y
636CONFIG_NFS_V3=y 784CONFIG_NFS_V3=y
785# CONFIG_NFS_V3_ACL is not set
637# CONFIG_NFS_V4 is not set 786# CONFIG_NFS_V4 is not set
638# CONFIG_NFS_DIRECTIO is not set 787# CONFIG_NFS_DIRECTIO is not set
639# CONFIG_NFSD is not set 788# CONFIG_NFSD is not set
640CONFIG_ROOT_NFS=y 789CONFIG_ROOT_NFS=y
641CONFIG_LOCKD=y 790CONFIG_LOCKD=y
642CONFIG_LOCKD_V4=y 791CONFIG_LOCKD_V4=y
792CONFIG_NFS_COMMON=y
643CONFIG_SUNRPC=y 793CONFIG_SUNRPC=y
644# CONFIG_RPCSEC_GSS_KRB5 is not set 794# CONFIG_RPCSEC_GSS_KRB5 is not set
645# CONFIG_RPCSEC_GSS_SPKM3 is not set 795# CONFIG_RPCSEC_GSS_SPKM3 is not set
@@ -648,6 +798,7 @@ CONFIG_SUNRPC=y
648# CONFIG_NCP_FS is not set 798# CONFIG_NCP_FS is not set
649# CONFIG_CODA_FS is not set 799# CONFIG_CODA_FS is not set
650# CONFIG_AFS_FS is not set 800# CONFIG_AFS_FS is not set
801# CONFIG_9P_FS is not set
651 802
652# 803#
653# Partition Types 804# Partition Types
@@ -708,10 +859,16 @@ CONFIG_NLS_DEFAULT="iso8859-1"
708# Kernel hacking 859# Kernel hacking
709# 860#
710# CONFIG_PRINTK_TIME is not set 861# CONFIG_PRINTK_TIME is not set
862CONFIG_ENABLE_MUST_CHECK=y
863# CONFIG_MAGIC_SYSRQ is not set
864# CONFIG_UNUSED_SYMBOLS is not set
711# CONFIG_DEBUG_KERNEL is not set 865# CONFIG_DEBUG_KERNEL is not set
712CONFIG_LOG_BUF_SHIFT=14 866CONFIG_LOG_BUF_SHIFT=14
713# CONFIG_DEBUG_BUGVERBOSE is not set 867# CONFIG_DEBUG_BUGVERBOSE is not set
868# CONFIG_DEBUG_FS is not set
714# CONFIG_FRAME_POINTER is not set 869# CONFIG_FRAME_POINTER is not set
870# CONFIG_UNWIND_INFO is not set
871# CONFIG_HEADERS_CHECK is not set
715 872
716# 873#
717# Security options 874# Security options
@@ -725,13 +882,10 @@ CONFIG_LOG_BUF_SHIFT=14
725# CONFIG_CRYPTO is not set 882# CONFIG_CRYPTO is not set
726 883
727# 884#
728# Hardware crypto devices
729#
730
731#
732# Library routines 885# Library routines
733# 886#
734# CONFIG_CRC_CCITT is not set 887# CONFIG_CRC_CCITT is not set
888# CONFIG_CRC16 is not set
735CONFIG_CRC32=y 889CONFIG_CRC32=y
736# CONFIG_LIBCRC32C is not set 890# CONFIG_LIBCRC32C is not set
737CONFIG_ZLIB_INFLATE=y 891CONFIG_ZLIB_INFLATE=y
diff --git a/arch/m32r/mappi2/defconfig.opsp b/arch/m32r/mappi2/defconfig.opsp
new file mode 100644
index 000000000000..b379ae96e6a7
--- /dev/null
+++ b/arch/m32r/mappi2/defconfig.opsp
@@ -0,0 +1,883 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.19
4# Wed Dec 13 19:40:30 2006
5#
6CONFIG_M32R=y
7CONFIG_GENERIC_ISA_DMA=y
8CONFIG_GENERIC_HARDIRQS=y
9CONFIG_GENERIC_IRQ_PROBE=y
10CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11
12#
13# Code maturity level options
14#
15CONFIG_EXPERIMENTAL=y
16CONFIG_BROKEN_ON_SMP=y
17CONFIG_LOCK_KERNEL=y
18CONFIG_INIT_ENV_ARG_LIMIT=32
19
20#
21# General setup
22#
23CONFIG_LOCALVERSION=""
24CONFIG_LOCALVERSION_AUTO=y
25CONFIG_SWAP=y
26CONFIG_SYSVIPC=y
27# CONFIG_IPC_NS is not set
28# CONFIG_POSIX_MQUEUE is not set
29CONFIG_BSD_PROCESS_ACCT=y
30# CONFIG_BSD_PROCESS_ACCT_V3 is not set
31# CONFIG_TASKSTATS is not set
32# CONFIG_UTS_NS is not set
33# CONFIG_AUDIT is not set
34CONFIG_IKCONFIG=y
35# CONFIG_IKCONFIG_PROC is not set
36CONFIG_SYSFS_DEPRECATED=y
37# CONFIG_RELAY is not set
38CONFIG_INITRAMFS_SOURCE=""
39# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
40CONFIG_SYSCTL=y
41CONFIG_EMBEDDED=y
42CONFIG_SYSCTL_SYSCALL=y
43# CONFIG_KALLSYMS is not set
44CONFIG_HOTPLUG=y
45CONFIG_PRINTK=y
46CONFIG_BUG=y
47CONFIG_ELF_CORE=y
48CONFIG_BASE_FULL=y
49# CONFIG_FUTEX is not set
50# CONFIG_EPOLL is not set
51CONFIG_SHMEM=y
52CONFIG_SLAB=y
53CONFIG_VM_EVENT_COUNTERS=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
62CONFIG_MODULE_UNLOAD=y
63# CONFIG_MODULE_FORCE_UNLOAD is not set
64# CONFIG_MODVERSIONS is not set
65# CONFIG_MODULE_SRCVERSION_ALL is not set
66CONFIG_KMOD=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
78# CONFIG_IOSCHED_AS is not set
79CONFIG_IOSCHED_DEADLINE=y
80CONFIG_IOSCHED_CFQ=y
81# CONFIG_DEFAULT_AS is not set
82# CONFIG_DEFAULT_DEADLINE is not set
83CONFIG_DEFAULT_CFQ=y
84# CONFIG_DEFAULT_NOOP is not set
85CONFIG_DEFAULT_IOSCHED="cfq"
86
87#
88# Processor type and features
89#
90# CONFIG_PLAT_MAPPI is not set
91# CONFIG_PLAT_USRV is not set
92# CONFIG_PLAT_M32700UT is not set
93# CONFIG_PLAT_OPSPUT is not set
94# CONFIG_PLAT_OAKS32R is not set
95CONFIG_PLAT_MAPPI2=y
96# CONFIG_PLAT_MAPPI3 is not set
97# CONFIG_PLAT_M32104UT is not set
98# CONFIG_CHIP_M32700 is not set
99# CONFIG_CHIP_M32102 is not set
100# CONFIG_CHIP_M32104 is not set
101# CONFIG_CHIP_VDEC2 is not set
102CONFIG_CHIP_OPSP=y
103CONFIG_MMU=y
104CONFIG_TLB_ENTRIES=16
105CONFIG_ISA_M32R2=y
106CONFIG_ISA_DSP_LEVEL2=y
107CONFIG_ISA_DUAL_ISSUE=y
108CONFIG_BUS_CLOCK=50000000
109CONFIG_TIMER_DIVIDE=128
110# CONFIG_CPU_LITTLE_ENDIAN is not set
111CONFIG_MEMORY_START=0x08000000
112CONFIG_MEMORY_SIZE=0x01000000
113CONFIG_NOHIGHMEM=y
114CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
115CONFIG_SELECT_MEMORY_MODEL=y
116# CONFIG_FLATMEM_MANUAL is not set
117CONFIG_DISCONTIGMEM_MANUAL=y
118# CONFIG_SPARSEMEM_MANUAL is not set
119CONFIG_DISCONTIGMEM=y
120CONFIG_FLAT_NODE_MEM_MAP=y
121CONFIG_NEED_MULTIPLE_NODES=y
122# CONFIG_SPARSEMEM_STATIC is not set
123CONFIG_SPLIT_PTLOCK_CPUS=4
124# CONFIG_RESOURCES_64BIT is not set
125CONFIG_IRAM_START=0x00f00000
126CONFIG_IRAM_SIZE=0x00008000
127CONFIG_RWSEM_GENERIC_SPINLOCK=y
128# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
129CONFIG_GENERIC_FIND_NEXT_BIT=y
130CONFIG_GENERIC_HWEIGHT=y
131CONFIG_GENERIC_CALIBRATE_DELAY=y
132CONFIG_PREEMPT=y
133# CONFIG_SMP is not set
134CONFIG_NODES_SHIFT=1
135
136#
137# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
138#
139# CONFIG_ISA is not set
140
141#
142# PCCARD (PCMCIA/CardBus) support
143#
144CONFIG_PCCARD=y
145# CONFIG_PCMCIA_DEBUG is not set
146CONFIG_PCMCIA=y
147CONFIG_PCMCIA_LOAD_CIS=y
148CONFIG_PCMCIA_IOCTL=y
149
150#
151# PC-card bridges
152#
153# CONFIG_M32R_CFC is not set
154
155#
156# PCI Hotplug Support
157#
158
159#
160# Executable file formats
161#
162CONFIG_BINFMT_ELF=y
163# CONFIG_BINFMT_MISC is not set
164
165#
166# Networking
167#
168CONFIG_NET=y
169
170#
171# Networking options
172#
173# CONFIG_NETDEBUG is not set
174CONFIG_PACKET=y
175# CONFIG_PACKET_MMAP is not set
176CONFIG_UNIX=y
177CONFIG_XFRM=y
178# CONFIG_XFRM_USER is not set
179# CONFIG_XFRM_SUB_POLICY is not set
180# CONFIG_NET_KEY is not set
181CONFIG_INET=y
182# CONFIG_IP_MULTICAST is not set
183# CONFIG_IP_ADVANCED_ROUTER is not set
184CONFIG_IP_FIB_HASH=y
185CONFIG_IP_PNP=y
186CONFIG_IP_PNP_DHCP=y
187# CONFIG_IP_PNP_BOOTP is not set
188# CONFIG_IP_PNP_RARP is not set
189# CONFIG_NET_IPIP is not set
190# CONFIG_NET_IPGRE is not set
191# CONFIG_ARPD is not set
192# CONFIG_SYN_COOKIES is not set
193# CONFIG_INET_AH is not set
194# CONFIG_INET_ESP is not set
195# CONFIG_INET_IPCOMP is not set
196# CONFIG_INET_XFRM_TUNNEL is not set
197# CONFIG_INET_TUNNEL is not set
198CONFIG_INET_XFRM_MODE_TRANSPORT=y
199CONFIG_INET_XFRM_MODE_TUNNEL=y
200CONFIG_INET_XFRM_MODE_BEET=y
201CONFIG_INET_DIAG=y
202CONFIG_INET_TCP_DIAG=y
203# CONFIG_TCP_CONG_ADVANCED is not set
204CONFIG_TCP_CONG_CUBIC=y
205CONFIG_DEFAULT_TCP_CONG="cubic"
206# CONFIG_TCP_MD5SIG is not set
207# CONFIG_IPV6 is not set
208# CONFIG_INET6_XFRM_TUNNEL is not set
209# CONFIG_INET6_TUNNEL is not set
210# CONFIG_NETWORK_SECMARK is not set
211# CONFIG_NETFILTER is not set
212
213#
214# DCCP Configuration (EXPERIMENTAL)
215#
216# CONFIG_IP_DCCP is not set
217
218#
219# SCTP Configuration (EXPERIMENTAL)
220#
221# CONFIG_IP_SCTP is not set
222
223#
224# TIPC Configuration (EXPERIMENTAL)
225#
226# CONFIG_TIPC is not set
227# CONFIG_ATM is not set
228# CONFIG_BRIDGE is not set
229# CONFIG_VLAN_8021Q is not set
230# CONFIG_DECNET is not set
231# CONFIG_LLC2 is not set
232# CONFIG_IPX is not set
233# CONFIG_ATALK is not set
234# CONFIG_X25 is not set
235# CONFIG_LAPB is not set
236# CONFIG_ECONET is not set
237# CONFIG_WAN_ROUTER is not set
238
239#
240# QoS and/or fair queueing
241#
242# CONFIG_NET_SCHED is not set
243
244#
245# Network testing
246#
247# CONFIG_NET_PKTGEN is not set
248# CONFIG_HAMRADIO is not set
249# CONFIG_IRDA is not set
250# CONFIG_BT is not set
251# CONFIG_IEEE80211 is not set
252
253#
254# Device Drivers
255#
256
257#
258# Generic Driver Options
259#
260CONFIG_STANDALONE=y
261CONFIG_PREVENT_FIRMWARE_BUILD=y
262CONFIG_FW_LOADER=y
263# CONFIG_SYS_HYPERVISOR is not set
264
265#
266# Connector - unified userspace <-> kernelspace linker
267#
268# CONFIG_CONNECTOR is not set
269
270#
271# Memory Technology Devices (MTD)
272#
273# CONFIG_MTD is not set
274
275#
276# Parallel port support
277#
278# CONFIG_PARPORT is not set
279
280#
281# Plug and Play support
282#
283
284#
285# Block devices
286#
287# CONFIG_BLK_DEV_COW_COMMON is not set
288CONFIG_BLK_DEV_LOOP=y
289# CONFIG_BLK_DEV_CRYPTOLOOP is not set
290CONFIG_BLK_DEV_NBD=y
291CONFIG_BLK_DEV_RAM=y
292CONFIG_BLK_DEV_RAM_COUNT=16
293CONFIG_BLK_DEV_RAM_SIZE=4096
294CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
295# CONFIG_BLK_DEV_INITRD is not set
296# CONFIG_CDROM_PKTCDVD is not set
297# CONFIG_ATA_OVER_ETH is not set
298
299#
300# Misc devices
301#
302# CONFIG_TIFM_CORE is not set
303
304#
305# ATA/ATAPI/MFM/RLL support
306#
307CONFIG_IDE=y
308CONFIG_IDE_MAX_HWIFS=4
309CONFIG_BLK_DEV_IDE=y
310
311#
312# Please see Documentation/ide.txt for help/info on IDE drives
313#
314# CONFIG_BLK_DEV_IDE_SATA is not set
315CONFIG_BLK_DEV_IDEDISK=y
316# CONFIG_IDEDISK_MULTI_MODE is not set
317CONFIG_BLK_DEV_IDECS=y
318CONFIG_BLK_DEV_IDECD=m
319# CONFIG_BLK_DEV_IDETAPE is not set
320# CONFIG_BLK_DEV_IDEFLOPPY is not set
321# CONFIG_BLK_DEV_IDESCSI is not set
322# CONFIG_IDE_TASK_IOCTL is not set
323
324#
325# IDE chipset support/bugfixes
326#
327CONFIG_IDE_GENERIC=y
328# CONFIG_IDE_ARM is not set
329# CONFIG_BLK_DEV_IDEDMA is not set
330# CONFIG_IDEDMA_AUTO is not set
331# CONFIG_BLK_DEV_HD is not set
332
333#
334# SCSI device support
335#
336# CONFIG_RAID_ATTRS is not set
337CONFIG_SCSI=m
338# CONFIG_SCSI_NETLINK is not set
339CONFIG_SCSI_PROC_FS=y
340
341#
342# SCSI support type (disk, tape, CD-ROM)
343#
344CONFIG_BLK_DEV_SD=m
345# CONFIG_CHR_DEV_ST is not set
346# CONFIG_CHR_DEV_OSST is not set
347CONFIG_BLK_DEV_SR=m
348# CONFIG_BLK_DEV_SR_VENDOR is not set
349CONFIG_CHR_DEV_SG=m
350# CONFIG_CHR_DEV_SCH is not set
351
352#
353# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
354#
355CONFIG_SCSI_MULTI_LUN=y
356# CONFIG_SCSI_CONSTANTS is not set
357# CONFIG_SCSI_LOGGING is not set
358
359#
360# SCSI Transports
361#
362# CONFIG_SCSI_SPI_ATTRS is not set
363# CONFIG_SCSI_FC_ATTRS is not set
364# CONFIG_SCSI_ISCSI_ATTRS is not set
365# CONFIG_SCSI_SAS_ATTRS is not set
366# CONFIG_SCSI_SAS_LIBSAS is not set
367
368#
369# SCSI low-level drivers
370#
371# CONFIG_ISCSI_TCP is not set
372# CONFIG_SCSI_DEBUG is not set
373
374#
375# PCMCIA SCSI adapter support
376#
377# CONFIG_PCMCIA_AHA152X is not set
378# CONFIG_PCMCIA_FDOMAIN is not set
379# CONFIG_PCMCIA_NINJA_SCSI is not set
380# CONFIG_PCMCIA_QLOGIC is not set
381# CONFIG_PCMCIA_SYM53C500 is not set
382
383#
384# Serial ATA (prod) and Parallel ATA (experimental) drivers
385#
386
387#
388# Multi-device support (RAID and LVM)
389#
390# CONFIG_MD is not set
391
392#
393# Fusion MPT device support
394#
395# CONFIG_FUSION is not set
396
397#
398# IEEE 1394 (FireWire) support
399#
400
401#
402# I2O device support
403#
404
405#
406# Network device support
407#
408CONFIG_NETDEVICES=y
409# CONFIG_DUMMY is not set
410# CONFIG_BONDING is not set
411# CONFIG_EQUALIZER is not set
412# CONFIG_TUN is not set
413
414#
415# PHY device support
416#
417# CONFIG_PHYLIB is not set
418
419#
420# Ethernet (10 or 100Mbit)
421#
422CONFIG_NET_ETHERNET=y
423CONFIG_MII=y
424CONFIG_SMC91X=y
425# CONFIG_NE2000 is not set
426
427#
428# Ethernet (1000 Mbit)
429#
430
431#
432# Ethernet (10000 Mbit)
433#
434
435#
436# Token Ring devices
437#
438
439#
440# Wireless LAN (non-hamradio)
441#
442# CONFIG_NET_RADIO is not set
443
444#
445# PCMCIA network device support
446#
447# CONFIG_NET_PCMCIA is not set
448
449#
450# Wan interfaces
451#
452# CONFIG_WAN is not set
453# CONFIG_PPP is not set
454# CONFIG_SLIP is not set
455# CONFIG_SHAPER is not set
456# CONFIG_NETCONSOLE is not set
457# CONFIG_NETPOLL is not set
458# CONFIG_NET_POLL_CONTROLLER is not set
459
460#
461# ISDN subsystem
462#
463# CONFIG_ISDN is not set
464
465#
466# Telephony Support
467#
468# CONFIG_PHONE is not set
469
470#
471# Input device support
472#
473CONFIG_INPUT=y
474# CONFIG_INPUT_FF_MEMLESS is not set
475
476#
477# Userland interfaces
478#
479# CONFIG_INPUT_MOUSEDEV is not set
480# CONFIG_INPUT_JOYDEV is not set
481# CONFIG_INPUT_TSDEV is not set
482# CONFIG_INPUT_EVDEV is not set
483# CONFIG_INPUT_EVBUG is not set
484
485#
486# Input Device Drivers
487#
488# CONFIG_INPUT_KEYBOARD is not set
489# CONFIG_INPUT_MOUSE is not set
490# CONFIG_INPUT_JOYSTICK is not set
491# CONFIG_INPUT_TOUCHSCREEN is not set
492# CONFIG_INPUT_MISC is not set
493
494#
495# Hardware I/O ports
496#
497CONFIG_SERIO=y
498# CONFIG_SERIO_I8042 is not set
499CONFIG_SERIO_SERPORT=y
500# CONFIG_SERIO_LIBPS2 is not set
501# CONFIG_SERIO_RAW is not set
502# CONFIG_GAMEPORT is not set
503
504#
505# Character devices
506#
507CONFIG_VT=y
508CONFIG_VT_CONSOLE=y
509CONFIG_HW_CONSOLE=y
510# CONFIG_VT_HW_CONSOLE_BINDING is not set
511# CONFIG_SERIAL_NONSTANDARD is not set
512
513#
514# Serial drivers
515#
516# CONFIG_SERIAL_8250 is not set
517
518#
519# Non-8250 serial port support
520#
521CONFIG_SERIAL_CORE=y
522CONFIG_SERIAL_CORE_CONSOLE=y
523CONFIG_SERIAL_M32R_SIO=y
524CONFIG_SERIAL_M32R_SIO_CONSOLE=y
525CONFIG_UNIX98_PTYS=y
526CONFIG_LEGACY_PTYS=y
527CONFIG_LEGACY_PTY_COUNT=256
528
529#
530# IPMI
531#
532# CONFIG_IPMI_HANDLER is not set
533
534#
535# Watchdog Cards
536#
537# CONFIG_WATCHDOG is not set
538CONFIG_HW_RANDOM=y
539# CONFIG_RTC is not set
540# CONFIG_DTLK is not set
541# CONFIG_R3964 is not set
542
543#
544# Ftape, the floppy tape device driver
545#
546
547#
548# PCMCIA character devices
549#
550# CONFIG_SYNCLINK_CS is not set
551# CONFIG_CARDMAN_4000 is not set
552# CONFIG_CARDMAN_4040 is not set
553# CONFIG_RAW_DRIVER is not set
554
555#
556# TPM devices
557#
558# CONFIG_TCG_TPM is not set
559
560#
561# I2C support
562#
563# CONFIG_I2C is not set
564
565#
566# SPI support
567#
568# CONFIG_SPI is not set
569# CONFIG_SPI_MASTER is not set
570
571#
572# Dallas's 1-wire bus
573#
574# CONFIG_W1 is not set
575
576#
577# Hardware Monitoring support
578#
579CONFIG_HWMON=y
580# CONFIG_HWMON_VID is not set
581# CONFIG_SENSORS_ABITUGURU is not set
582# CONFIG_SENSORS_F71805F is not set
583# CONFIG_SENSORS_VT1211 is not set
584# CONFIG_HWMON_DEBUG_CHIP is not set
585
586#
587# Multimedia devices
588#
589CONFIG_VIDEO_DEV=y
590CONFIG_VIDEO_V4L1=y
591CONFIG_VIDEO_V4L1_COMPAT=y
592CONFIG_VIDEO_V4L2=y
593
594#
595# Video Capture Adapters
596#
597
598#
599# Video Capture Adapters
600#
601# CONFIG_VIDEO_ADV_DEBUG is not set
602CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
603# CONFIG_VIDEO_VIVI is not set
604# CONFIG_VIDEO_CPIA is not set
605# CONFIG_VIDEO_M32R_AR is not set
606
607#
608# Radio Adapters
609#
610
611#
612# Digital Video Broadcasting Devices
613#
614# CONFIG_DVB is not set
615
616#
617# Graphics support
618#
619CONFIG_FIRMWARE_EDID=y
620# CONFIG_FB is not set
621
622#
623# Console display driver support
624#
625# CONFIG_VGA_CONSOLE is not set
626CONFIG_DUMMY_CONSOLE=y
627# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
628
629#
630# Sound
631#
632# CONFIG_SOUND is not set
633
634#
635# USB support
636#
637# CONFIG_USB_ARCH_HAS_HCD is not set
638# CONFIG_USB_ARCH_HAS_OHCI is not set
639# CONFIG_USB_ARCH_HAS_EHCI is not set
640
641#
642# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
643#
644
645#
646# USB Gadget Support
647#
648# CONFIG_USB_GADGET is not set
649
650#
651# MMC/SD Card support
652#
653# CONFIG_MMC is not set
654
655#
656# LED devices
657#
658# CONFIG_NEW_LEDS is not set
659
660#
661# LED drivers
662#
663
664#
665# LED Triggers
666#
667
668#
669# InfiniBand support
670#
671
672#
673# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
674#
675
676#
677# Real Time Clock
678#
679# CONFIG_RTC_CLASS is not set
680
681#
682# DMA Engine support
683#
684# CONFIG_DMA_ENGINE is not set
685
686#
687# DMA Clients
688#
689
690#
691# DMA Devices
692#
693
694#
695# File systems
696#
697CONFIG_EXT2_FS=y
698# CONFIG_EXT2_FS_XATTR is not set
699# CONFIG_EXT2_FS_XIP is not set
700CONFIG_EXT3_FS=y
701CONFIG_EXT3_FS_XATTR=y
702# CONFIG_EXT3_FS_POSIX_ACL is not set
703# CONFIG_EXT3_FS_SECURITY is not set
704# CONFIG_EXT4DEV_FS is not set
705CONFIG_JBD=y
706CONFIG_JBD_DEBUG=y
707CONFIG_FS_MBCACHE=y
708# CONFIG_REISERFS_FS is not set
709# CONFIG_JFS_FS is not set
710# CONFIG_FS_POSIX_ACL is not set
711# CONFIG_XFS_FS is not set
712# CONFIG_GFS2_FS is not set
713# CONFIG_OCFS2_FS is not set
714# CONFIG_MINIX_FS is not set
715# CONFIG_ROMFS_FS is not set
716CONFIG_INOTIFY=y
717CONFIG_INOTIFY_USER=y
718# CONFIG_QUOTA is not set
719CONFIG_DNOTIFY=y
720# CONFIG_AUTOFS_FS is not set
721# CONFIG_AUTOFS4_FS is not set
722# CONFIG_FUSE_FS is not set
723
724#
725# CD-ROM/DVD Filesystems
726#
727CONFIG_ISO9660_FS=m
728CONFIG_JOLIET=y
729# CONFIG_ZISOFS is not set
730CONFIG_UDF_FS=m
731CONFIG_UDF_NLS=y
732
733#
734# DOS/FAT/NT Filesystems
735#
736CONFIG_FAT_FS=m
737CONFIG_MSDOS_FS=m
738CONFIG_VFAT_FS=m
739CONFIG_FAT_DEFAULT_CODEPAGE=437
740CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
741# CONFIG_NTFS_FS is not set
742
743#
744# Pseudo filesystems
745#
746CONFIG_PROC_FS=y
747CONFIG_PROC_KCORE=y
748CONFIG_PROC_SYSCTL=y
749CONFIG_SYSFS=y
750CONFIG_TMPFS=y
751# CONFIG_TMPFS_POSIX_ACL is not set
752# CONFIG_HUGETLB_PAGE is not set
753CONFIG_RAMFS=y
754# CONFIG_CONFIGFS_FS is not set
755
756#
757# Miscellaneous filesystems
758#
759# CONFIG_ADFS_FS is not set
760# CONFIG_AFFS_FS is not set
761# CONFIG_HFS_FS is not set
762# CONFIG_HFSPLUS_FS is not set
763# CONFIG_BEFS_FS is not set
764# CONFIG_BFS_FS is not set
765# CONFIG_EFS_FS is not set
766# CONFIG_CRAMFS is not set
767# CONFIG_VXFS_FS is not set
768# CONFIG_HPFS_FS is not set
769# CONFIG_QNX4FS_FS is not set
770# CONFIG_SYSV_FS is not set
771# CONFIG_UFS_FS is not set
772
773#
774# Network File Systems
775#
776CONFIG_NFS_FS=y
777CONFIG_NFS_V3=y
778# CONFIG_NFS_V3_ACL is not set
779# CONFIG_NFS_V4 is not set
780# CONFIG_NFS_DIRECTIO is not set
781# CONFIG_NFSD is not set
782CONFIG_ROOT_NFS=y
783CONFIG_LOCKD=y
784CONFIG_LOCKD_V4=y
785CONFIG_NFS_COMMON=y
786CONFIG_SUNRPC=y
787# CONFIG_RPCSEC_GSS_KRB5 is not set
788# CONFIG_RPCSEC_GSS_SPKM3 is not set
789# CONFIG_SMB_FS is not set
790# CONFIG_CIFS is not set
791# CONFIG_NCP_FS is not set
792# CONFIG_CODA_FS is not set
793# CONFIG_AFS_FS is not set
794# CONFIG_9P_FS is not set
795
796#
797# Partition Types
798#
799# CONFIG_PARTITION_ADVANCED is not set
800CONFIG_MSDOS_PARTITION=y
801
802#
803# Native Language Support
804#
805CONFIG_NLS=y
806CONFIG_NLS_DEFAULT="iso8859-1"
807# CONFIG_NLS_CODEPAGE_437 is not set
808# CONFIG_NLS_CODEPAGE_737 is not set
809# CONFIG_NLS_CODEPAGE_775 is not set
810# CONFIG_NLS_CODEPAGE_850 is not set
811# CONFIG_NLS_CODEPAGE_852 is not set
812# CONFIG_NLS_CODEPAGE_855 is not set
813# CONFIG_NLS_CODEPAGE_857 is not set
814# CONFIG_NLS_CODEPAGE_860 is not set
815# CONFIG_NLS_CODEPAGE_861 is not set
816# CONFIG_NLS_CODEPAGE_862 is not set
817# CONFIG_NLS_CODEPAGE_863 is not set
818# CONFIG_NLS_CODEPAGE_864 is not set
819# CONFIG_NLS_CODEPAGE_865 is not set
820# CONFIG_NLS_CODEPAGE_866 is not set
821# CONFIG_NLS_CODEPAGE_869 is not set
822# CONFIG_NLS_CODEPAGE_936 is not set
823# CONFIG_NLS_CODEPAGE_950 is not set
824# CONFIG_NLS_CODEPAGE_932 is not set
825# CONFIG_NLS_CODEPAGE_949 is not set
826# CONFIG_NLS_CODEPAGE_874 is not set
827# CONFIG_NLS_ISO8859_8 is not set
828# CONFIG_NLS_CODEPAGE_1250 is not set
829# CONFIG_NLS_CODEPAGE_1251 is not set
830# CONFIG_NLS_ASCII is not set
831# CONFIG_NLS_ISO8859_1 is not set
832# CONFIG_NLS_ISO8859_2 is not set
833# CONFIG_NLS_ISO8859_3 is not set
834# CONFIG_NLS_ISO8859_4 is not set
835# CONFIG_NLS_ISO8859_5 is not set
836# CONFIG_NLS_ISO8859_6 is not set
837# CONFIG_NLS_ISO8859_7 is not set
838# CONFIG_NLS_ISO8859_9 is not set
839# CONFIG_NLS_ISO8859_13 is not set
840# CONFIG_NLS_ISO8859_14 is not set
841# CONFIG_NLS_ISO8859_15 is not set
842# CONFIG_NLS_KOI8_R is not set
843# CONFIG_NLS_KOI8_U is not set
844# CONFIG_NLS_UTF8 is not set
845
846#
847# Profiling support
848#
849# CONFIG_PROFILING is not set
850
851#
852# Kernel hacking
853#
854# CONFIG_PRINTK_TIME is not set
855CONFIG_ENABLE_MUST_CHECK=y
856# CONFIG_MAGIC_SYSRQ is not set
857# CONFIG_UNUSED_SYMBOLS is not set
858# CONFIG_DEBUG_KERNEL is not set
859CONFIG_LOG_BUF_SHIFT=14
860# CONFIG_DEBUG_BUGVERBOSE is not set
861# CONFIG_DEBUG_FS is not set
862# CONFIG_FRAME_POINTER is not set
863# CONFIG_UNWIND_INFO is not set
864# CONFIG_HEADERS_CHECK is not set
865
866#
867# Security options
868#
869# CONFIG_KEYS is not set
870# CONFIG_SECURITY is not set
871
872#
873# Cryptographic options
874#
875# CONFIG_CRYPTO is not set
876
877#
878# Library routines
879#
880# CONFIG_CRC_CCITT is not set
881# CONFIG_CRC16 is not set
882CONFIG_CRC32=y
883# CONFIG_LIBCRC32C is not set
diff --git a/arch/m32r/mappi2/defconfig.vdec2 b/arch/m32r/mappi2/defconfig.vdec2
index 56f287b65898..fe5b2a63cd68 100644
--- a/arch/m32r/mappi2/defconfig.vdec2
+++ b/arch/m32r/mappi2/defconfig.vdec2
@@ -1,19 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc5 3# Linux kernel version: 2.6.19
4# Fri Jun 3 16:22:02 2005 4# Wed Dec 13 19:31:44 2006
5# 5#
6CONFIG_M32R=y 6CONFIG_M32R=y
7# CONFIG_UID16 is not set
8CONFIG_GENERIC_ISA_DMA=y 7CONFIG_GENERIC_ISA_DMA=y
9CONFIG_GENERIC_HARDIRQS=y 8CONFIG_GENERIC_HARDIRQS=y
10CONFIG_GENERIC_IRQ_PROBE=y 9CONFIG_GENERIC_IRQ_PROBE=y
10CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 11
12# 12#
13# Code maturity level options 13# Code maturity level options
14# 14#
15CONFIG_EXPERIMENTAL=y 15CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_BROKEN_ON_SMP=y 16CONFIG_BROKEN_ON_SMP=y
18CONFIG_LOCK_KERNEL=y 17CONFIG_LOCK_KERNEL=y
19CONFIG_INIT_ENV_ARG_LIMIT=32 18CONFIG_INIT_ENV_ARG_LIMIT=32
@@ -22,32 +21,39 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
22# General setup 21# General setup
23# 22#
24CONFIG_LOCALVERSION="" 23CONFIG_LOCALVERSION=""
24CONFIG_LOCALVERSION_AUTO=y
25CONFIG_SWAP=y 25CONFIG_SWAP=y
26CONFIG_SYSVIPC=y 26CONFIG_SYSVIPC=y
27# CONFIG_IPC_NS is not set
27# CONFIG_POSIX_MQUEUE is not set 28# CONFIG_POSIX_MQUEUE is not set
28CONFIG_BSD_PROCESS_ACCT=y 29CONFIG_BSD_PROCESS_ACCT=y
29# CONFIG_BSD_PROCESS_ACCT_V3 is not set 30# CONFIG_BSD_PROCESS_ACCT_V3 is not set
30CONFIG_SYSCTL=y 31# CONFIG_TASKSTATS is not set
32# CONFIG_UTS_NS is not set
31# CONFIG_AUDIT is not set 33# CONFIG_AUDIT is not set
32CONFIG_HOTPLUG=y
33CONFIG_KOBJECT_UEVENT=y
34CONFIG_IKCONFIG=y 34CONFIG_IKCONFIG=y
35# CONFIG_IKCONFIG_PROC is not set 35# CONFIG_IKCONFIG_PROC is not set
36CONFIG_SYSFS_DEPRECATED=y
37# CONFIG_RELAY is not set
38CONFIG_INITRAMFS_SOURCE=""
39# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
40CONFIG_SYSCTL=y
36CONFIG_EMBEDDED=y 41CONFIG_EMBEDDED=y
42CONFIG_SYSCTL_SYSCALL=y
37# CONFIG_KALLSYMS is not set 43# CONFIG_KALLSYMS is not set
44CONFIG_HOTPLUG=y
38CONFIG_PRINTK=y 45CONFIG_PRINTK=y
39CONFIG_BUG=y 46CONFIG_BUG=y
47CONFIG_ELF_CORE=y
40CONFIG_BASE_FULL=y 48CONFIG_BASE_FULL=y
41# CONFIG_FUTEX is not set 49# CONFIG_FUTEX is not set
42# CONFIG_EPOLL is not set 50# CONFIG_EPOLL is not set
43# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
44CONFIG_SHMEM=y 51CONFIG_SHMEM=y
45CONFIG_CC_ALIGN_FUNCTIONS=0 52CONFIG_SLAB=y
46CONFIG_CC_ALIGN_LABELS=0 53CONFIG_VM_EVENT_COUNTERS=y
47CONFIG_CC_ALIGN_LOOPS=0
48CONFIG_CC_ALIGN_JUMPS=0
49# CONFIG_TINY_SHMEM is not set 54# CONFIG_TINY_SHMEM is not set
50CONFIG_BASE_SMALL=0 55CONFIG_BASE_SMALL=0
56# CONFIG_SLOB is not set
51 57
52# 58#
53# Loadable module support 59# Loadable module support
@@ -55,12 +61,30 @@ CONFIG_BASE_SMALL=0
55CONFIG_MODULES=y 61CONFIG_MODULES=y
56CONFIG_MODULE_UNLOAD=y 62CONFIG_MODULE_UNLOAD=y
57# CONFIG_MODULE_FORCE_UNLOAD is not set 63# CONFIG_MODULE_FORCE_UNLOAD is not set
58CONFIG_OBSOLETE_MODPARM=y
59# CONFIG_MODVERSIONS is not set 64# CONFIG_MODVERSIONS is not set
60# CONFIG_MODULE_SRCVERSION_ALL is not set 65# CONFIG_MODULE_SRCVERSION_ALL is not set
61CONFIG_KMOD=y 66CONFIG_KMOD=y
62 67
63# 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
78# CONFIG_IOSCHED_AS is not set
79CONFIG_IOSCHED_DEADLINE=y
80CONFIG_IOSCHED_CFQ=y
81# CONFIG_DEFAULT_AS is not set
82# CONFIG_DEFAULT_DEADLINE is not set
83CONFIG_DEFAULT_CFQ=y
84# CONFIG_DEFAULT_NOOP is not set
85CONFIG_DEFAULT_IOSCHED="cfq"
86
87#
64# Processor type and features 88# Processor type and features
65# 89#
66# CONFIG_PLAT_MAPPI is not set 90# CONFIG_PLAT_MAPPI is not set
@@ -70,8 +94,10 @@ CONFIG_KMOD=y
70# CONFIG_PLAT_OAKS32R is not set 94# CONFIG_PLAT_OAKS32R is not set
71CONFIG_PLAT_MAPPI2=y 95CONFIG_PLAT_MAPPI2=y
72# CONFIG_PLAT_MAPPI3 is not set 96# CONFIG_PLAT_MAPPI3 is not set
97# CONFIG_PLAT_M32104UT is not set
73# CONFIG_CHIP_M32700 is not set 98# CONFIG_CHIP_M32700 is not set
74# CONFIG_CHIP_M32102 is not set 99# CONFIG_CHIP_M32102 is not set
100# CONFIG_CHIP_M32104 is not set
75CONFIG_CHIP_VDEC2=y 101CONFIG_CHIP_VDEC2=y
76# CONFIG_CHIP_OPSP is not set 102# CONFIG_CHIP_OPSP is not set
77CONFIG_MMU=y 103CONFIG_MMU=y
@@ -83,18 +109,31 @@ CONFIG_TIMER_DIVIDE=128
83CONFIG_MEMORY_START=0x08000000 109CONFIG_MEMORY_START=0x08000000
84CONFIG_MEMORY_SIZE=0x01000000 110CONFIG_MEMORY_SIZE=0x01000000
85CONFIG_NOHIGHMEM=y 111CONFIG_NOHIGHMEM=y
86# CONFIG_DISCONTIGMEM is not set 112CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
113CONFIG_SELECT_MEMORY_MODEL=y
114# CONFIG_FLATMEM_MANUAL is not set
115CONFIG_DISCONTIGMEM_MANUAL=y
116# CONFIG_SPARSEMEM_MANUAL is not set
117CONFIG_DISCONTIGMEM=y
118CONFIG_FLAT_NODE_MEM_MAP=y
119CONFIG_NEED_MULTIPLE_NODES=y
120# CONFIG_SPARSEMEM_STATIC is not set
121CONFIG_SPLIT_PTLOCK_CPUS=4
122# CONFIG_RESOURCES_64BIT is not set
123CONFIG_IRAM_START=0x00f00000
124CONFIG_IRAM_SIZE=0x00008000
87CONFIG_RWSEM_GENERIC_SPINLOCK=y 125CONFIG_RWSEM_GENERIC_SPINLOCK=y
88# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set 126# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
127CONFIG_GENERIC_FIND_NEXT_BIT=y
128CONFIG_GENERIC_HWEIGHT=y
89CONFIG_GENERIC_CALIBRATE_DELAY=y 129CONFIG_GENERIC_CALIBRATE_DELAY=y
90CONFIG_PREEMPT=y 130CONFIG_PREEMPT=y
91# CONFIG_HAVE_DEC_LOCK is not set
92# CONFIG_SMP is not set 131# CONFIG_SMP is not set
132CONFIG_NODES_SHIFT=1
93 133
94# 134#
95# Bus options (PCI, PCMCIA, EISA, MCA, ISA) 135# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
96# 136#
97# CONFIG_PCI is not set
98# CONFIG_ISA is not set 137# CONFIG_ISA is not set
99 138
100# 139#
@@ -103,11 +142,12 @@ CONFIG_PREEMPT=y
103CONFIG_PCCARD=y 142CONFIG_PCCARD=y
104# CONFIG_PCMCIA_DEBUG is not set 143# CONFIG_PCMCIA_DEBUG is not set
105CONFIG_PCMCIA=y 144CONFIG_PCMCIA=y
145CONFIG_PCMCIA_LOAD_CIS=y
146CONFIG_PCMCIA_IOCTL=y
106 147
107# 148#
108# PC-card bridges 149# PC-card bridges
109# 150#
110# CONFIG_TCIC is not set
111# CONFIG_M32R_CFC is not set 151# CONFIG_M32R_CFC is not set
112 152
113# 153#
@@ -121,6 +161,94 @@ CONFIG_BINFMT_ELF=y
121# CONFIG_BINFMT_MISC is not set 161# CONFIG_BINFMT_MISC is not set
122 162
123# 163#
164# Networking
165#
166CONFIG_NET=y
167
168#
169# Networking options
170#
171# CONFIG_NETDEBUG is not set
172CONFIG_PACKET=y
173# CONFIG_PACKET_MMAP is not set
174CONFIG_UNIX=y
175CONFIG_XFRM=y
176# CONFIG_XFRM_USER is not set
177# CONFIG_XFRM_SUB_POLICY is not set
178# CONFIG_NET_KEY is not set
179CONFIG_INET=y
180# CONFIG_IP_MULTICAST is not set
181# CONFIG_IP_ADVANCED_ROUTER is not set
182CONFIG_IP_FIB_HASH=y
183CONFIG_IP_PNP=y
184CONFIG_IP_PNP_DHCP=y
185# CONFIG_IP_PNP_BOOTP is not set
186# CONFIG_IP_PNP_RARP is not set
187# CONFIG_NET_IPIP is not set
188# CONFIG_NET_IPGRE is not set
189# CONFIG_ARPD is not set
190# CONFIG_SYN_COOKIES is not set
191# CONFIG_INET_AH is not set
192# CONFIG_INET_ESP is not set
193# CONFIG_INET_IPCOMP is not set
194# CONFIG_INET_XFRM_TUNNEL is not set
195# CONFIG_INET_TUNNEL is not set
196CONFIG_INET_XFRM_MODE_TRANSPORT=y
197CONFIG_INET_XFRM_MODE_TUNNEL=y
198CONFIG_INET_XFRM_MODE_BEET=y
199CONFIG_INET_DIAG=y
200CONFIG_INET_TCP_DIAG=y
201# CONFIG_TCP_CONG_ADVANCED is not set
202CONFIG_TCP_CONG_CUBIC=y
203CONFIG_DEFAULT_TCP_CONG="cubic"
204# CONFIG_TCP_MD5SIG is not set
205# CONFIG_IPV6 is not set
206# CONFIG_INET6_XFRM_TUNNEL is not set
207# CONFIG_INET6_TUNNEL is not set
208# CONFIG_NETWORK_SECMARK is not set
209# CONFIG_NETFILTER is not set
210
211#
212# DCCP Configuration (EXPERIMENTAL)
213#
214# CONFIG_IP_DCCP is not set
215
216#
217# SCTP Configuration (EXPERIMENTAL)
218#
219# CONFIG_IP_SCTP is not set
220
221#
222# TIPC Configuration (EXPERIMENTAL)
223#
224# CONFIG_TIPC is not set
225# CONFIG_ATM is not set
226# CONFIG_BRIDGE is not set
227# CONFIG_VLAN_8021Q is not set
228# CONFIG_DECNET is not set
229# CONFIG_LLC2 is not set
230# CONFIG_IPX is not set
231# CONFIG_ATALK is not set
232# CONFIG_X25 is not set
233# CONFIG_LAPB is not set
234# CONFIG_ECONET is not set
235# CONFIG_WAN_ROUTER is not set
236
237#
238# QoS and/or fair queueing
239#
240# CONFIG_NET_SCHED is not set
241
242#
243# Network testing
244#
245# CONFIG_NET_PKTGEN is not set
246# CONFIG_HAMRADIO is not set
247# CONFIG_IRDA is not set
248# CONFIG_BT is not set
249# CONFIG_IEEE80211 is not set
250
251#
124# Device Drivers 252# Device Drivers
125# 253#
126 254
@@ -129,7 +257,13 @@ CONFIG_BINFMT_ELF=y
129# 257#
130CONFIG_STANDALONE=y 258CONFIG_STANDALONE=y
131CONFIG_PREVENT_FIRMWARE_BUILD=y 259CONFIG_PREVENT_FIRMWARE_BUILD=y
132# CONFIG_FW_LOADER is not set 260CONFIG_FW_LOADER=y
261# CONFIG_SYS_HYPERVISOR is not set
262
263#
264# Connector - unified userspace <-> kernelspace linker
265#
266# CONFIG_CONNECTOR is not set
133 267
134# 268#
135# Memory Technology Devices (MTD) 269# Memory Technology Devices (MTD)
@@ -148,7 +282,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
148# 282#
149# Block devices 283# Block devices
150# 284#
151# CONFIG_BLK_DEV_FD is not set
152# CONFIG_BLK_DEV_COW_COMMON is not set 285# CONFIG_BLK_DEV_COW_COMMON is not set
153CONFIG_BLK_DEV_LOOP=y 286CONFIG_BLK_DEV_LOOP=y
154# CONFIG_BLK_DEV_CRYPTOLOOP is not set 287# CONFIG_BLK_DEV_CRYPTOLOOP is not set
@@ -156,23 +289,21 @@ CONFIG_BLK_DEV_NBD=y
156CONFIG_BLK_DEV_RAM=y 289CONFIG_BLK_DEV_RAM=y
157CONFIG_BLK_DEV_RAM_COUNT=16 290CONFIG_BLK_DEV_RAM_COUNT=16
158CONFIG_BLK_DEV_RAM_SIZE=4096 291CONFIG_BLK_DEV_RAM_SIZE=4096
292CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
159# CONFIG_BLK_DEV_INITRD is not set 293# CONFIG_BLK_DEV_INITRD is not set
160CONFIG_INITRAMFS_SOURCE=""
161# CONFIG_CDROM_PKTCDVD is not set 294# CONFIG_CDROM_PKTCDVD is not set
295# CONFIG_ATA_OVER_ETH is not set
162 296
163# 297#
164# IO Schedulers 298# Misc devices
165# 299#
166CONFIG_IOSCHED_NOOP=y 300# CONFIG_TIFM_CORE is not set
167# CONFIG_IOSCHED_AS is not set
168CONFIG_IOSCHED_DEADLINE=y
169CONFIG_IOSCHED_CFQ=y
170# CONFIG_ATA_OVER_ETH is not set
171 301
172# 302#
173# ATA/ATAPI/MFM/RLL support 303# ATA/ATAPI/MFM/RLL support
174# 304#
175CONFIG_IDE=y 305CONFIG_IDE=y
306CONFIG_IDE_MAX_HWIFS=4
176CONFIG_BLK_DEV_IDE=y 307CONFIG_BLK_DEV_IDE=y
177 308
178# 309#
@@ -200,7 +331,9 @@ CONFIG_IDE_GENERIC=y
200# 331#
201# SCSI device support 332# SCSI device support
202# 333#
334# CONFIG_RAID_ATTRS is not set
203CONFIG_SCSI=m 335CONFIG_SCSI=m
336# CONFIG_SCSI_NETLINK is not set
204CONFIG_SCSI_PROC_FS=y 337CONFIG_SCSI_PROC_FS=y
205 338
206# 339#
@@ -212,6 +345,7 @@ CONFIG_BLK_DEV_SD=m
212CONFIG_BLK_DEV_SR=m 345CONFIG_BLK_DEV_SR=m
213# CONFIG_BLK_DEV_SR_VENDOR is not set 346# CONFIG_BLK_DEV_SR_VENDOR is not set
214CONFIG_CHR_DEV_SG=m 347CONFIG_CHR_DEV_SG=m
348# CONFIG_CHR_DEV_SCH is not set
215 349
216# 350#
217# Some SCSI devices (e.g. CD jukebox) support multiple LUNs 351# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
@@ -221,16 +355,18 @@ CONFIG_SCSI_MULTI_LUN=y
221# CONFIG_SCSI_LOGGING is not set 355# CONFIG_SCSI_LOGGING is not set
222 356
223# 357#
224# SCSI Transport Attributes 358# SCSI Transports
225# 359#
226# CONFIG_SCSI_SPI_ATTRS is not set 360# CONFIG_SCSI_SPI_ATTRS is not set
227# CONFIG_SCSI_FC_ATTRS is not set 361# CONFIG_SCSI_FC_ATTRS is not set
228# CONFIG_SCSI_ISCSI_ATTRS is not set 362# CONFIG_SCSI_ISCSI_ATTRS is not set
363# CONFIG_SCSI_SAS_ATTRS is not set
364# CONFIG_SCSI_SAS_LIBSAS is not set
229 365
230# 366#
231# SCSI low-level drivers 367# SCSI low-level drivers
232# 368#
233# CONFIG_SCSI_SATA is not set 369# CONFIG_ISCSI_TCP is not set
234# CONFIG_SCSI_DEBUG is not set 370# CONFIG_SCSI_DEBUG is not set
235 371
236# 372#
@@ -243,6 +379,10 @@ CONFIG_SCSI_MULTI_LUN=y
243# CONFIG_PCMCIA_SYM53C500 is not set 379# CONFIG_PCMCIA_SYM53C500 is not set
244 380
245# 381#
382# Serial ATA (prod) and Parallel ATA (experimental) drivers
383#
384
385#
246# Multi-device support (RAID and LVM) 386# Multi-device support (RAID and LVM)
247# 387#
248# CONFIG_MD is not set 388# CONFIG_MD is not set
@@ -250,6 +390,7 @@ CONFIG_SCSI_MULTI_LUN=y
250# 390#
251# Fusion MPT device support 391# Fusion MPT device support
252# 392#
393# CONFIG_FUSION is not set
253 394
254# 395#
255# IEEE 1394 (FireWire) support 396# IEEE 1394 (FireWire) support
@@ -260,69 +401,8 @@ CONFIG_SCSI_MULTI_LUN=y
260# 401#
261 402
262# 403#
263# Networking support 404# Network device support
264#
265CONFIG_NET=y
266
267#
268# Networking options
269#
270CONFIG_PACKET=y
271# CONFIG_PACKET_MMAP is not set
272CONFIG_UNIX=y
273# CONFIG_NET_KEY is not set
274CONFIG_INET=y
275# CONFIG_IP_MULTICAST is not set
276# CONFIG_IP_ADVANCED_ROUTER is not set
277CONFIG_IP_PNP=y
278CONFIG_IP_PNP_DHCP=y
279# CONFIG_IP_PNP_BOOTP is not set
280# CONFIG_IP_PNP_RARP is not set
281# CONFIG_NET_IPIP is not set
282# CONFIG_NET_IPGRE is not set
283# CONFIG_ARPD is not set
284# CONFIG_SYN_COOKIES is not set
285# CONFIG_INET_AH is not set
286# CONFIG_INET_ESP is not set
287# CONFIG_INET_IPCOMP is not set
288# CONFIG_INET_TUNNEL is not set
289CONFIG_IP_TCPDIAG=y
290# CONFIG_IP_TCPDIAG_IPV6 is not set
291# CONFIG_IPV6 is not set
292# CONFIG_NETFILTER is not set
293
294#
295# SCTP Configuration (EXPERIMENTAL)
296#
297# CONFIG_IP_SCTP is not set
298# CONFIG_ATM is not set
299# CONFIG_BRIDGE is not set
300# CONFIG_VLAN_8021Q is not set
301# CONFIG_DECNET is not set
302# CONFIG_LLC2 is not set
303# CONFIG_IPX is not set
304# CONFIG_ATALK is not set
305# CONFIG_X25 is not set
306# CONFIG_LAPB is not set
307# CONFIG_NET_DIVERT is not set
308# CONFIG_ECONET is not set
309# CONFIG_WAN_ROUTER is not set
310
311#
312# QoS and/or fair queueing
313#
314# CONFIG_NET_SCHED is not set
315# CONFIG_NET_CLS_ROUTE is not set
316
317#
318# Network testing
319# 405#
320# CONFIG_NET_PKTGEN is not set
321# CONFIG_NETPOLL is not set
322# CONFIG_NET_POLL_CONTROLLER is not set
323# CONFIG_HAMRADIO is not set
324# CONFIG_IRDA is not set
325# CONFIG_BT is not set
326CONFIG_NETDEVICES=y 406CONFIG_NETDEVICES=y
327# CONFIG_DUMMY is not set 407# CONFIG_DUMMY is not set
328# CONFIG_BONDING is not set 408# CONFIG_BONDING is not set
@@ -330,6 +410,11 @@ CONFIG_NETDEVICES=y
330# CONFIG_TUN is not set 410# CONFIG_TUN is not set
331 411
332# 412#
413# PHY device support
414#
415# CONFIG_PHYLIB is not set
416
417#
333# Ethernet (10 or 100Mbit) 418# Ethernet (10 or 100Mbit)
334# 419#
335CONFIG_NET_ETHERNET=y 420CONFIG_NET_ETHERNET=y
@@ -367,6 +452,8 @@ CONFIG_SMC91X=y
367# CONFIG_SLIP is not set 452# CONFIG_SLIP is not set
368# CONFIG_SHAPER is not set 453# CONFIG_SHAPER is not set
369# CONFIG_NETCONSOLE is not set 454# CONFIG_NETCONSOLE is not set
455# CONFIG_NETPOLL is not set
456# CONFIG_NET_POLL_CONTROLLER is not set
370 457
371# 458#
372# ISDN subsystem 459# ISDN subsystem
@@ -382,6 +469,7 @@ CONFIG_SMC91X=y
382# Input device support 469# Input device support
383# 470#
384CONFIG_INPUT=y 471CONFIG_INPUT=y
472# CONFIG_INPUT_FF_MEMLESS is not set
385 473
386# 474#
387# Userland interfaces 475# Userland interfaces
@@ -410,7 +498,6 @@ CONFIG_SERIO_SERPORT=y
410# CONFIG_SERIO_LIBPS2 is not set 498# CONFIG_SERIO_LIBPS2 is not set
411# CONFIG_SERIO_RAW is not set 499# CONFIG_SERIO_RAW is not set
412# CONFIG_GAMEPORT is not set 500# CONFIG_GAMEPORT is not set
413CONFIG_SOUND_GAMEPORT=y
414 501
415# 502#
416# Character devices 503# Character devices
@@ -418,6 +505,7 @@ CONFIG_SOUND_GAMEPORT=y
418CONFIG_VT=y 505CONFIG_VT=y
419CONFIG_VT_CONSOLE=y 506CONFIG_VT_CONSOLE=y
420CONFIG_HW_CONSOLE=y 507CONFIG_HW_CONSOLE=y
508# CONFIG_VT_HW_CONSOLE_BINDING is not set
421# CONFIG_SERIAL_NONSTANDARD is not set 509# CONFIG_SERIAL_NONSTANDARD is not set
422 510
423# 511#
@@ -432,7 +520,6 @@ CONFIG_SERIAL_CORE=y
432CONFIG_SERIAL_CORE_CONSOLE=y 520CONFIG_SERIAL_CORE_CONSOLE=y
433CONFIG_SERIAL_M32R_SIO=y 521CONFIG_SERIAL_M32R_SIO=y
434CONFIG_SERIAL_M32R_SIO_CONSOLE=y 522CONFIG_SERIAL_M32R_SIO_CONSOLE=y
435# CONFIG_SERIAL_M32R_PLDSIO is not set
436CONFIG_UNIX98_PTYS=y 523CONFIG_UNIX98_PTYS=y
437CONFIG_LEGACY_PTYS=y 524CONFIG_LEGACY_PTYS=y
438CONFIG_LEGACY_PTY_COUNT=256 525CONFIG_LEGACY_PTY_COUNT=256
@@ -446,25 +533,27 @@ CONFIG_LEGACY_PTY_COUNT=256
446# Watchdog Cards 533# Watchdog Cards
447# 534#
448# CONFIG_WATCHDOG is not set 535# CONFIG_WATCHDOG is not set
536CONFIG_HW_RANDOM=y
449# CONFIG_RTC is not set 537# CONFIG_RTC is not set
450# CONFIG_GEN_RTC is not set
451# CONFIG_DTLK is not set 538# CONFIG_DTLK is not set
452# CONFIG_R3964 is not set 539# CONFIG_R3964 is not set
453 540
454# 541#
455# Ftape, the floppy tape device driver 542# Ftape, the floppy tape device driver
456# 543#
457# CONFIG_DRM is not set
458 544
459# 545#
460# PCMCIA character devices 546# PCMCIA character devices
461# 547#
462# CONFIG_SYNCLINK_CS is not set 548# CONFIG_SYNCLINK_CS is not set
549# CONFIG_CARDMAN_4000 is not set
550# CONFIG_CARDMAN_4040 is not set
463# CONFIG_RAW_DRIVER is not set 551# CONFIG_RAW_DRIVER is not set
464 552
465# 553#
466# TPM devices 554# TPM devices
467# 555#
556# CONFIG_TCG_TPM is not set
468 557
469# 558#
470# I2C support 559# I2C support
@@ -472,33 +561,50 @@ CONFIG_LEGACY_PTY_COUNT=256
472# CONFIG_I2C is not set 561# CONFIG_I2C is not set
473 562
474# 563#
564# SPI support
565#
566# CONFIG_SPI is not set
567# CONFIG_SPI_MASTER is not set
568
569#
475# Dallas's 1-wire bus 570# Dallas's 1-wire bus
476# 571#
477# CONFIG_W1 is not set 572# CONFIG_W1 is not set
478 573
479# 574#
480# Misc devices 575# Hardware Monitoring support
481# 576#
577CONFIG_HWMON=y
578# CONFIG_HWMON_VID is not set
579# CONFIG_SENSORS_ABITUGURU is not set
580# CONFIG_SENSORS_F71805F is not set
581# CONFIG_SENSORS_VT1211 is not set
582# CONFIG_HWMON_DEBUG_CHIP is not set
482 583
483# 584#
484# Multimedia devices 585# Multimedia devices
485# 586#
486CONFIG_VIDEO_DEV=y 587CONFIG_VIDEO_DEV=y
588CONFIG_VIDEO_V4L1=y
589CONFIG_VIDEO_V4L1_COMPAT=y
590CONFIG_VIDEO_V4L2=y
487 591
488# 592#
489# Video For Linux 593# Video Capture Adapters
490# 594#
491 595
492# 596#
493# Video Adapters 597# Video Capture Adapters
494# 598#
599# CONFIG_VIDEO_ADV_DEBUG is not set
600CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
601# CONFIG_VIDEO_VIVI is not set
495# CONFIG_VIDEO_CPIA is not set 602# CONFIG_VIDEO_CPIA is not set
496# CONFIG_VIDEO_M32R_AR is not set 603# CONFIG_VIDEO_M32R_AR is not set
497 604
498# 605#
499# Radio Adapters 606# Radio Adapters
500# 607#
501# CONFIG_RADIO_MAESTRO is not set
502 608
503# 609#
504# Digital Video Broadcasting Devices 610# Digital Video Broadcasting Devices
@@ -508,6 +614,7 @@ CONFIG_VIDEO_DEV=y
508# 614#
509# Graphics support 615# Graphics support
510# 616#
617CONFIG_FIRMWARE_EDID=y
511# CONFIG_FB is not set 618# CONFIG_FB is not set
512 619
513# 620#
@@ -515,6 +622,7 @@ CONFIG_VIDEO_DEV=y
515# 622#
516# CONFIG_VGA_CONSOLE is not set 623# CONFIG_VGA_CONSOLE is not set
517CONFIG_DUMMY_CONSOLE=y 624CONFIG_DUMMY_CONSOLE=y
625# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
518 626
519# 627#
520# Sound 628# Sound
@@ -526,6 +634,11 @@ CONFIG_DUMMY_CONSOLE=y
526# 634#
527# CONFIG_USB_ARCH_HAS_HCD is not set 635# CONFIG_USB_ARCH_HAS_HCD is not set
528# CONFIG_USB_ARCH_HAS_OHCI is not set 636# CONFIG_USB_ARCH_HAS_OHCI is not set
637# CONFIG_USB_ARCH_HAS_EHCI is not set
638
639#
640# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
641#
529 642
530# 643#
531# USB Gadget Support 644# USB Gadget Support
@@ -538,38 +651,73 @@ CONFIG_DUMMY_CONSOLE=y
538# CONFIG_MMC is not set 651# CONFIG_MMC is not set
539 652
540# 653#
654# LED devices
655#
656# CONFIG_NEW_LEDS is not set
657
658#
659# LED drivers
660#
661
662#
663# LED Triggers
664#
665
666#
541# InfiniBand support 667# InfiniBand support
542# 668#
543# CONFIG_INFINIBAND is not set 669
670#
671# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
672#
673
674#
675# Real Time Clock
676#
677# CONFIG_RTC_CLASS is not set
678
679#
680# DMA Engine support
681#
682# CONFIG_DMA_ENGINE is not set
683
684#
685# DMA Clients
686#
687
688#
689# DMA Devices
690#
544 691
545# 692#
546# File systems 693# File systems
547# 694#
548CONFIG_EXT2_FS=y 695CONFIG_EXT2_FS=y
549# CONFIG_EXT2_FS_XATTR is not set 696# CONFIG_EXT2_FS_XATTR is not set
550CONFIG_EXT3_FS=m 697# CONFIG_EXT2_FS_XIP is not set
698CONFIG_EXT3_FS=y
551CONFIG_EXT3_FS_XATTR=y 699CONFIG_EXT3_FS_XATTR=y
552# CONFIG_EXT3_FS_POSIX_ACL is not set 700# CONFIG_EXT3_FS_POSIX_ACL is not set
553# CONFIG_EXT3_FS_SECURITY is not set 701# CONFIG_EXT3_FS_SECURITY is not set
554CONFIG_JBD=m 702# CONFIG_EXT4DEV_FS is not set
703CONFIG_JBD=y
555CONFIG_JBD_DEBUG=y 704CONFIG_JBD_DEBUG=y
556CONFIG_FS_MBCACHE=y 705CONFIG_FS_MBCACHE=y
557CONFIG_REISERFS_FS=m 706# CONFIG_REISERFS_FS is not set
558# CONFIG_REISERFS_CHECK is not set
559# CONFIG_REISERFS_PROC_INFO is not set
560# CONFIG_REISERFS_FS_XATTR is not set
561# CONFIG_JFS_FS is not set 707# CONFIG_JFS_FS is not set
562 708# CONFIG_FS_POSIX_ACL is not set
563#
564# XFS support
565#
566# CONFIG_XFS_FS is not set 709# CONFIG_XFS_FS is not set
710# CONFIG_GFS2_FS is not set
711# CONFIG_OCFS2_FS is not set
567# CONFIG_MINIX_FS is not set 712# CONFIG_MINIX_FS is not set
568# CONFIG_ROMFS_FS is not set 713# CONFIG_ROMFS_FS is not set
714CONFIG_INOTIFY=y
715CONFIG_INOTIFY_USER=y
569# CONFIG_QUOTA is not set 716# CONFIG_QUOTA is not set
570CONFIG_DNOTIFY=y 717CONFIG_DNOTIFY=y
571# CONFIG_AUTOFS_FS is not set 718# CONFIG_AUTOFS_FS is not set
572# CONFIG_AUTOFS4_FS is not set 719# CONFIG_AUTOFS4_FS is not set
720# CONFIG_FUSE_FS is not set
573 721
574# 722#
575# CD-ROM/DVD Filesystems 723# CD-ROM/DVD Filesystems
@@ -595,15 +743,13 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
595# 743#
596CONFIG_PROC_FS=y 744CONFIG_PROC_FS=y
597CONFIG_PROC_KCORE=y 745CONFIG_PROC_KCORE=y
746CONFIG_PROC_SYSCTL=y
598CONFIG_SYSFS=y 747CONFIG_SYSFS=y
599CONFIG_DEVFS_FS=y
600CONFIG_DEVFS_MOUNT=y
601# CONFIG_DEVFS_DEBUG is not set
602# CONFIG_DEVPTS_FS_XATTR is not set
603CONFIG_TMPFS=y 748CONFIG_TMPFS=y
604# CONFIG_TMPFS_XATTR is not set 749# CONFIG_TMPFS_POSIX_ACL is not set
605# CONFIG_HUGETLB_PAGE is not set 750# CONFIG_HUGETLB_PAGE is not set
606CONFIG_RAMFS=y 751CONFIG_RAMFS=y
752# CONFIG_CONFIGFS_FS is not set
607 753
608# 754#
609# Miscellaneous filesystems 755# Miscellaneous filesystems
@@ -627,12 +773,14 @@ CONFIG_RAMFS=y
627# 773#
628CONFIG_NFS_FS=y 774CONFIG_NFS_FS=y
629CONFIG_NFS_V3=y 775CONFIG_NFS_V3=y
776# CONFIG_NFS_V3_ACL is not set
630# CONFIG_NFS_V4 is not set 777# CONFIG_NFS_V4 is not set
631# CONFIG_NFS_DIRECTIO is not set 778# CONFIG_NFS_DIRECTIO is not set
632# CONFIG_NFSD is not set 779# CONFIG_NFSD is not set
633CONFIG_ROOT_NFS=y 780CONFIG_ROOT_NFS=y
634CONFIG_LOCKD=y 781CONFIG_LOCKD=y
635CONFIG_LOCKD_V4=y 782CONFIG_LOCKD_V4=y
783CONFIG_NFS_COMMON=y
636CONFIG_SUNRPC=y 784CONFIG_SUNRPC=y
637# CONFIG_RPCSEC_GSS_KRB5 is not set 785# CONFIG_RPCSEC_GSS_KRB5 is not set
638# CONFIG_RPCSEC_GSS_SPKM3 is not set 786# CONFIG_RPCSEC_GSS_SPKM3 is not set
@@ -641,6 +789,7 @@ CONFIG_SUNRPC=y
641# CONFIG_NCP_FS is not set 789# CONFIG_NCP_FS is not set
642# CONFIG_CODA_FS is not set 790# CONFIG_CODA_FS is not set
643# CONFIG_AFS_FS is not set 791# CONFIG_AFS_FS is not set
792# CONFIG_9P_FS is not set
644 793
645# 794#
646# Partition Types 795# Partition Types
@@ -701,10 +850,16 @@ CONFIG_NLS_DEFAULT="iso8859-1"
701# Kernel hacking 850# Kernel hacking
702# 851#
703# CONFIG_PRINTK_TIME is not set 852# CONFIG_PRINTK_TIME is not set
853CONFIG_ENABLE_MUST_CHECK=y
854# CONFIG_MAGIC_SYSRQ is not set
855# CONFIG_UNUSED_SYMBOLS is not set
704# CONFIG_DEBUG_KERNEL is not set 856# CONFIG_DEBUG_KERNEL is not set
705CONFIG_LOG_BUF_SHIFT=14 857CONFIG_LOG_BUF_SHIFT=14
706# CONFIG_DEBUG_BUGVERBOSE is not set 858# CONFIG_DEBUG_BUGVERBOSE is not set
859# CONFIG_DEBUG_FS is not set
707# CONFIG_FRAME_POINTER is not set 860# CONFIG_FRAME_POINTER is not set
861# CONFIG_UNWIND_INFO is not set
862# CONFIG_HEADERS_CHECK is not set
708 863
709# 864#
710# Security options 865# Security options
@@ -718,12 +873,9 @@ CONFIG_LOG_BUF_SHIFT=14
718# CONFIG_CRYPTO is not set 873# CONFIG_CRYPTO is not set
719 874
720# 875#
721# Hardware crypto devices
722#
723
724#
725# Library routines 876# Library routines
726# 877#
727# CONFIG_CRC_CCITT is not set 878# CONFIG_CRC_CCITT is not set
879# CONFIG_CRC16 is not set
728CONFIG_CRC32=y 880CONFIG_CRC32=y
729# CONFIG_LIBCRC32C is not set 881# CONFIG_LIBCRC32C is not set
diff --git a/arch/m32r/mappi3/defconfig.smp b/arch/m32r/mappi3/defconfig.smp
index 2eebe75fc071..2f352267a6d9 100644
--- a/arch/m32r/mappi3/defconfig.smp
+++ b/arch/m32r/mappi3/defconfig.smp
@@ -1,21 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc5 3# Linux kernel version: 2.6.19
4# Tue May 31 17:55:34 2005 4# Mon Dec 11 19:57:33 2006
5# 5#
6CONFIG_M32R=y 6CONFIG_M32R=y
7# CONFIG_UID16 is not set
8CONFIG_GENERIC_ISA_DMA=y 7CONFIG_GENERIC_ISA_DMA=y
9CONFIG_GENERIC_HARDIRQS=y 8CONFIG_GENERIC_HARDIRQS=y
10CONFIG_GENERIC_IRQ_PROBE=y 9CONFIG_GENERIC_IRQ_PROBE=y
10CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 11
12# 12#
13# Code maturity level options 13# Code maturity level options
14# 14#
15CONFIG_EXPERIMENTAL=y 15CONFIG_EXPERIMENTAL=y
16# CONFIG_CLEAN_COMPILE is not set
17CONFIG_BROKEN=y
18CONFIG_BROKEN_ON_SMP=y
19CONFIG_LOCK_KERNEL=y 16CONFIG_LOCK_KERNEL=y
20CONFIG_INIT_ENV_ARG_LIMIT=32 17CONFIG_INIT_ENV_ARG_LIMIT=32
21 18
@@ -23,32 +20,39 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
23# General setup 20# General setup
24# 21#
25CONFIG_LOCALVERSION="" 22CONFIG_LOCALVERSION=""
23CONFIG_LOCALVERSION_AUTO=y
26CONFIG_SWAP=y 24CONFIG_SWAP=y
27CONFIG_SYSVIPC=y 25CONFIG_SYSVIPC=y
26# CONFIG_IPC_NS is not set
28# CONFIG_POSIX_MQUEUE is not set 27# CONFIG_POSIX_MQUEUE is not set
29# CONFIG_BSD_PROCESS_ACCT is not set 28# CONFIG_BSD_PROCESS_ACCT is not set
30CONFIG_SYSCTL=y 29# CONFIG_TASKSTATS is not set
30# CONFIG_UTS_NS is not set
31# CONFIG_AUDIT is not set 31# CONFIG_AUDIT is not set
32CONFIG_HOTPLUG=y
33CONFIG_KOBJECT_UEVENT=y
34CONFIG_IKCONFIG=y 32CONFIG_IKCONFIG=y
35CONFIG_IKCONFIG_PROC=y 33CONFIG_IKCONFIG_PROC=y
36# CONFIG_CPUSETS is not set 34# CONFIG_CPUSETS is not set
35CONFIG_SYSFS_DEPRECATED=y
36# CONFIG_RELAY is not set
37CONFIG_INITRAMFS_SOURCE=""
38# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
39CONFIG_SYSCTL=y
37CONFIG_EMBEDDED=y 40CONFIG_EMBEDDED=y
41CONFIG_SYSCTL_SYSCALL=y
38# CONFIG_KALLSYMS is not set 42# CONFIG_KALLSYMS is not set
43CONFIG_HOTPLUG=y
39CONFIG_PRINTK=y 44CONFIG_PRINTK=y
40CONFIG_BUG=y 45CONFIG_BUG=y
46CONFIG_ELF_CORE=y
41CONFIG_BASE_FULL=y 47CONFIG_BASE_FULL=y
42# CONFIG_FUTEX is not set 48# CONFIG_FUTEX is not set
43# CONFIG_EPOLL is not set 49# CONFIG_EPOLL is not set
44# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
45CONFIG_SHMEM=y 50CONFIG_SHMEM=y
46CONFIG_CC_ALIGN_FUNCTIONS=0 51CONFIG_SLAB=y
47CONFIG_CC_ALIGN_LABELS=0 52CONFIG_VM_EVENT_COUNTERS=y
48CONFIG_CC_ALIGN_LOOPS=0
49CONFIG_CC_ALIGN_JUMPS=0
50# CONFIG_TINY_SHMEM is not set 53# CONFIG_TINY_SHMEM is not set
51CONFIG_BASE_SMALL=0 54CONFIG_BASE_SMALL=0
55# CONFIG_SLOB is not set
52 56
53# 57#
54# Loadable module support 58# Loadable module support
@@ -56,13 +60,31 @@ CONFIG_BASE_SMALL=0
56CONFIG_MODULES=y 60CONFIG_MODULES=y
57CONFIG_MODULE_UNLOAD=y 61CONFIG_MODULE_UNLOAD=y
58# CONFIG_MODULE_FORCE_UNLOAD is not set 62# CONFIG_MODULE_FORCE_UNLOAD is not set
59CONFIG_OBSOLETE_MODPARM=y
60# CONFIG_MODVERSIONS is not set 63# CONFIG_MODVERSIONS is not set
61# CONFIG_MODULE_SRCVERSION_ALL is not set 64# CONFIG_MODULE_SRCVERSION_ALL is not set
62CONFIG_KMOD=y 65CONFIG_KMOD=y
63CONFIG_STOP_MACHINE=y 66CONFIG_STOP_MACHINE=y
64 67
65# 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
78# CONFIG_IOSCHED_AS is not set
79CONFIG_IOSCHED_DEADLINE=y
80CONFIG_IOSCHED_CFQ=y
81# CONFIG_DEFAULT_AS is not set
82# CONFIG_DEFAULT_DEADLINE is not set
83CONFIG_DEFAULT_CFQ=y
84# CONFIG_DEFAULT_NOOP is not set
85CONFIG_DEFAULT_IOSCHED="cfq"
86
87#
66# Processor type and features 88# Processor type and features
67# 89#
68# CONFIG_PLAT_MAPPI is not set 90# CONFIG_PLAT_MAPPI is not set
@@ -72,8 +94,10 @@ CONFIG_STOP_MACHINE=y
72# CONFIG_PLAT_OAKS32R is not set 94# CONFIG_PLAT_OAKS32R is not set
73# CONFIG_PLAT_MAPPI2 is not set 95# CONFIG_PLAT_MAPPI2 is not set
74CONFIG_PLAT_MAPPI3=y 96CONFIG_PLAT_MAPPI3=y
97# CONFIG_PLAT_M32104UT is not set
75CONFIG_CHIP_M32700=y 98CONFIG_CHIP_M32700=y
76# CONFIG_CHIP_M32102 is not set 99# CONFIG_CHIP_M32102 is not set
100# CONFIG_CHIP_M32104 is not set
77# CONFIG_CHIP_VDEC2 is not set 101# CONFIG_CHIP_VDEC2 is not set
78# CONFIG_CHIP_OPSP is not set 102# CONFIG_CHIP_OPSP is not set
79CONFIG_MMU=y 103CONFIG_MMU=y
@@ -87,23 +111,33 @@ CONFIG_TIMER_DIVIDE=128
87CONFIG_MEMORY_START=0x08000000 111CONFIG_MEMORY_START=0x08000000
88CONFIG_MEMORY_SIZE=0x08000000 112CONFIG_MEMORY_SIZE=0x08000000
89CONFIG_NOHIGHMEM=y 113CONFIG_NOHIGHMEM=y
114CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
115CONFIG_SELECT_MEMORY_MODEL=y
116# CONFIG_FLATMEM_MANUAL is not set
117CONFIG_DISCONTIGMEM_MANUAL=y
118# CONFIG_SPARSEMEM_MANUAL is not set
90CONFIG_DISCONTIGMEM=y 119CONFIG_DISCONTIGMEM=y
120CONFIG_FLAT_NODE_MEM_MAP=y
121CONFIG_NEED_MULTIPLE_NODES=y
122# CONFIG_SPARSEMEM_STATIC is not set
123CONFIG_SPLIT_PTLOCK_CPUS=4
124# CONFIG_RESOURCES_64BIT is not set
91CONFIG_IRAM_START=0x00f00000 125CONFIG_IRAM_START=0x00f00000
92CONFIG_IRAM_SIZE=0x00080000 126CONFIG_IRAM_SIZE=0x00080000
93CONFIG_RWSEM_GENERIC_SPINLOCK=y 127CONFIG_RWSEM_GENERIC_SPINLOCK=y
94# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set 128# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
129CONFIG_GENERIC_FIND_NEXT_BIT=y
130CONFIG_GENERIC_HWEIGHT=y
95CONFIG_GENERIC_CALIBRATE_DELAY=y 131CONFIG_GENERIC_CALIBRATE_DELAY=y
96CONFIG_PREEMPT=y 132CONFIG_PREEMPT=y
97# CONFIG_HAVE_DEC_LOCK is not set
98CONFIG_SMP=y 133CONFIG_SMP=y
99# CONFIG_CHIP_M32700_TS1 is not set 134# CONFIG_CHIP_M32700_TS1 is not set
100CONFIG_NR_CPUS=2 135CONFIG_NR_CPUS=2
101# CONFIG_NUMA is not set 136CONFIG_NODES_SHIFT=1
102 137
103# 138#
104# Bus options (PCI, PCMCIA, EISA, MCA, ISA) 139# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
105# 140#
106# CONFIG_PCI is not set
107# CONFIG_ISA is not set 141# CONFIG_ISA is not set
108 142
109# 143#
@@ -112,11 +146,12 @@ CONFIG_NR_CPUS=2
112CONFIG_PCCARD=y 146CONFIG_PCCARD=y
113# CONFIG_PCMCIA_DEBUG is not set 147# CONFIG_PCMCIA_DEBUG is not set
114CONFIG_PCMCIA=y 148CONFIG_PCMCIA=y
149CONFIG_PCMCIA_LOAD_CIS=y
150CONFIG_PCMCIA_IOCTL=y
115 151
116# 152#
117# PC-card bridges 153# PC-card bridges
118# 154#
119# CONFIG_TCIC is not set
120# CONFIG_M32R_PCC is not set 155# CONFIG_M32R_PCC is not set
121# CONFIG_M32R_CFC is not set 156# CONFIG_M32R_CFC is not set
122 157
@@ -131,6 +166,93 @@ CONFIG_BINFMT_ELF=y
131# CONFIG_BINFMT_MISC is not set 166# CONFIG_BINFMT_MISC is not set
132 167
133# 168#
169# Networking
170#
171CONFIG_NET=y
172
173#
174# Networking options
175#
176# CONFIG_NETDEBUG is not set
177# CONFIG_PACKET is not set
178CONFIG_UNIX=y
179CONFIG_XFRM=y
180# CONFIG_XFRM_USER is not set
181# CONFIG_XFRM_SUB_POLICY is not set
182# CONFIG_NET_KEY is not set
183CONFIG_INET=y
184# CONFIG_IP_MULTICAST is not set
185# CONFIG_IP_ADVANCED_ROUTER is not set
186CONFIG_IP_FIB_HASH=y
187CONFIG_IP_PNP=y
188CONFIG_IP_PNP_DHCP=y
189# CONFIG_IP_PNP_BOOTP is not set
190# CONFIG_IP_PNP_RARP is not set
191# CONFIG_NET_IPIP is not set
192# CONFIG_NET_IPGRE is not set
193# CONFIG_ARPD is not set
194# CONFIG_SYN_COOKIES is not set
195# CONFIG_INET_AH is not set
196# CONFIG_INET_ESP is not set
197# CONFIG_INET_IPCOMP is not set
198# CONFIG_INET_XFRM_TUNNEL is not set
199# CONFIG_INET_TUNNEL is not set
200CONFIG_INET_XFRM_MODE_TRANSPORT=y
201CONFIG_INET_XFRM_MODE_TUNNEL=y
202CONFIG_INET_XFRM_MODE_BEET=y
203CONFIG_INET_DIAG=y
204CONFIG_INET_TCP_DIAG=y
205# CONFIG_TCP_CONG_ADVANCED is not set
206CONFIG_TCP_CONG_CUBIC=y
207CONFIG_DEFAULT_TCP_CONG="cubic"
208# CONFIG_TCP_MD5SIG is not set
209# CONFIG_IPV6 is not set
210# CONFIG_INET6_XFRM_TUNNEL is not set
211# CONFIG_INET6_TUNNEL is not set
212# CONFIG_NETWORK_SECMARK is not set
213# CONFIG_NETFILTER is not set
214
215#
216# DCCP Configuration (EXPERIMENTAL)
217#
218# CONFIG_IP_DCCP is not set
219
220#
221# SCTP Configuration (EXPERIMENTAL)
222#
223# CONFIG_IP_SCTP is not set
224
225#
226# TIPC Configuration (EXPERIMENTAL)
227#
228# CONFIG_TIPC is not set
229# CONFIG_ATM is not set
230# CONFIG_BRIDGE is not set
231# CONFIG_VLAN_8021Q is not set
232# CONFIG_DECNET is not set
233# CONFIG_LLC2 is not set
234# CONFIG_IPX is not set
235# CONFIG_ATALK is not set
236# CONFIG_X25 is not set
237# CONFIG_LAPB is not set
238# CONFIG_ECONET is not set
239# CONFIG_WAN_ROUTER is not set
240
241#
242# QoS and/or fair queueing
243#
244# CONFIG_NET_SCHED is not set
245
246#
247# Network testing
248#
249# CONFIG_NET_PKTGEN is not set
250# CONFIG_HAMRADIO is not set
251# CONFIG_IRDA is not set
252# CONFIG_BT is not set
253# CONFIG_IEEE80211 is not set
254
255#
134# Device Drivers 256# Device Drivers
135# 257#
136 258
@@ -140,6 +262,12 @@ CONFIG_BINFMT_ELF=y
140CONFIG_STANDALONE=y 262CONFIG_STANDALONE=y
141CONFIG_PREVENT_FIRMWARE_BUILD=y 263CONFIG_PREVENT_FIRMWARE_BUILD=y
142CONFIG_FW_LOADER=y 264CONFIG_FW_LOADER=y
265# CONFIG_SYS_HYPERVISOR is not set
266
267#
268# Connector - unified userspace <-> kernelspace linker
269#
270# CONFIG_CONNECTOR is not set
143 271
144# 272#
145# Memory Technology Devices (MTD) 273# Memory Technology Devices (MTD)
@@ -162,6 +290,8 @@ CONFIG_MTD_BLOCK=y
162# CONFIG_FTL is not set 290# CONFIG_FTL is not set
163# CONFIG_NFTL is not set 291# CONFIG_NFTL is not set
164# CONFIG_INFTL is not set 292# CONFIG_INFTL is not set
293# CONFIG_RFD_FTL is not set
294# CONFIG_SSFDC is not set
165 295
166# 296#
167# RAM/ROM/Flash chip drivers 297# RAM/ROM/Flash chip drivers
@@ -187,6 +317,7 @@ CONFIG_MTD_CFI_I2=y
187# Mapping drivers for chip access 317# Mapping drivers for chip access
188# 318#
189# CONFIG_MTD_COMPLEX_MAPPINGS is not set 319# CONFIG_MTD_COMPLEX_MAPPINGS is not set
320# CONFIG_MTD_PLATRAM is not set
190 321
191# 322#
192# Self-contained MTD device drivers 323# Self-contained MTD device drivers
@@ -194,7 +325,6 @@ CONFIG_MTD_CFI_I2=y
194# CONFIG_MTD_SLRAM is not set 325# CONFIG_MTD_SLRAM is not set
195# CONFIG_MTD_PHRAM is not set 326# CONFIG_MTD_PHRAM is not set
196# CONFIG_MTD_MTDRAM is not set 327# CONFIG_MTD_MTDRAM is not set
197# CONFIG_MTD_BLKMTD is not set
198# CONFIG_MTD_BLOCK2MTD is not set 328# CONFIG_MTD_BLOCK2MTD is not set
199 329
200# 330#
@@ -210,6 +340,11 @@ CONFIG_MTD_CFI_I2=y
210# CONFIG_MTD_NAND is not set 340# CONFIG_MTD_NAND is not set
211 341
212# 342#
343# OneNAND Flash Device Drivers
344#
345# CONFIG_MTD_ONENAND is not set
346
347#
213# Parallel port support 348# Parallel port support
214# 349#
215# CONFIG_PARPORT is not set 350# CONFIG_PARPORT is not set
@@ -221,7 +356,6 @@ CONFIG_MTD_CFI_I2=y
221# 356#
222# Block devices 357# Block devices
223# 358#
224# CONFIG_BLK_DEV_FD is not set
225# CONFIG_BLK_DEV_COW_COMMON is not set 359# CONFIG_BLK_DEV_COW_COMMON is not set
226CONFIG_BLK_DEV_LOOP=y 360CONFIG_BLK_DEV_LOOP=y
227# CONFIG_BLK_DEV_CRYPTOLOOP is not set 361# CONFIG_BLK_DEV_CRYPTOLOOP is not set
@@ -229,23 +363,21 @@ CONFIG_BLK_DEV_NBD=m
229CONFIG_BLK_DEV_RAM=y 363CONFIG_BLK_DEV_RAM=y
230CONFIG_BLK_DEV_RAM_COUNT=16 364CONFIG_BLK_DEV_RAM_COUNT=16
231CONFIG_BLK_DEV_RAM_SIZE=4096 365CONFIG_BLK_DEV_RAM_SIZE=4096
366CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
232CONFIG_BLK_DEV_INITRD=y 367CONFIG_BLK_DEV_INITRD=y
233CONFIG_INITRAMFS_SOURCE=""
234# CONFIG_CDROM_PKTCDVD is not set 368# CONFIG_CDROM_PKTCDVD is not set
369# CONFIG_ATA_OVER_ETH is not set
235 370
236# 371#
237# IO Schedulers 372# Misc devices
238# 373#
239CONFIG_IOSCHED_NOOP=y 374# CONFIG_TIFM_CORE is not set
240# CONFIG_IOSCHED_AS is not set
241CONFIG_IOSCHED_DEADLINE=y
242CONFIG_IOSCHED_CFQ=y
243# CONFIG_ATA_OVER_ETH is not set
244 375
245# 376#
246# ATA/ATAPI/MFM/RLL support 377# ATA/ATAPI/MFM/RLL support
247# 378#
248CONFIG_IDE=y 379CONFIG_IDE=y
380CONFIG_IDE_MAX_HWIFS=4
249CONFIG_BLK_DEV_IDE=y 381CONFIG_BLK_DEV_IDE=y
250 382
251# 383#
@@ -254,7 +386,7 @@ CONFIG_BLK_DEV_IDE=y
254# CONFIG_BLK_DEV_IDE_SATA is not set 386# CONFIG_BLK_DEV_IDE_SATA is not set
255CONFIG_BLK_DEV_IDEDISK=y 387CONFIG_BLK_DEV_IDEDISK=y
256# CONFIG_IDEDISK_MULTI_MODE is not set 388# CONFIG_IDEDISK_MULTI_MODE is not set
257CONFIG_BLK_DEV_IDECS=y 389CONFIG_BLK_DEV_IDECS=m
258CONFIG_BLK_DEV_IDECD=m 390CONFIG_BLK_DEV_IDECD=m
259# CONFIG_BLK_DEV_IDETAPE is not set 391# CONFIG_BLK_DEV_IDETAPE is not set
260# CONFIG_BLK_DEV_IDEFLOPPY is not set 392# CONFIG_BLK_DEV_IDEFLOPPY is not set
@@ -272,7 +404,13 @@ CONFIG_IDE_GENERIC=y
272# 404#
273# SCSI device support 405# SCSI device support
274# 406#
407# CONFIG_RAID_ATTRS is not set
275# CONFIG_SCSI is not set 408# CONFIG_SCSI is not set
409# CONFIG_SCSI_NETLINK is not set
410
411#
412# Serial ATA (prod) and Parallel ATA (experimental) drivers
413#
276 414
277# 415#
278# Multi-device support (RAID and LVM) 416# Multi-device support (RAID and LVM)
@@ -282,79 +420,19 @@ CONFIG_IDE_GENERIC=y
282# 420#
283# Fusion MPT device support 421# Fusion MPT device support
284# 422#
423# CONFIG_FUSION is not set
285 424
286# 425#
287# IEEE 1394 (FireWire) support 426# IEEE 1394 (FireWire) support
288# 427#
289# CONFIG_IEEE1394 is not set
290 428
291# 429#
292# I2O device support 430# I2O device support
293# 431#
294 432
295# 433#
296# Networking support 434# Network device support
297# 435#
298CONFIG_NET=y
299
300#
301# Networking options
302#
303# CONFIG_PACKET is not set
304CONFIG_UNIX=y
305# CONFIG_NET_KEY is not set
306CONFIG_INET=y
307# CONFIG_IP_MULTICAST is not set
308# CONFIG_IP_ADVANCED_ROUTER is not set
309CONFIG_IP_PNP=y
310CONFIG_IP_PNP_DHCP=y
311# CONFIG_IP_PNP_BOOTP is not set
312# CONFIG_IP_PNP_RARP is not set
313# CONFIG_NET_IPIP is not set
314# CONFIG_NET_IPGRE is not set
315# CONFIG_ARPD is not set
316# CONFIG_SYN_COOKIES is not set
317# CONFIG_INET_AH is not set
318# CONFIG_INET_ESP is not set
319# CONFIG_INET_IPCOMP is not set
320# CONFIG_INET_TUNNEL is not set
321CONFIG_IP_TCPDIAG=y
322# CONFIG_IP_TCPDIAG_IPV6 is not set
323# CONFIG_IPV6 is not set
324# CONFIG_NETFILTER is not set
325
326#
327# SCTP Configuration (EXPERIMENTAL)
328#
329# CONFIG_IP_SCTP is not set
330# CONFIG_ATM is not set
331# CONFIG_BRIDGE is not set
332# CONFIG_VLAN_8021Q is not set
333# CONFIG_DECNET is not set
334# CONFIG_LLC2 is not set
335# CONFIG_IPX is not set
336# CONFIG_ATALK is not set
337# CONFIG_X25 is not set
338# CONFIG_LAPB is not set
339# CONFIG_NET_DIVERT is not set
340# CONFIG_ECONET is not set
341# CONFIG_WAN_ROUTER is not set
342
343#
344# QoS and/or fair queueing
345#
346# CONFIG_NET_SCHED is not set
347# CONFIG_NET_CLS_ROUTE is not set
348
349#
350# Network testing
351#
352# CONFIG_NET_PKTGEN is not set
353# CONFIG_NETPOLL is not set
354# CONFIG_NET_POLL_CONTROLLER is not set
355# CONFIG_HAMRADIO is not set
356# CONFIG_IRDA is not set
357# CONFIG_BT is not set
358CONFIG_NETDEVICES=y 436CONFIG_NETDEVICES=y
359# CONFIG_DUMMY is not set 437# CONFIG_DUMMY is not set
360# CONFIG_BONDING is not set 438# CONFIG_BONDING is not set
@@ -362,6 +440,11 @@ CONFIG_NETDEVICES=y
362# CONFIG_TUN is not set 440# CONFIG_TUN is not set
363 441
364# 442#
443# PHY device support
444#
445# CONFIG_PHYLIB is not set
446
447#
365# Ethernet (10 or 100Mbit) 448# Ethernet (10 or 100Mbit)
366# 449#
367CONFIG_NET_ETHERNET=y 450CONFIG_NET_ETHERNET=y
@@ -399,6 +482,8 @@ CONFIG_SMC91X=y
399# CONFIG_SLIP is not set 482# CONFIG_SLIP is not set
400# CONFIG_SHAPER is not set 483# CONFIG_SHAPER is not set
401# CONFIG_NETCONSOLE is not set 484# CONFIG_NETCONSOLE is not set
485# CONFIG_NETPOLL is not set
486# CONFIG_NET_POLL_CONTROLLER is not set
402 487
403# 488#
404# ISDN subsystem 489# ISDN subsystem
@@ -414,6 +499,7 @@ CONFIG_SMC91X=y
414# Input device support 499# Input device support
415# 500#
416CONFIG_INPUT=y 501CONFIG_INPUT=y
502# CONFIG_INPUT_FF_MEMLESS is not set
417 503
418# 504#
419# Userland interfaces 505# Userland interfaces
@@ -445,7 +531,6 @@ CONFIG_SERIO=y
445# CONFIG_SERIO_LIBPS2 is not set 531# CONFIG_SERIO_LIBPS2 is not set
446# CONFIG_SERIO_RAW is not set 532# CONFIG_SERIO_RAW is not set
447# CONFIG_GAMEPORT is not set 533# CONFIG_GAMEPORT is not set
448CONFIG_SOUND_GAMEPORT=y
449 534
450# 535#
451# Character devices 536# Character devices
@@ -465,7 +550,6 @@ CONFIG_SERIAL_CORE=y
465CONFIG_SERIAL_CORE_CONSOLE=y 550CONFIG_SERIAL_CORE_CONSOLE=y
466CONFIG_SERIAL_M32R_SIO=y 551CONFIG_SERIAL_M32R_SIO=y
467CONFIG_SERIAL_M32R_SIO_CONSOLE=y 552CONFIG_SERIAL_M32R_SIO_CONSOLE=y
468# CONFIG_SERIAL_M32R_PLDSIO is not set
469CONFIG_UNIX98_PTYS=y 553CONFIG_UNIX98_PTYS=y
470CONFIG_LEGACY_PTYS=y 554CONFIG_LEGACY_PTYS=y
471CONFIG_LEGACY_PTY_COUNT=256 555CONFIG_LEGACY_PTY_COUNT=256
@@ -479,25 +563,27 @@ CONFIG_LEGACY_PTY_COUNT=256
479# Watchdog Cards 563# Watchdog Cards
480# 564#
481# CONFIG_WATCHDOG is not set 565# CONFIG_WATCHDOG is not set
566CONFIG_HW_RANDOM=y
482# CONFIG_RTC is not set 567# CONFIG_RTC is not set
483# CONFIG_GEN_RTC is not set
484# CONFIG_DTLK is not set 568# CONFIG_DTLK is not set
485# CONFIG_R3964 is not set 569# CONFIG_R3964 is not set
486 570
487# 571#
488# Ftape, the floppy tape device driver 572# Ftape, the floppy tape device driver
489# 573#
490# CONFIG_DRM is not set
491 574
492# 575#
493# PCMCIA character devices 576# PCMCIA character devices
494# 577#
495# CONFIG_SYNCLINK_CS is not set 578# CONFIG_SYNCLINK_CS is not set
579# CONFIG_CARDMAN_4000 is not set
580# CONFIG_CARDMAN_4040 is not set
496# CONFIG_RAW_DRIVER is not set 581# CONFIG_RAW_DRIVER is not set
497 582
498# 583#
499# TPM devices 584# TPM devices
500# 585#
586# CONFIG_TCG_TPM is not set
501 587
502# 588#
503# I2C support 589# I2C support
@@ -505,13 +591,25 @@ CONFIG_LEGACY_PTY_COUNT=256
505# CONFIG_I2C is not set 591# CONFIG_I2C is not set
506 592
507# 593#
594# SPI support
595#
596# CONFIG_SPI is not set
597# CONFIG_SPI_MASTER is not set
598
599#
508# Dallas's 1-wire bus 600# Dallas's 1-wire bus
509# 601#
510# CONFIG_W1 is not set 602# CONFIG_W1 is not set
511 603
512# 604#
513# Misc devices 605# Hardware Monitoring support
514# 606#
607CONFIG_HWMON=y
608# CONFIG_HWMON_VID is not set
609# CONFIG_SENSORS_ABITUGURU is not set
610# CONFIG_SENSORS_F71805F is not set
611# CONFIG_SENSORS_VT1211 is not set
612# CONFIG_HWMON_DEBUG_CHIP is not set
515 613
516# 614#
517# Multimedia devices 615# Multimedia devices
@@ -526,7 +624,9 @@ CONFIG_LEGACY_PTY_COUNT=256
526# 624#
527# Graphics support 625# Graphics support
528# 626#
627CONFIG_FIRMWARE_EDID=y
529# CONFIG_FB is not set 628# CONFIG_FB is not set
629# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
530 630
531# 631#
532# Sound 632# Sound
@@ -538,6 +638,11 @@ CONFIG_LEGACY_PTY_COUNT=256
538# 638#
539# CONFIG_USB_ARCH_HAS_HCD is not set 639# CONFIG_USB_ARCH_HAS_HCD is not set
540# CONFIG_USB_ARCH_HAS_OHCI is not set 640# CONFIG_USB_ARCH_HAS_OHCI is not set
641# CONFIG_USB_ARCH_HAS_EHCI is not set
642
643#
644# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
645#
541 646
542# 647#
543# USB Gadget Support 648# USB Gadget Support
@@ -550,35 +655,73 @@ CONFIG_LEGACY_PTY_COUNT=256
550# CONFIG_MMC is not set 655# CONFIG_MMC is not set
551 656
552# 657#
658# LED devices
659#
660# CONFIG_NEW_LEDS is not set
661
662#
663# LED drivers
664#
665
666#
667# LED Triggers
668#
669
670#
553# InfiniBand support 671# InfiniBand support
554# 672#
555# CONFIG_INFINIBAND is not set 673
674#
675# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
676#
677
678#
679# Real Time Clock
680#
681# CONFIG_RTC_CLASS is not set
682
683#
684# DMA Engine support
685#
686# CONFIG_DMA_ENGINE is not set
687
688#
689# DMA Clients
690#
691
692#
693# DMA Devices
694#
556 695
557# 696#
558# File systems 697# File systems
559# 698#
560CONFIG_EXT2_FS=y 699CONFIG_EXT2_FS=y
561# CONFIG_EXT2_FS_XATTR is not set 700# CONFIG_EXT2_FS_XATTR is not set
701# CONFIG_EXT2_FS_XIP is not set
562CONFIG_EXT3_FS=y 702CONFIG_EXT3_FS=y
563CONFIG_EXT3_FS_XATTR=y 703CONFIG_EXT3_FS_XATTR=y
564# CONFIG_EXT3_FS_POSIX_ACL is not set 704# CONFIG_EXT3_FS_POSIX_ACL is not set
565# CONFIG_EXT3_FS_SECURITY is not set 705# CONFIG_EXT3_FS_SECURITY is not set
706# CONFIG_EXT4DEV_FS is not set
566CONFIG_JBD=y 707CONFIG_JBD=y
567# CONFIG_JBD_DEBUG is not set 708# CONFIG_JBD_DEBUG is not set
568CONFIG_FS_MBCACHE=y 709CONFIG_FS_MBCACHE=y
569# CONFIG_REISERFS_FS is not set 710# CONFIG_REISERFS_FS is not set
570# CONFIG_JFS_FS is not set 711# CONFIG_JFS_FS is not set
571 712# CONFIG_FS_POSIX_ACL is not set
572#
573# XFS support
574#
575# CONFIG_XFS_FS is not set 713# CONFIG_XFS_FS is not set
714# CONFIG_GFS2_FS is not set
715# CONFIG_OCFS2_FS is not set
576# CONFIG_MINIX_FS is not set 716# CONFIG_MINIX_FS is not set
577CONFIG_ROMFS_FS=y 717CONFIG_ROMFS_FS=y
718CONFIG_INOTIFY=y
719CONFIG_INOTIFY_USER=y
578# CONFIG_QUOTA is not set 720# CONFIG_QUOTA is not set
579CONFIG_DNOTIFY=y 721CONFIG_DNOTIFY=y
580# CONFIG_AUTOFS_FS is not set 722# CONFIG_AUTOFS_FS is not set
581# CONFIG_AUTOFS4_FS is not set 723# CONFIG_AUTOFS4_FS is not set
724# CONFIG_FUSE_FS is not set
582 725
583# 726#
584# CD-ROM/DVD Filesystems 727# CD-ROM/DVD Filesystems
@@ -603,16 +746,13 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
603# 746#
604CONFIG_PROC_FS=y 747CONFIG_PROC_FS=y
605CONFIG_PROC_KCORE=y 748CONFIG_PROC_KCORE=y
749CONFIG_PROC_SYSCTL=y
606CONFIG_SYSFS=y 750CONFIG_SYSFS=y
607CONFIG_DEVFS_FS=y
608CONFIG_DEVFS_MOUNT=y
609# CONFIG_DEVFS_DEBUG is not set
610# CONFIG_DEVPTS_FS_XATTR is not set
611CONFIG_TMPFS=y 751CONFIG_TMPFS=y
612# CONFIG_TMPFS_XATTR is not set 752# CONFIG_TMPFS_POSIX_ACL is not set
613# CONFIG_HUGETLBFS is not set
614# CONFIG_HUGETLB_PAGE is not set 753# CONFIG_HUGETLB_PAGE is not set
615CONFIG_RAMFS=y 754CONFIG_RAMFS=y
755# CONFIG_CONFIGFS_FS is not set
616 756
617# 757#
618# Miscellaneous filesystems 758# Miscellaneous filesystems
@@ -629,8 +769,9 @@ CONFIG_JFFS_FS_VERBOSE=0
629CONFIG_JFFS_PROC_FS=y 769CONFIG_JFFS_PROC_FS=y
630CONFIG_JFFS2_FS=y 770CONFIG_JFFS2_FS=y
631CONFIG_JFFS2_FS_DEBUG=0 771CONFIG_JFFS2_FS_DEBUG=0
632# CONFIG_JFFS2_FS_NAND is not set 772CONFIG_JFFS2_FS_WRITEBUFFER=y
633# CONFIG_JFFS2_FS_NOR_ECC is not set 773# CONFIG_JFFS2_SUMMARY is not set
774# CONFIG_JFFS2_FS_XATTR is not set
634# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set 775# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
635CONFIG_JFFS2_ZLIB=y 776CONFIG_JFFS2_ZLIB=y
636CONFIG_JFFS2_RTIME=y 777CONFIG_JFFS2_RTIME=y
@@ -647,12 +788,14 @@ CONFIG_JFFS2_RTIME=y
647# 788#
648CONFIG_NFS_FS=y 789CONFIG_NFS_FS=y
649CONFIG_NFS_V3=y 790CONFIG_NFS_V3=y
791# CONFIG_NFS_V3_ACL is not set
650# CONFIG_NFS_V4 is not set 792# CONFIG_NFS_V4 is not set
651# CONFIG_NFS_DIRECTIO is not set 793# CONFIG_NFS_DIRECTIO is not set
652# CONFIG_NFSD is not set 794# CONFIG_NFSD is not set
653CONFIG_ROOT_NFS=y 795CONFIG_ROOT_NFS=y
654CONFIG_LOCKD=y 796CONFIG_LOCKD=y
655CONFIG_LOCKD_V4=y 797CONFIG_LOCKD_V4=y
798CONFIG_NFS_COMMON=y
656CONFIG_SUNRPC=y 799CONFIG_SUNRPC=y
657# CONFIG_RPCSEC_GSS_KRB5 is not set 800# CONFIG_RPCSEC_GSS_KRB5 is not set
658# CONFIG_RPCSEC_GSS_SPKM3 is not set 801# CONFIG_RPCSEC_GSS_SPKM3 is not set
@@ -661,6 +804,7 @@ CONFIG_SUNRPC=y
661# CONFIG_NCP_FS is not set 804# CONFIG_NCP_FS is not set
662# CONFIG_CODA_FS is not set 805# CONFIG_CODA_FS is not set
663# CONFIG_AFS_FS is not set 806# CONFIG_AFS_FS is not set
807# CONFIG_9P_FS is not set
664 808
665# 809#
666# Partition Types 810# Partition Types
@@ -721,10 +865,16 @@ CONFIG_NLS_DEFAULT="iso8859-1"
721# Kernel hacking 865# Kernel hacking
722# 866#
723# CONFIG_PRINTK_TIME is not set 867# CONFIG_PRINTK_TIME is not set
868CONFIG_ENABLE_MUST_CHECK=y
869# CONFIG_MAGIC_SYSRQ is not set
870# CONFIG_UNUSED_SYMBOLS is not set
724# CONFIG_DEBUG_KERNEL is not set 871# CONFIG_DEBUG_KERNEL is not set
725CONFIG_LOG_BUF_SHIFT=15 872CONFIG_LOG_BUF_SHIFT=15
726# CONFIG_DEBUG_BUGVERBOSE is not set 873# CONFIG_DEBUG_BUGVERBOSE is not set
874# CONFIG_DEBUG_FS is not set
727# CONFIG_FRAME_POINTER is not set 875# CONFIG_FRAME_POINTER is not set
876# CONFIG_UNWIND_INFO is not set
877# CONFIG_HEADERS_CHECK is not set
728 878
729# 879#
730# Security options 880# Security options
@@ -738,13 +888,10 @@ CONFIG_LOG_BUF_SHIFT=15
738# CONFIG_CRYPTO is not set 888# CONFIG_CRYPTO is not set
739 889
740# 890#
741# Hardware crypto devices
742#
743
744#
745# Library routines 891# Library routines
746# 892#
747# CONFIG_CRC_CCITT is not set 893# CONFIG_CRC_CCITT is not set
894# CONFIG_CRC16 is not set
748CONFIG_CRC32=y 895CONFIG_CRC32=y
749# CONFIG_LIBCRC32C is not set 896# CONFIG_LIBCRC32C is not set
750CONFIG_ZLIB_INFLATE=y 897CONFIG_ZLIB_INFLATE=y
diff --git a/arch/m32r/mm/fault-nommu.c b/arch/m32r/mm/fault-nommu.c
index 03fc4c858e0e..9880abac3f54 100644
--- a/arch/m32r/mm/fault-nommu.c
+++ b/arch/m32r/mm/fault-nommu.c
@@ -7,8 +7,6 @@
7 * Copyright (C) 1995 Linus Torvalds 7 * Copyright (C) 1995 Linus Torvalds
8 */ 8 */
9 9
10/* $Id: fault-nommu.c,v 1.1 2004/03/30 06:40:59 sakugawa Exp $ */
11
12#include <linux/signal.h> 10#include <linux/signal.h>
13#include <linux/sched.h> 11#include <linux/sched.h>
14#include <linux/kernel.h> 12#include <linux/kernel.h>
@@ -46,32 +44,6 @@ unsigned int tlb_entry_d_dat[NR_CPUS];
46#define tlb_entry_d tlb_entry_d_dat[smp_processor_id()] 44#define tlb_entry_d tlb_entry_d_dat[smp_processor_id()]
47#endif 45#endif
48 46
49/*
50 * Unlock any spinlocks which will prevent us from getting the
51 * message out
52 */
53void bust_spinlocks(int yes)
54{
55 int loglevel_save = console_loglevel;
56
57 if (yes) {
58 oops_in_progress = 1;
59 return;
60 }
61#ifdef CONFIG_VT
62 unblank_screen();
63#endif
64 oops_in_progress = 0;
65 /*
66 * OK, the message is on the console. Now we call printk()
67 * without oops_in_progress set so that printk will give klogd
68 * a poke. Hold onto your hats...
69 */
70 console_loglevel = 15; /* NMI oopser may have shut the console up */
71 printk(" ");
72 console_loglevel = loglevel_save;
73}
74
75void do_BUG(const char *file, int line) 47void do_BUG(const char *file, int line)
76{ 48{
77 bust_spinlocks(1); 49 bust_spinlocks(1);
@@ -161,4 +133,3 @@ void local_flush_tlb_all(void)
161{ 133{
162 BUG(); 134 BUG();
163} 135}
164
diff --git a/arch/m32r/mm/fault.c b/arch/m32r/mm/fault.c
index 9b9feb0f1610..037d58e82fb5 100644
--- a/arch/m32r/mm/fault.c
+++ b/arch/m32r/mm/fault.c
@@ -49,32 +49,6 @@ unsigned int tlb_entry_d_dat[NR_CPUS];
49 49
50extern void init_tlb(void); 50extern void init_tlb(void);
51 51
52/*
53 * Unlock any spinlocks which will prevent us from getting the
54 * message out
55 */
56void bust_spinlocks(int yes)
57{
58 int loglevel_save = console_loglevel;
59
60 if (yes) {
61 oops_in_progress = 1;
62 return;
63 }
64#ifdef CONFIG_VT
65 unblank_screen();
66#endif
67 oops_in_progress = 0;
68 /*
69 * OK, the message is on the console. Now we call printk()
70 * without oops_in_progress set so that printk will give klogd
71 * a poke. Hold onto your hats...
72 */
73 console_loglevel = 15; /* NMI oopser may have shut the console up */
74 printk(" ");
75 console_loglevel = loglevel_save;
76}
77
78/*======================================================================* 52/*======================================================================*
79 * do_page_fault() 53 * do_page_fault()
80 *======================================================================* 54 *======================================================================*
@@ -362,8 +336,10 @@ vmalloc_fault:
362 if (!pte_present(*pte_k)) 336 if (!pte_present(*pte_k))
363 goto no_context; 337 goto no_context;
364 338
365 addr = (address & PAGE_MASK) | (error_code & ACE_INSTRUCTION); 339 addr = (address & PAGE_MASK);
340 set_thread_fault_code(error_code);
366 update_mmu_cache(NULL, addr, *pte_k); 341 update_mmu_cache(NULL, addr, *pte_k);
342 set_thread_fault_code(0);
367 return; 343 return;
368 } 344 }
369} 345}
@@ -377,7 +353,7 @@ vmalloc_fault:
377void update_mmu_cache(struct vm_area_struct *vma, unsigned long vaddr, 353void update_mmu_cache(struct vm_area_struct *vma, unsigned long vaddr,
378 pte_t pte) 354 pte_t pte)
379{ 355{
380 unsigned long *entry1, *entry2; 356 volatile unsigned long *entry1, *entry2;
381 unsigned long pte_data, flags; 357 unsigned long pte_data, flags;
382 unsigned int *entry_dat; 358 unsigned int *entry_dat;
383 int inst = get_thread_fault_code() & ACE_INSTRUCTION; 359 int inst = get_thread_fault_code() & ACE_INSTRUCTION;
@@ -391,30 +367,26 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long vaddr,
391 367
392 vaddr = (vaddr & PAGE_MASK) | get_asid(); 368 vaddr = (vaddr & PAGE_MASK) | get_asid();
393 369
370 pte_data = pte_val(pte);
371
394#ifdef CONFIG_CHIP_OPSP 372#ifdef CONFIG_CHIP_OPSP
395 entry1 = (unsigned long *)ITLB_BASE; 373 entry1 = (unsigned long *)ITLB_BASE;
396 for(i = 0 ; i < NR_TLB_ENTRIES; i++) { 374 for (i = 0; i < NR_TLB_ENTRIES; i++) {
397 if(*entry1++ == vaddr) { 375 if (*entry1++ == vaddr) {
398 pte_data = pte_val(pte); 376 set_tlb_data(entry1, pte_data);
399 set_tlb_data(entry1, pte_data); 377 break;
400 break; 378 }
401 } 379 entry1++;
402 entry1++;
403 } 380 }
404 entry2 = (unsigned long *)DTLB_BASE; 381 entry2 = (unsigned long *)DTLB_BASE;
405 for(i = 0 ; i < NR_TLB_ENTRIES ; i++) { 382 for (i = 0; i < NR_TLB_ENTRIES; i++) {
406 if(*entry2++ == vaddr) { 383 if (*entry2++ == vaddr) {
407 pte_data = pte_val(pte); 384 set_tlb_data(entry2, pte_data);
408 set_tlb_data(entry2, pte_data); 385 break;
409 break; 386 }
410 } 387 entry2++;
411 entry2++;
412 } 388 }
413 local_irq_restore(flags);
414 return;
415#else 389#else
416 pte_data = pte_val(pte);
417
418 /* 390 /*
419 * Update TLB entries 391 * Update TLB entries
420 * entry1: ITLB entry address 392 * entry1: ITLB entry address
@@ -439,6 +411,7 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long vaddr,
439 "i" (MSVA_offset), "i" (MTOP_offset), "i" (MIDXI_offset) 411 "i" (MSVA_offset), "i" (MTOP_offset), "i" (MIDXI_offset)
440 : "r4", "memory" 412 : "r4", "memory"
441 ); 413 );
414#endif
442 415
443 if ((!inst && entry2 >= DTLB_END) || (inst && entry1 >= ITLB_END)) 416 if ((!inst && entry2 >= DTLB_END) || (inst && entry1 >= ITLB_END))
444 goto notfound; 417 goto notfound;
@@ -482,7 +455,6 @@ notfound:
482 set_tlb_data(entry1, pte_data); 455 set_tlb_data(entry1, pte_data);
483 456
484 goto found; 457 goto found;
485#endif
486} 458}
487 459
488/*======================================================================* 460/*======================================================================*
diff --git a/arch/m32r/mm/mmu.S b/arch/m32r/mm/mmu.S
index 9a4d40b3d6a2..8bb74b10dca7 100644
--- a/arch/m32r/mm/mmu.S
+++ b/arch/m32r/mm/mmu.S
@@ -4,8 +4,6 @@
4 * Copyright (C) 2001 by Hiroyuki Kondo 4 * Copyright (C) 2001 by Hiroyuki Kondo
5 */ 5 */
6 6
7/* $Id: mmu.S,v 1.15 2004/03/16 02:56:27 takata Exp $ */
8
9#include <linux/linkage.h> 7#include <linux/linkage.h>
10#include <asm/assembler.h> 8#include <asm/assembler.h>
11#include <asm/smp.h> 9#include <asm/smp.h>
@@ -345,5 +343,4 @@ ENTRY(m32r_otlb_entrys)
345 343
346#endif /* CONFIG_MMU */ 344#endif /* CONFIG_MMU */
347 345
348.end 346 .end
349
diff --git a/arch/m32r/oaks32r/defconfig.nommu b/arch/m32r/oaks32r/defconfig.nommu
index 3f9fe519acb2..aaa00828e0d3 100644
--- a/arch/m32r/oaks32r/defconfig.nommu
+++ b/arch/m32r/oaks32r/defconfig.nommu
@@ -1,19 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc5 3# Linux kernel version: 2.6.19
4# Fri Jun 3 16:22:04 2005 4# Tue Dec 12 12:09:17 2006
5# 5#
6CONFIG_M32R=y 6CONFIG_M32R=y
7# CONFIG_UID16 is not set
8CONFIG_GENERIC_ISA_DMA=y 7CONFIG_GENERIC_ISA_DMA=y
9CONFIG_GENERIC_HARDIRQS=y 8CONFIG_GENERIC_HARDIRQS=y
10CONFIG_GENERIC_IRQ_PROBE=y 9CONFIG_GENERIC_IRQ_PROBE=y
10CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 11
12# 12#
13# Code maturity level options 13# Code maturity level options
14# 14#
15CONFIG_EXPERIMENTAL=y 15CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_BROKEN_ON_SMP=y 16CONFIG_BROKEN_ON_SMP=y
18CONFIG_LOCK_KERNEL=y 17CONFIG_LOCK_KERNEL=y
19CONFIG_INIT_ENV_ARG_LIMIT=32 18CONFIG_INIT_ENV_ARG_LIMIT=32
@@ -22,28 +21,35 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
22# General setup 21# General setup
23# 22#
24CONFIG_LOCALVERSION="" 23CONFIG_LOCALVERSION=""
24CONFIG_LOCALVERSION_AUTO=y
25# CONFIG_SYSVIPC is not set
25# CONFIG_POSIX_MQUEUE is not set 26# CONFIG_POSIX_MQUEUE is not set
26CONFIG_BSD_PROCESS_ACCT=y 27CONFIG_BSD_PROCESS_ACCT=y
27# CONFIG_BSD_PROCESS_ACCT_V3 is not set 28# CONFIG_BSD_PROCESS_ACCT_V3 is not set
28CONFIG_SYSCTL=y 29# CONFIG_TASKSTATS is not set
30# CONFIG_UTS_NS is not set
29# CONFIG_AUDIT is not set 31# CONFIG_AUDIT is not set
30CONFIG_HOTPLUG=y
31CONFIG_KOBJECT_UEVENT=y
32# CONFIG_IKCONFIG is not set 32# CONFIG_IKCONFIG is not set
33CONFIG_SYSFS_DEPRECATED=y
34# CONFIG_RELAY is not set
35CONFIG_INITRAMFS_SOURCE=""
36# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
37CONFIG_SYSCTL=y
33CONFIG_EMBEDDED=y 38CONFIG_EMBEDDED=y
39CONFIG_SYSCTL_SYSCALL=y
34# CONFIG_KALLSYMS is not set 40# CONFIG_KALLSYMS is not set
41CONFIG_HOTPLUG=y
35CONFIG_PRINTK=y 42CONFIG_PRINTK=y
36CONFIG_BUG=y 43CONFIG_BUG=y
44CONFIG_ELF_CORE=y
37CONFIG_BASE_FULL=y 45CONFIG_BASE_FULL=y
38# CONFIG_FUTEX is not set 46# CONFIG_FUTEX is not set
39# CONFIG_EPOLL is not set 47# CONFIG_EPOLL is not set
40# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 48CONFIG_SLAB=y
41CONFIG_CC_ALIGN_FUNCTIONS=0 49CONFIG_VM_EVENT_COUNTERS=y
42CONFIG_CC_ALIGN_LABELS=0
43CONFIG_CC_ALIGN_LOOPS=0
44CONFIG_CC_ALIGN_JUMPS=0
45CONFIG_TINY_SHMEM=y 50CONFIG_TINY_SHMEM=y
46CONFIG_BASE_SMALL=0 51CONFIG_BASE_SMALL=0
52# CONFIG_SLOB is not set
47 53
48# 54#
49# Loadable module support 55# Loadable module support
@@ -51,12 +57,30 @@ CONFIG_BASE_SMALL=0
51CONFIG_MODULES=y 57CONFIG_MODULES=y
52CONFIG_MODULE_UNLOAD=y 58CONFIG_MODULE_UNLOAD=y
53# CONFIG_MODULE_FORCE_UNLOAD is not set 59# CONFIG_MODULE_FORCE_UNLOAD is not set
54CONFIG_OBSOLETE_MODPARM=y
55# CONFIG_MODVERSIONS is not set 60# CONFIG_MODVERSIONS is not set
56# CONFIG_MODULE_SRCVERSION_ALL is not set 61# CONFIG_MODULE_SRCVERSION_ALL is not set
57CONFIG_KMOD=y 62CONFIG_KMOD=y
58 63
59# 64#
65# Block layer
66#
67CONFIG_BLOCK=y
68# CONFIG_BLK_DEV_IO_TRACE is not set
69
70#
71# IO Schedulers
72#
73CONFIG_IOSCHED_NOOP=y
74# CONFIG_IOSCHED_AS is not set
75CONFIG_IOSCHED_DEADLINE=y
76CONFIG_IOSCHED_CFQ=y
77# CONFIG_DEFAULT_AS is not set
78# CONFIG_DEFAULT_DEADLINE is not set
79CONFIG_DEFAULT_CFQ=y
80# CONFIG_DEFAULT_NOOP is not set
81CONFIG_DEFAULT_IOSCHED="cfq"
82
83#
60# Processor type and features 84# Processor type and features
61# 85#
62# CONFIG_PLAT_MAPPI is not set 86# CONFIG_PLAT_MAPPI is not set
@@ -66,8 +90,10 @@ CONFIG_KMOD=y
66CONFIG_PLAT_OAKS32R=y 90CONFIG_PLAT_OAKS32R=y
67# CONFIG_PLAT_MAPPI2 is not set 91# CONFIG_PLAT_MAPPI2 is not set
68# CONFIG_PLAT_MAPPI3 is not set 92# CONFIG_PLAT_MAPPI3 is not set
93# CONFIG_PLAT_M32104UT is not set
69# CONFIG_CHIP_M32700 is not set 94# CONFIG_CHIP_M32700 is not set
70CONFIG_CHIP_M32102=y 95CONFIG_CHIP_M32102=y
96# CONFIG_CHIP_M32104 is not set
71# CONFIG_CHIP_VDEC2 is not set 97# CONFIG_CHIP_VDEC2 is not set
72# CONFIG_CHIP_OPSP is not set 98# CONFIG_CHIP_OPSP is not set
73CONFIG_ISA_M32R=y 99CONFIG_ISA_M32R=y
@@ -77,18 +103,31 @@ CONFIG_TIMER_DIVIDE=128
77CONFIG_MEMORY_START=0x01000000 103CONFIG_MEMORY_START=0x01000000
78CONFIG_MEMORY_SIZE=0x00800000 104CONFIG_MEMORY_SIZE=0x00800000
79CONFIG_NOHIGHMEM=y 105CONFIG_NOHIGHMEM=y
80# CONFIG_DISCONTIGMEM is not set 106CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
107CONFIG_SELECT_MEMORY_MODEL=y
108# CONFIG_FLATMEM_MANUAL is not set
109CONFIG_DISCONTIGMEM_MANUAL=y
110# CONFIG_SPARSEMEM_MANUAL is not set
111CONFIG_DISCONTIGMEM=y
112CONFIG_FLAT_NODE_MEM_MAP=y
113CONFIG_NEED_MULTIPLE_NODES=y
114# CONFIG_SPARSEMEM_STATIC is not set
115CONFIG_SPLIT_PTLOCK_CPUS=4
116# CONFIG_RESOURCES_64BIT is not set
117CONFIG_IRAM_START=0x00f00000
118CONFIG_IRAM_SIZE=0x00010000
81CONFIG_RWSEM_GENERIC_SPINLOCK=y 119CONFIG_RWSEM_GENERIC_SPINLOCK=y
82# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set 120# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
121CONFIG_GENERIC_FIND_NEXT_BIT=y
122CONFIG_GENERIC_HWEIGHT=y
83CONFIG_GENERIC_CALIBRATE_DELAY=y 123CONFIG_GENERIC_CALIBRATE_DELAY=y
84CONFIG_PREEMPT=y 124CONFIG_PREEMPT=y
85# CONFIG_HAVE_DEC_LOCK is not set
86# CONFIG_SMP is not set 125# CONFIG_SMP is not set
126CONFIG_NODES_SHIFT=1
87 127
88# 128#
89# Bus options (PCI, PCMCIA, EISA, MCA, ISA) 129# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
90# 130#
91# CONFIG_PCI is not set
92# CONFIG_ISA is not set 131# CONFIG_ISA is not set
93 132
94# 133#
@@ -109,6 +148,94 @@ CONFIG_BINFMT_FLAT=y
109# CONFIG_BINFMT_MISC is not set 148# CONFIG_BINFMT_MISC is not set
110 149
111# 150#
151# Networking
152#
153CONFIG_NET=y
154
155#
156# Networking options
157#
158# CONFIG_NETDEBUG is not set
159CONFIG_PACKET=y
160# CONFIG_PACKET_MMAP is not set
161CONFIG_UNIX=y
162CONFIG_XFRM=y
163# CONFIG_XFRM_USER is not set
164# CONFIG_XFRM_SUB_POLICY is not set
165# CONFIG_NET_KEY is not set
166CONFIG_INET=y
167# CONFIG_IP_MULTICAST is not set
168# CONFIG_IP_ADVANCED_ROUTER is not set
169CONFIG_IP_FIB_HASH=y
170CONFIG_IP_PNP=y
171CONFIG_IP_PNP_DHCP=y
172# CONFIG_IP_PNP_BOOTP is not set
173# CONFIG_IP_PNP_RARP is not set
174# CONFIG_NET_IPIP is not set
175# CONFIG_NET_IPGRE is not set
176# CONFIG_ARPD is not set
177# CONFIG_SYN_COOKIES is not set
178# CONFIG_INET_AH is not set
179# CONFIG_INET_ESP is not set
180# CONFIG_INET_IPCOMP is not set
181# CONFIG_INET_XFRM_TUNNEL is not set
182# CONFIG_INET_TUNNEL is not set
183CONFIG_INET_XFRM_MODE_TRANSPORT=y
184CONFIG_INET_XFRM_MODE_TUNNEL=y
185CONFIG_INET_XFRM_MODE_BEET=y
186CONFIG_INET_DIAG=y
187CONFIG_INET_TCP_DIAG=y
188# CONFIG_TCP_CONG_ADVANCED is not set
189CONFIG_TCP_CONG_CUBIC=y
190CONFIG_DEFAULT_TCP_CONG="cubic"
191# CONFIG_TCP_MD5SIG is not set
192# CONFIG_IPV6 is not set
193# CONFIG_INET6_XFRM_TUNNEL is not set
194# CONFIG_INET6_TUNNEL is not set
195# CONFIG_NETWORK_SECMARK is not set
196# CONFIG_NETFILTER is not set
197
198#
199# DCCP Configuration (EXPERIMENTAL)
200#
201# CONFIG_IP_DCCP is not set
202
203#
204# SCTP Configuration (EXPERIMENTAL)
205#
206# CONFIG_IP_SCTP is not set
207
208#
209# TIPC Configuration (EXPERIMENTAL)
210#
211# CONFIG_TIPC is not set
212# CONFIG_ATM is not set
213# CONFIG_BRIDGE is not set
214# CONFIG_VLAN_8021Q is not set
215# CONFIG_DECNET is not set
216# CONFIG_LLC2 is not set
217# CONFIG_IPX is not set
218# CONFIG_ATALK is not set
219# CONFIG_X25 is not set
220# CONFIG_LAPB is not set
221# CONFIG_ECONET is not set
222# CONFIG_WAN_ROUTER is not set
223
224#
225# QoS and/or fair queueing
226#
227# CONFIG_NET_SCHED is not set
228
229#
230# Network testing
231#
232# CONFIG_NET_PKTGEN is not set
233# CONFIG_HAMRADIO is not set
234# CONFIG_IRDA is not set
235# CONFIG_BT is not set
236# CONFIG_IEEE80211 is not set
237
238#
112# Device Drivers 239# Device Drivers
113# 240#
114 241
@@ -118,6 +245,12 @@ CONFIG_BINFMT_FLAT=y
118CONFIG_STANDALONE=y 245CONFIG_STANDALONE=y
119CONFIG_PREVENT_FIRMWARE_BUILD=y 246CONFIG_PREVENT_FIRMWARE_BUILD=y
120# CONFIG_FW_LOADER is not set 247# CONFIG_FW_LOADER is not set
248# CONFIG_SYS_HYPERVISOR is not set
249
250#
251# Connector - unified userspace <-> kernelspace linker
252#
253# CONFIG_CONNECTOR is not set
121 254
122# 255#
123# Memory Technology Devices (MTD) 256# Memory Technology Devices (MTD)
@@ -136,7 +269,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
136# 269#
137# Block devices 270# Block devices
138# 271#
139# CONFIG_BLK_DEV_FD is not set
140# CONFIG_BLK_DEV_COW_COMMON is not set 272# CONFIG_BLK_DEV_COW_COMMON is not set
141CONFIG_BLK_DEV_LOOP=y 273CONFIG_BLK_DEV_LOOP=y
142# CONFIG_BLK_DEV_CRYPTOLOOP is not set 274# CONFIG_BLK_DEV_CRYPTOLOOP is not set
@@ -144,18 +276,15 @@ CONFIG_BLK_DEV_NBD=y
144CONFIG_BLK_DEV_RAM=y 276CONFIG_BLK_DEV_RAM=y
145CONFIG_BLK_DEV_RAM_COUNT=16 277CONFIG_BLK_DEV_RAM_COUNT=16
146CONFIG_BLK_DEV_RAM_SIZE=4096 278CONFIG_BLK_DEV_RAM_SIZE=4096
279CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
147# CONFIG_BLK_DEV_INITRD is not set 280# CONFIG_BLK_DEV_INITRD is not set
148CONFIG_INITRAMFS_SOURCE=""
149# CONFIG_CDROM_PKTCDVD is not set 281# CONFIG_CDROM_PKTCDVD is not set
282# CONFIG_ATA_OVER_ETH is not set
150 283
151# 284#
152# IO Schedulers 285# Misc devices
153# 286#
154CONFIG_IOSCHED_NOOP=y 287# CONFIG_TIFM_CORE is not set
155# CONFIG_IOSCHED_AS is not set
156CONFIG_IOSCHED_DEADLINE=y
157CONFIG_IOSCHED_CFQ=y
158# CONFIG_ATA_OVER_ETH is not set
159 288
160# 289#
161# ATA/ATAPI/MFM/RLL support 290# ATA/ATAPI/MFM/RLL support
@@ -165,7 +294,13 @@ CONFIG_IOSCHED_CFQ=y
165# 294#
166# SCSI device support 295# SCSI device support
167# 296#
297# CONFIG_RAID_ATTRS is not set
168# CONFIG_SCSI is not set 298# CONFIG_SCSI is not set
299# CONFIG_SCSI_NETLINK is not set
300
301#
302# Serial ATA (prod) and Parallel ATA (experimental) drivers
303#
169 304
170# 305#
171# Multi-device support (RAID and LVM) 306# Multi-device support (RAID and LVM)
@@ -175,6 +310,7 @@ CONFIG_IOSCHED_CFQ=y
175# 310#
176# Fusion MPT device support 311# Fusion MPT device support
177# 312#
313# CONFIG_FUSION is not set
178 314
179# 315#
180# IEEE 1394 (FireWire) support 316# IEEE 1394 (FireWire) support
@@ -185,69 +321,8 @@ CONFIG_IOSCHED_CFQ=y
185# 321#
186 322
187# 323#
188# Networking support 324# Network device support
189#
190CONFIG_NET=y
191
192#
193# Networking options
194#
195CONFIG_PACKET=y
196# CONFIG_PACKET_MMAP is not set
197CONFIG_UNIX=y
198# CONFIG_NET_KEY is not set
199CONFIG_INET=y
200# CONFIG_IP_MULTICAST is not set
201# CONFIG_IP_ADVANCED_ROUTER is not set
202CONFIG_IP_PNP=y
203CONFIG_IP_PNP_DHCP=y
204# CONFIG_IP_PNP_BOOTP is not set
205# CONFIG_IP_PNP_RARP is not set
206# CONFIG_NET_IPIP is not set
207# CONFIG_NET_IPGRE is not set
208# CONFIG_ARPD is not set
209# CONFIG_SYN_COOKIES is not set
210# CONFIG_INET_AH is not set
211# CONFIG_INET_ESP is not set
212# CONFIG_INET_IPCOMP is not set
213# CONFIG_INET_TUNNEL is not set
214CONFIG_IP_TCPDIAG=y
215# CONFIG_IP_TCPDIAG_IPV6 is not set
216# CONFIG_IPV6 is not set
217# CONFIG_NETFILTER is not set
218
219#
220# SCTP Configuration (EXPERIMENTAL)
221#
222# CONFIG_IP_SCTP is not set
223# CONFIG_ATM is not set
224# CONFIG_BRIDGE is not set
225# CONFIG_VLAN_8021Q is not set
226# CONFIG_DECNET is not set
227# CONFIG_LLC2 is not set
228# CONFIG_IPX is not set
229# CONFIG_ATALK is not set
230# CONFIG_X25 is not set
231# CONFIG_LAPB is not set
232# CONFIG_NET_DIVERT is not set
233# CONFIG_ECONET is not set
234# CONFIG_WAN_ROUTER is not set
235
236#
237# QoS and/or fair queueing
238#
239# CONFIG_NET_SCHED is not set
240# CONFIG_NET_CLS_ROUTE is not set
241
242#
243# Network testing
244# 325#
245# CONFIG_NET_PKTGEN is not set
246# CONFIG_NETPOLL is not set
247# CONFIG_NET_POLL_CONTROLLER is not set
248# CONFIG_HAMRADIO is not set
249# CONFIG_IRDA is not set
250# CONFIG_BT is not set
251CONFIG_NETDEVICES=y 326CONFIG_NETDEVICES=y
252# CONFIG_DUMMY is not set 327# CONFIG_DUMMY is not set
253# CONFIG_BONDING is not set 328# CONFIG_BONDING is not set
@@ -255,6 +330,10 @@ CONFIG_NETDEVICES=y
255# CONFIG_TUN is not set 330# CONFIG_TUN is not set
256 331
257# 332#
333# PHY device support
334#
335
336#
258# Ethernet (10 or 100Mbit) 337# Ethernet (10 or 100Mbit)
259# 338#
260# CONFIG_NET_ETHERNET is not set 339# CONFIG_NET_ETHERNET is not set
@@ -285,6 +364,8 @@ CONFIG_NE2000=y
285# CONFIG_SLIP is not set 364# CONFIG_SLIP is not set
286# CONFIG_SHAPER is not set 365# CONFIG_SHAPER is not set
287# CONFIG_NETCONSOLE is not set 366# CONFIG_NETCONSOLE is not set
367# CONFIG_NETPOLL is not set
368# CONFIG_NET_POLL_CONTROLLER is not set
288 369
289# 370#
290# ISDN subsystem 371# ISDN subsystem
@@ -300,6 +381,7 @@ CONFIG_NE2000=y
300# Input device support 381# Input device support
301# 382#
302CONFIG_INPUT=y 383CONFIG_INPUT=y
384# CONFIG_INPUT_FF_MEMLESS is not set
303 385
304# 386#
305# Userland interfaces 387# Userland interfaces
@@ -328,7 +410,6 @@ CONFIG_SERIO_SERPORT=y
328# CONFIG_SERIO_LIBPS2 is not set 410# CONFIG_SERIO_LIBPS2 is not set
329# CONFIG_SERIO_RAW is not set 411# CONFIG_SERIO_RAW is not set
330# CONFIG_GAMEPORT is not set 412# CONFIG_GAMEPORT is not set
331CONFIG_SOUND_GAMEPORT=y
332 413
333# 414#
334# Character devices 415# Character devices
@@ -348,7 +429,6 @@ CONFIG_SERIAL_CORE=y
348CONFIG_SERIAL_CORE_CONSOLE=y 429CONFIG_SERIAL_CORE_CONSOLE=y
349CONFIG_SERIAL_M32R_SIO=y 430CONFIG_SERIAL_M32R_SIO=y
350CONFIG_SERIAL_M32R_SIO_CONSOLE=y 431CONFIG_SERIAL_M32R_SIO_CONSOLE=y
351# CONFIG_SERIAL_M32R_PLDSIO is not set
352CONFIG_UNIX98_PTYS=y 432CONFIG_UNIX98_PTYS=y
353CONFIG_LEGACY_PTYS=y 433CONFIG_LEGACY_PTYS=y
354CONFIG_LEGACY_PTY_COUNT=256 434CONFIG_LEGACY_PTY_COUNT=256
@@ -362,20 +442,20 @@ CONFIG_LEGACY_PTY_COUNT=256
362# Watchdog Cards 442# Watchdog Cards
363# 443#
364# CONFIG_WATCHDOG is not set 444# CONFIG_WATCHDOG is not set
445CONFIG_HW_RANDOM=y
365# CONFIG_RTC is not set 446# CONFIG_RTC is not set
366# CONFIG_GEN_RTC is not set
367# CONFIG_DTLK is not set 447# CONFIG_DTLK is not set
368# CONFIG_R3964 is not set 448# CONFIG_R3964 is not set
369 449
370# 450#
371# Ftape, the floppy tape device driver 451# Ftape, the floppy tape device driver
372# 452#
373# CONFIG_DRM is not set
374# CONFIG_RAW_DRIVER is not set 453# CONFIG_RAW_DRIVER is not set
375 454
376# 455#
377# TPM devices 456# TPM devices
378# 457#
458# CONFIG_TCG_TPM is not set
379 459
380# 460#
381# I2C support 461# I2C support
@@ -383,13 +463,25 @@ CONFIG_LEGACY_PTY_COUNT=256
383# CONFIG_I2C is not set 463# CONFIG_I2C is not set
384 464
385# 465#
466# SPI support
467#
468# CONFIG_SPI is not set
469# CONFIG_SPI_MASTER is not set
470
471#
386# Dallas's 1-wire bus 472# Dallas's 1-wire bus
387# 473#
388# CONFIG_W1 is not set 474# CONFIG_W1 is not set
389 475
390# 476#
391# Misc devices 477# Hardware Monitoring support
392# 478#
479CONFIG_HWMON=y
480# CONFIG_HWMON_VID is not set
481# CONFIG_SENSORS_ABITUGURU is not set
482# CONFIG_SENSORS_F71805F is not set
483# CONFIG_SENSORS_VT1211 is not set
484# CONFIG_HWMON_DEBUG_CHIP is not set
393 485
394# 486#
395# Multimedia devices 487# Multimedia devices
@@ -404,7 +496,9 @@ CONFIG_LEGACY_PTY_COUNT=256
404# 496#
405# Graphics support 497# Graphics support
406# 498#
499CONFIG_FIRMWARE_EDID=y
407# CONFIG_FB is not set 500# CONFIG_FB is not set
501# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
408 502
409# 503#
410# Sound 504# Sound
@@ -416,6 +510,11 @@ CONFIG_LEGACY_PTY_COUNT=256
416# 510#
417# CONFIG_USB_ARCH_HAS_HCD is not set 511# CONFIG_USB_ARCH_HAS_HCD is not set
418# CONFIG_USB_ARCH_HAS_OHCI is not set 512# CONFIG_USB_ARCH_HAS_OHCI is not set
513# CONFIG_USB_ARCH_HAS_EHCI is not set
514
515#
516# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
517#
419 518
420# 519#
421# USB Gadget Support 520# USB Gadget Support
@@ -428,9 +527,43 @@ CONFIG_LEGACY_PTY_COUNT=256
428# CONFIG_MMC is not set 527# CONFIG_MMC is not set
429 528
430# 529#
530# LED devices
531#
532# CONFIG_NEW_LEDS is not set
533
534#
535# LED drivers
536#
537
538#
539# LED Triggers
540#
541
542#
431# InfiniBand support 543# InfiniBand support
432# 544#
433# CONFIG_INFINIBAND is not set 545
546#
547# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
548#
549
550#
551# Real Time Clock
552#
553# CONFIG_RTC_CLASS is not set
554
555#
556# DMA Engine support
557#
558# CONFIG_DMA_ENGINE is not set
559
560#
561# DMA Clients
562#
563
564#
565# DMA Devices
566#
434 567
435# 568#
436# File systems 569# File systems
@@ -438,20 +571,22 @@ CONFIG_LEGACY_PTY_COUNT=256
438CONFIG_EXT2_FS=y 571CONFIG_EXT2_FS=y
439# CONFIG_EXT2_FS_XATTR is not set 572# CONFIG_EXT2_FS_XATTR is not set
440# CONFIG_EXT3_FS is not set 573# CONFIG_EXT3_FS is not set
441# CONFIG_JBD is not set 574# CONFIG_EXT4DEV_FS is not set
442# CONFIG_REISERFS_FS is not set 575# CONFIG_REISERFS_FS is not set
443# CONFIG_JFS_FS is not set 576# CONFIG_JFS_FS is not set
444 577# CONFIG_FS_POSIX_ACL is not set
445#
446# XFS support
447#
448# CONFIG_XFS_FS is not set 578# CONFIG_XFS_FS is not set
579# CONFIG_GFS2_FS is not set
580# CONFIG_OCFS2_FS is not set
449# CONFIG_MINIX_FS is not set 581# CONFIG_MINIX_FS is not set
450# CONFIG_ROMFS_FS is not set 582# CONFIG_ROMFS_FS is not set
583CONFIG_INOTIFY=y
584CONFIG_INOTIFY_USER=y
451# CONFIG_QUOTA is not set 585# CONFIG_QUOTA is not set
452CONFIG_DNOTIFY=y 586CONFIG_DNOTIFY=y
453# CONFIG_AUTOFS_FS is not set 587# CONFIG_AUTOFS_FS is not set
454# CONFIG_AUTOFS4_FS is not set 588# CONFIG_AUTOFS4_FS is not set
589# CONFIG_FUSE_FS is not set
455 590
456# 591#
457# CD-ROM/DVD Filesystems 592# CD-ROM/DVD Filesystems
@@ -470,13 +605,12 @@ CONFIG_DNOTIFY=y
470# Pseudo filesystems 605# Pseudo filesystems
471# 606#
472CONFIG_PROC_FS=y 607CONFIG_PROC_FS=y
608CONFIG_PROC_SYSCTL=y
473CONFIG_SYSFS=y 609CONFIG_SYSFS=y
474# CONFIG_DEVFS_FS is not set
475CONFIG_DEVPTS_FS_XATTR=y
476CONFIG_DEVPTS_FS_SECURITY=y
477# CONFIG_TMPFS is not set 610# CONFIG_TMPFS is not set
478# CONFIG_HUGETLB_PAGE is not set 611# CONFIG_HUGETLB_PAGE is not set
479CONFIG_RAMFS=y 612CONFIG_RAMFS=y
613# CONFIG_CONFIGFS_FS is not set
480 614
481# 615#
482# Miscellaneous filesystems 616# Miscellaneous filesystems
@@ -500,12 +634,14 @@ CONFIG_RAMFS=y
500# 634#
501CONFIG_NFS_FS=y 635CONFIG_NFS_FS=y
502CONFIG_NFS_V3=y 636CONFIG_NFS_V3=y
637# CONFIG_NFS_V3_ACL is not set
503# CONFIG_NFS_V4 is not set 638# CONFIG_NFS_V4 is not set
504# CONFIG_NFS_DIRECTIO is not set 639# CONFIG_NFS_DIRECTIO is not set
505# CONFIG_NFSD is not set 640# CONFIG_NFSD is not set
506CONFIG_ROOT_NFS=y 641CONFIG_ROOT_NFS=y
507CONFIG_LOCKD=y 642CONFIG_LOCKD=y
508CONFIG_LOCKD_V4=y 643CONFIG_LOCKD_V4=y
644CONFIG_NFS_COMMON=y
509CONFIG_SUNRPC=y 645CONFIG_SUNRPC=y
510# CONFIG_RPCSEC_GSS_KRB5 is not set 646# CONFIG_RPCSEC_GSS_KRB5 is not set
511# CONFIG_RPCSEC_GSS_SPKM3 is not set 647# CONFIG_RPCSEC_GSS_SPKM3 is not set
@@ -514,6 +650,7 @@ CONFIG_SUNRPC=y
514# CONFIG_NCP_FS is not set 650# CONFIG_NCP_FS is not set
515# CONFIG_CODA_FS is not set 651# CONFIG_CODA_FS is not set
516# CONFIG_AFS_FS is not set 652# CONFIG_AFS_FS is not set
653# CONFIG_9P_FS is not set
517 654
518# 655#
519# Partition Types 656# Partition Types
@@ -574,10 +711,16 @@ CONFIG_NLS_DEFAULT="iso8859-1"
574# Kernel hacking 711# Kernel hacking
575# 712#
576# CONFIG_PRINTK_TIME is not set 713# CONFIG_PRINTK_TIME is not set
714CONFIG_ENABLE_MUST_CHECK=y
715# CONFIG_MAGIC_SYSRQ is not set
716# CONFIG_UNUSED_SYMBOLS is not set
577# CONFIG_DEBUG_KERNEL is not set 717# CONFIG_DEBUG_KERNEL is not set
578CONFIG_LOG_BUF_SHIFT=14 718CONFIG_LOG_BUF_SHIFT=14
579# CONFIG_DEBUG_BUGVERBOSE is not set 719# CONFIG_DEBUG_BUGVERBOSE is not set
720# CONFIG_DEBUG_FS is not set
580# CONFIG_FRAME_POINTER is not set 721# CONFIG_FRAME_POINTER is not set
722# CONFIG_UNWIND_INFO is not set
723# CONFIG_HEADERS_CHECK is not set
581 724
582# 725#
583# Security options 726# Security options
@@ -591,12 +734,9 @@ CONFIG_LOG_BUF_SHIFT=14
591# CONFIG_CRYPTO is not set 734# CONFIG_CRYPTO is not set
592 735
593# 736#
594# Hardware crypto devices
595#
596
597#
598# Library routines 737# Library routines
599# 738#
600# CONFIG_CRC_CCITT is not set 739# CONFIG_CRC_CCITT is not set
740# CONFIG_CRC16 is not set
601CONFIG_CRC32=y 741CONFIG_CRC32=y
602# CONFIG_LIBCRC32C is not set 742# CONFIG_LIBCRC32C is not set
diff --git a/arch/m32r/opsput/defconfig.opsput b/arch/m32r/opsput/defconfig.opsput
index 66adec6a701a..461f95e72d17 100644
--- a/arch/m32r/opsput/defconfig.opsput
+++ b/arch/m32r/opsput/defconfig.opsput
@@ -1,19 +1,18 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc5 3# Linux kernel version: 2.6.19
4# Fri Jun 3 16:22:06 2005 4# Wed Dec 13 18:34:36 2006
5# 5#
6CONFIG_M32R=y 6CONFIG_M32R=y
7# CONFIG_UID16 is not set
8CONFIG_GENERIC_ISA_DMA=y 7CONFIG_GENERIC_ISA_DMA=y
9CONFIG_GENERIC_HARDIRQS=y 8CONFIG_GENERIC_HARDIRQS=y
10CONFIG_GENERIC_IRQ_PROBE=y 9CONFIG_GENERIC_IRQ_PROBE=y
10CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
11 11
12# 12#
13# Code maturity level options 13# Code maturity level options
14# 14#
15CONFIG_EXPERIMENTAL=y 15CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_BROKEN_ON_SMP=y 16CONFIG_BROKEN_ON_SMP=y
18CONFIG_INIT_ENV_ARG_LIMIT=32 17CONFIG_INIT_ENV_ARG_LIMIT=32
19 18
@@ -21,32 +20,39 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
21# General setup 20# General setup
22# 21#
23CONFIG_LOCALVERSION="" 22CONFIG_LOCALVERSION=""
23CONFIG_LOCALVERSION_AUTO=y
24CONFIG_SWAP=y 24CONFIG_SWAP=y
25CONFIG_SYSVIPC=y 25CONFIG_SYSVIPC=y
26# CONFIG_IPC_NS is not set
26# CONFIG_POSIX_MQUEUE is not set 27# CONFIG_POSIX_MQUEUE is not set
27CONFIG_BSD_PROCESS_ACCT=y 28CONFIG_BSD_PROCESS_ACCT=y
28# CONFIG_BSD_PROCESS_ACCT_V3 is not set 29# CONFIG_BSD_PROCESS_ACCT_V3 is not set
29CONFIG_SYSCTL=y 30# CONFIG_TASKSTATS is not set
31# CONFIG_UTS_NS is not set
30# CONFIG_AUDIT is not set 32# CONFIG_AUDIT is not set
31CONFIG_HOTPLUG=y
32CONFIG_KOBJECT_UEVENT=y
33CONFIG_IKCONFIG=y 33CONFIG_IKCONFIG=y
34# CONFIG_IKCONFIG_PROC is not set 34# CONFIG_IKCONFIG_PROC is not set
35CONFIG_SYSFS_DEPRECATED=y
36# CONFIG_RELAY is not set
37CONFIG_INITRAMFS_SOURCE=""
38# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
39CONFIG_SYSCTL=y
35CONFIG_EMBEDDED=y 40CONFIG_EMBEDDED=y
41CONFIG_SYSCTL_SYSCALL=y
36# CONFIG_KALLSYMS is not set 42# CONFIG_KALLSYMS is not set
43CONFIG_HOTPLUG=y
37CONFIG_PRINTK=y 44CONFIG_PRINTK=y
38CONFIG_BUG=y 45CONFIG_BUG=y
46CONFIG_ELF_CORE=y
39CONFIG_BASE_FULL=y 47CONFIG_BASE_FULL=y
40# CONFIG_FUTEX is not set 48# CONFIG_FUTEX is not set
41# CONFIG_EPOLL is not set 49# CONFIG_EPOLL is not set
42# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
43CONFIG_SHMEM=y 50CONFIG_SHMEM=y
44CONFIG_CC_ALIGN_FUNCTIONS=0 51CONFIG_SLAB=y
45CONFIG_CC_ALIGN_LABELS=0 52CONFIG_VM_EVENT_COUNTERS=y
46CONFIG_CC_ALIGN_LOOPS=0
47CONFIG_CC_ALIGN_JUMPS=0
48# CONFIG_TINY_SHMEM is not set 53# CONFIG_TINY_SHMEM is not set
49CONFIG_BASE_SMALL=0 54CONFIG_BASE_SMALL=0
55# CONFIG_SLOB is not set
50 56
51# 57#
52# Loadable module support 58# Loadable module support
@@ -54,12 +60,30 @@ CONFIG_BASE_SMALL=0
54CONFIG_MODULES=y 60CONFIG_MODULES=y
55CONFIG_MODULE_UNLOAD=y 61CONFIG_MODULE_UNLOAD=y
56# CONFIG_MODULE_FORCE_UNLOAD is not set 62# CONFIG_MODULE_FORCE_UNLOAD is not set
57CONFIG_OBSOLETE_MODPARM=y
58# CONFIG_MODVERSIONS is not set 63# CONFIG_MODVERSIONS is not set
59# CONFIG_MODULE_SRCVERSION_ALL is not set 64# CONFIG_MODULE_SRCVERSION_ALL is not set
60CONFIG_KMOD=y 65CONFIG_KMOD=y
61 66
62# 67#
68# Block layer
69#
70CONFIG_BLOCK=y
71# CONFIG_BLK_DEV_IO_TRACE is not set
72
73#
74# IO Schedulers
75#
76CONFIG_IOSCHED_NOOP=y
77# CONFIG_IOSCHED_AS is not set
78CONFIG_IOSCHED_DEADLINE=y
79CONFIG_IOSCHED_CFQ=y
80# CONFIG_DEFAULT_AS is not set
81# CONFIG_DEFAULT_DEADLINE is not set
82CONFIG_DEFAULT_CFQ=y
83# CONFIG_DEFAULT_NOOP is not set
84CONFIG_DEFAULT_IOSCHED="cfq"
85
86#
63# Processor type and features 87# Processor type and features
64# 88#
65# CONFIG_PLAT_MAPPI is not set 89# CONFIG_PLAT_MAPPI is not set
@@ -69,8 +93,10 @@ CONFIG_PLAT_OPSPUT=y
69# CONFIG_PLAT_OAKS32R is not set 93# CONFIG_PLAT_OAKS32R is not set
70# CONFIG_PLAT_MAPPI2 is not set 94# CONFIG_PLAT_MAPPI2 is not set
71# CONFIG_PLAT_MAPPI3 is not set 95# CONFIG_PLAT_MAPPI3 is not set
96# CONFIG_PLAT_M32104UT is not set
72# CONFIG_CHIP_M32700 is not set 97# CONFIG_CHIP_M32700 is not set
73# CONFIG_CHIP_M32102 is not set 98# CONFIG_CHIP_M32102 is not set
99# CONFIG_CHIP_M32104 is not set
74# CONFIG_CHIP_VDEC2 is not set 100# CONFIG_CHIP_VDEC2 is not set
75CONFIG_CHIP_OPSP=y 101CONFIG_CHIP_OPSP=y
76CONFIG_MMU=y 102CONFIG_MMU=y
@@ -84,17 +110,31 @@ CONFIG_TIMER_DIVIDE=128
84CONFIG_MEMORY_START=0x08000000 110CONFIG_MEMORY_START=0x08000000
85CONFIG_MEMORY_SIZE=0x01000000 111CONFIG_MEMORY_SIZE=0x01000000
86CONFIG_NOHIGHMEM=y 112CONFIG_NOHIGHMEM=y
87# CONFIG_DISCONTIGMEM is not set 113CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
114CONFIG_SELECT_MEMORY_MODEL=y
115# CONFIG_FLATMEM_MANUAL is not set
116CONFIG_DISCONTIGMEM_MANUAL=y
117# CONFIG_SPARSEMEM_MANUAL is not set
118CONFIG_DISCONTIGMEM=y
119CONFIG_FLAT_NODE_MEM_MAP=y
120CONFIG_NEED_MULTIPLE_NODES=y
121# CONFIG_SPARSEMEM_STATIC is not set
122CONFIG_SPLIT_PTLOCK_CPUS=4
123# CONFIG_RESOURCES_64BIT is not set
124CONFIG_IRAM_START=0x00f00000
125CONFIG_IRAM_SIZE=0x00010000
88CONFIG_RWSEM_GENERIC_SPINLOCK=y 126CONFIG_RWSEM_GENERIC_SPINLOCK=y
89# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set 127# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
128CONFIG_GENERIC_FIND_NEXT_BIT=y
129CONFIG_GENERIC_HWEIGHT=y
90CONFIG_GENERIC_CALIBRATE_DELAY=y 130CONFIG_GENERIC_CALIBRATE_DELAY=y
91# CONFIG_PREEMPT is not set 131# CONFIG_PREEMPT is not set
92# CONFIG_SMP is not set 132# CONFIG_SMP is not set
133CONFIG_NODES_SHIFT=1
93 134
94# 135#
95# Bus options (PCI, PCMCIA, EISA, MCA, ISA) 136# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
96# 137#
97# CONFIG_PCI is not set
98# CONFIG_ISA is not set 138# CONFIG_ISA is not set
99 139
100# 140#
@@ -103,13 +143,15 @@ CONFIG_GENERIC_CALIBRATE_DELAY=y
103CONFIG_PCCARD=y 143CONFIG_PCCARD=y
104# CONFIG_PCMCIA_DEBUG is not set 144# CONFIG_PCMCIA_DEBUG is not set
105CONFIG_PCMCIA=y 145CONFIG_PCMCIA=y
146CONFIG_PCMCIA_LOAD_CIS=y
147CONFIG_PCMCIA_IOCTL=y
106 148
107# 149#
108# PC-card bridges 150# PC-card bridges
109# 151#
110# CONFIG_TCIC is not set
111CONFIG_M32R_CFC=y 152CONFIG_M32R_CFC=y
112CONFIG_M32R_CFC_NUM=1 153CONFIG_M32R_CFC_NUM=1
154CONFIG_PCCARD_NONSTATIC=y
113 155
114# 156#
115# PCI Hotplug Support 157# PCI Hotplug Support
@@ -122,6 +164,94 @@ CONFIG_BINFMT_ELF=y
122# CONFIG_BINFMT_MISC is not set 164# CONFIG_BINFMT_MISC is not set
123 165
124# 166#
167# Networking
168#
169CONFIG_NET=y
170
171#
172# Networking options
173#
174# CONFIG_NETDEBUG is not set
175CONFIG_PACKET=y
176# CONFIG_PACKET_MMAP is not set
177CONFIG_UNIX=y
178CONFIG_XFRM=y
179# CONFIG_XFRM_USER is not set
180# CONFIG_XFRM_SUB_POLICY is not set
181# CONFIG_NET_KEY is not set
182CONFIG_INET=y
183# CONFIG_IP_MULTICAST is not set
184# CONFIG_IP_ADVANCED_ROUTER is not set
185CONFIG_IP_FIB_HASH=y
186CONFIG_IP_PNP=y
187CONFIG_IP_PNP_DHCP=y
188# CONFIG_IP_PNP_BOOTP is not set
189# CONFIG_IP_PNP_RARP is not set
190# CONFIG_NET_IPIP is not set
191# CONFIG_NET_IPGRE is not set
192# CONFIG_ARPD is not set
193# CONFIG_SYN_COOKIES is not set
194# CONFIG_INET_AH is not set
195# CONFIG_INET_ESP is not set
196# CONFIG_INET_IPCOMP is not set
197# CONFIG_INET_XFRM_TUNNEL is not set
198# CONFIG_INET_TUNNEL is not set
199CONFIG_INET_XFRM_MODE_TRANSPORT=y
200CONFIG_INET_XFRM_MODE_TUNNEL=y
201CONFIG_INET_XFRM_MODE_BEET=y
202CONFIG_INET_DIAG=y
203CONFIG_INET_TCP_DIAG=y
204# CONFIG_TCP_CONG_ADVANCED is not set
205CONFIG_TCP_CONG_CUBIC=y
206CONFIG_DEFAULT_TCP_CONG="cubic"
207# CONFIG_TCP_MD5SIG is not set
208# CONFIG_IPV6 is not set
209# CONFIG_INET6_XFRM_TUNNEL is not set
210# CONFIG_INET6_TUNNEL is not set
211# CONFIG_NETWORK_SECMARK is not set
212# CONFIG_NETFILTER is not set
213
214#
215# DCCP Configuration (EXPERIMENTAL)
216#
217# CONFIG_IP_DCCP is not set
218
219#
220# SCTP Configuration (EXPERIMENTAL)
221#
222# CONFIG_IP_SCTP is not set
223
224#
225# TIPC Configuration (EXPERIMENTAL)
226#
227# CONFIG_TIPC is not set
228# CONFIG_ATM is not set
229# CONFIG_BRIDGE is not set
230# CONFIG_VLAN_8021Q is not set
231# CONFIG_DECNET is not set
232# CONFIG_LLC2 is not set
233# CONFIG_IPX is not set
234# CONFIG_ATALK is not set
235# CONFIG_X25 is not set
236# CONFIG_LAPB is not set
237# CONFIG_ECONET is not set
238# CONFIG_WAN_ROUTER is not set
239
240#
241# QoS and/or fair queueing
242#
243# CONFIG_NET_SCHED is not set
244
245#
246# Network testing
247#
248# CONFIG_NET_PKTGEN is not set
249# CONFIG_HAMRADIO is not set
250# CONFIG_IRDA is not set
251# CONFIG_BT is not set
252# CONFIG_IEEE80211 is not set
253
254#
125# Device Drivers 255# Device Drivers
126# 256#
127 257
@@ -130,8 +260,14 @@ CONFIG_BINFMT_ELF=y
130# 260#
131CONFIG_STANDALONE=y 261CONFIG_STANDALONE=y
132CONFIG_PREVENT_FIRMWARE_BUILD=y 262CONFIG_PREVENT_FIRMWARE_BUILD=y
133# CONFIG_FW_LOADER is not set 263CONFIG_FW_LOADER=y
134# CONFIG_DEBUG_DRIVER is not set 264# CONFIG_DEBUG_DRIVER is not set
265# CONFIG_SYS_HYPERVISOR is not set
266
267#
268# Connector - unified userspace <-> kernelspace linker
269#
270# CONFIG_CONNECTOR is not set
135 271
136# 272#
137# Memory Technology Devices (MTD) 273# Memory Technology Devices (MTD)
@@ -150,7 +286,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
150# 286#
151# Block devices 287# Block devices
152# 288#
153# CONFIG_BLK_DEV_FD is not set
154# CONFIG_BLK_DEV_COW_COMMON is not set 289# CONFIG_BLK_DEV_COW_COMMON is not set
155CONFIG_BLK_DEV_LOOP=y 290CONFIG_BLK_DEV_LOOP=y
156# CONFIG_BLK_DEV_CRYPTOLOOP is not set 291# CONFIG_BLK_DEV_CRYPTOLOOP is not set
@@ -158,18 +293,15 @@ CONFIG_BLK_DEV_LOOP=y
158CONFIG_BLK_DEV_RAM=y 293CONFIG_BLK_DEV_RAM=y
159CONFIG_BLK_DEV_RAM_COUNT=16 294CONFIG_BLK_DEV_RAM_COUNT=16
160CONFIG_BLK_DEV_RAM_SIZE=4096 295CONFIG_BLK_DEV_RAM_SIZE=4096
296CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
161# CONFIG_BLK_DEV_INITRD is not set 297# CONFIG_BLK_DEV_INITRD is not set
162CONFIG_INITRAMFS_SOURCE=""
163# CONFIG_CDROM_PKTCDVD is not set 298# CONFIG_CDROM_PKTCDVD is not set
299# CONFIG_ATA_OVER_ETH is not set
164 300
165# 301#
166# IO Schedulers 302# Misc devices
167# 303#
168CONFIG_IOSCHED_NOOP=y 304# CONFIG_TIFM_CORE is not set
169# CONFIG_IOSCHED_AS is not set
170CONFIG_IOSCHED_DEADLINE=y
171CONFIG_IOSCHED_CFQ=y
172# CONFIG_ATA_OVER_ETH is not set
173 305
174# 306#
175# ATA/ATAPI/MFM/RLL support 307# ATA/ATAPI/MFM/RLL support
@@ -179,7 +311,9 @@ CONFIG_IOSCHED_CFQ=y
179# 311#
180# SCSI device support 312# SCSI device support
181# 313#
314# CONFIG_RAID_ATTRS is not set
182CONFIG_SCSI=m 315CONFIG_SCSI=m
316# CONFIG_SCSI_NETLINK is not set
183CONFIG_SCSI_PROC_FS=y 317CONFIG_SCSI_PROC_FS=y
184 318
185# 319#
@@ -191,6 +325,7 @@ CONFIG_BLK_DEV_SD=m
191CONFIG_BLK_DEV_SR=m 325CONFIG_BLK_DEV_SR=m
192# CONFIG_BLK_DEV_SR_VENDOR is not set 326# CONFIG_BLK_DEV_SR_VENDOR is not set
193CONFIG_CHR_DEV_SG=m 327CONFIG_CHR_DEV_SG=m
328# CONFIG_CHR_DEV_SCH is not set
194 329
195# 330#
196# Some SCSI devices (e.g. CD jukebox) support multiple LUNs 331# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
@@ -200,16 +335,18 @@ CONFIG_SCSI_MULTI_LUN=y
200# CONFIG_SCSI_LOGGING is not set 335# CONFIG_SCSI_LOGGING is not set
201 336
202# 337#
203# SCSI Transport Attributes 338# SCSI Transports
204# 339#
205# CONFIG_SCSI_SPI_ATTRS is not set 340# CONFIG_SCSI_SPI_ATTRS is not set
206# CONFIG_SCSI_FC_ATTRS is not set 341# CONFIG_SCSI_FC_ATTRS is not set
207# CONFIG_SCSI_ISCSI_ATTRS is not set 342# CONFIG_SCSI_ISCSI_ATTRS is not set
343# CONFIG_SCSI_SAS_ATTRS is not set
344# CONFIG_SCSI_SAS_LIBSAS is not set
208 345
209# 346#
210# SCSI low-level drivers 347# SCSI low-level drivers
211# 348#
212# CONFIG_SCSI_SATA is not set 349# CONFIG_ISCSI_TCP is not set
213# CONFIG_SCSI_DEBUG is not set 350# CONFIG_SCSI_DEBUG is not set
214 351
215# 352#
@@ -222,6 +359,10 @@ CONFIG_SCSI_MULTI_LUN=y
222# CONFIG_PCMCIA_SYM53C500 is not set 359# CONFIG_PCMCIA_SYM53C500 is not set
223 360
224# 361#
362# Serial ATA (prod) and Parallel ATA (experimental) drivers
363#
364
365#
225# Multi-device support (RAID and LVM) 366# Multi-device support (RAID and LVM)
226# 367#
227# CONFIG_MD is not set 368# CONFIG_MD is not set
@@ -229,6 +370,7 @@ CONFIG_SCSI_MULTI_LUN=y
229# 370#
230# Fusion MPT device support 371# Fusion MPT device support
231# 372#
373# CONFIG_FUSION is not set
232 374
233# 375#
234# IEEE 1394 (FireWire) support 376# IEEE 1394 (FireWire) support
@@ -239,69 +381,8 @@ CONFIG_SCSI_MULTI_LUN=y
239# 381#
240 382
241# 383#
242# Networking support 384# Network device support
243#
244CONFIG_NET=y
245
246#
247# Networking options
248#
249CONFIG_PACKET=y
250# CONFIG_PACKET_MMAP is not set
251CONFIG_UNIX=y
252# CONFIG_NET_KEY is not set
253CONFIG_INET=y
254# CONFIG_IP_MULTICAST is not set
255# CONFIG_IP_ADVANCED_ROUTER is not set
256CONFIG_IP_PNP=y
257CONFIG_IP_PNP_DHCP=y
258# CONFIG_IP_PNP_BOOTP is not set
259# CONFIG_IP_PNP_RARP is not set
260# CONFIG_NET_IPIP is not set
261# CONFIG_NET_IPGRE is not set
262# CONFIG_ARPD is not set
263# CONFIG_SYN_COOKIES is not set
264# CONFIG_INET_AH is not set
265# CONFIG_INET_ESP is not set
266# CONFIG_INET_IPCOMP is not set
267# CONFIG_INET_TUNNEL is not set
268CONFIG_IP_TCPDIAG=y
269# CONFIG_IP_TCPDIAG_IPV6 is not set
270# CONFIG_IPV6 is not set
271# CONFIG_NETFILTER is not set
272
273#
274# SCTP Configuration (EXPERIMENTAL)
275# 385#
276# CONFIG_IP_SCTP 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_NET_DIVERT is not set
287# CONFIG_ECONET is not set
288# CONFIG_WAN_ROUTER is not set
289
290#
291# QoS and/or fair queueing
292#
293# CONFIG_NET_SCHED is not set
294# CONFIG_NET_CLS_ROUTE is not set
295
296#
297# Network testing
298#
299# CONFIG_NET_PKTGEN is not set
300# CONFIG_NETPOLL is not set
301# CONFIG_NET_POLL_CONTROLLER is not set
302# CONFIG_HAMRADIO is not set
303# CONFIG_IRDA is not set
304# CONFIG_BT is not set
305CONFIG_NETDEVICES=y 386CONFIG_NETDEVICES=y
306# CONFIG_DUMMY is not set 387# CONFIG_DUMMY is not set
307# CONFIG_BONDING is not set 388# CONFIG_BONDING is not set
@@ -309,6 +390,11 @@ CONFIG_NETDEVICES=y
309# CONFIG_TUN is not set 390# CONFIG_TUN is not set
310 391
311# 392#
393# PHY device support
394#
395# CONFIG_PHYLIB is not set
396
397#
312# Ethernet (10 or 100Mbit) 398# Ethernet (10 or 100Mbit)
313# 399#
314CONFIG_NET_ETHERNET=y 400CONFIG_NET_ETHERNET=y
@@ -346,6 +432,8 @@ CONFIG_SMC91X=y
346# CONFIG_SLIP is not set 432# CONFIG_SLIP is not set
347# CONFIG_SHAPER is not set 433# CONFIG_SHAPER is not set
348# CONFIG_NETCONSOLE is not set 434# CONFIG_NETCONSOLE is not set
435# CONFIG_NETPOLL is not set
436# CONFIG_NET_POLL_CONTROLLER is not set
349 437
350# 438#
351# ISDN subsystem 439# ISDN subsystem
@@ -361,6 +449,7 @@ CONFIG_SMC91X=y
361# Input device support 449# Input device support
362# 450#
363CONFIG_INPUT=y 451CONFIG_INPUT=y
452# CONFIG_INPUT_FF_MEMLESS is not set
364 453
365# 454#
366# Userland interfaces 455# Userland interfaces
@@ -389,7 +478,6 @@ CONFIG_SERIO_SERPORT=y
389# CONFIG_SERIO_LIBPS2 is not set 478# CONFIG_SERIO_LIBPS2 is not set
390# CONFIG_SERIO_RAW is not set 479# CONFIG_SERIO_RAW is not set
391# CONFIG_GAMEPORT is not set 480# CONFIG_GAMEPORT is not set
392CONFIG_SOUND_GAMEPORT=y
393 481
394# 482#
395# Character devices 483# Character devices
@@ -423,8 +511,8 @@ CONFIG_LEGACY_PTY_COUNT=256
423# Watchdog Cards 511# Watchdog Cards
424# 512#
425# CONFIG_WATCHDOG is not set 513# CONFIG_WATCHDOG is not set
514CONFIG_HW_RANDOM=y
426# CONFIG_RTC is not set 515# CONFIG_RTC is not set
427# CONFIG_GEN_RTC is not set
428CONFIG_DS1302=y 516CONFIG_DS1302=y
429# CONFIG_DTLK is not set 517# CONFIG_DTLK is not set
430# CONFIG_R3964 is not set 518# CONFIG_R3964 is not set
@@ -432,17 +520,19 @@ CONFIG_DS1302=y
432# 520#
433# Ftape, the floppy tape device driver 521# Ftape, the floppy tape device driver
434# 522#
435# CONFIG_DRM is not set
436 523
437# 524#
438# PCMCIA character devices 525# PCMCIA character devices
439# 526#
440# CONFIG_SYNCLINK_CS is not set 527# CONFIG_SYNCLINK_CS is not set
528# CONFIG_CARDMAN_4000 is not set
529# CONFIG_CARDMAN_4040 is not set
441# CONFIG_RAW_DRIVER is not set 530# CONFIG_RAW_DRIVER is not set
442 531
443# 532#
444# TPM devices 533# TPM devices
445# 534#
535# CONFIG_TCG_TPM is not set
446 536
447# 537#
448# I2C support 538# I2C support
@@ -450,13 +540,25 @@ CONFIG_DS1302=y
450# CONFIG_I2C is not set 540# CONFIG_I2C is not set
451 541
452# 542#
543# SPI support
544#
545# CONFIG_SPI is not set
546# CONFIG_SPI_MASTER is not set
547
548#
453# Dallas's 1-wire bus 549# Dallas's 1-wire bus
454# 550#
455# CONFIG_W1 is not set 551# CONFIG_W1 is not set
456 552
457# 553#
458# Misc devices 554# Hardware Monitoring support
459# 555#
556CONFIG_HWMON=y
557# CONFIG_HWMON_VID is not set
558# CONFIG_SENSORS_ABITUGURU is not set
559# CONFIG_SENSORS_F71805F is not set
560# CONFIG_SENSORS_VT1211 is not set
561# CONFIG_HWMON_DEBUG_CHIP is not set
460 562
461# 563#
462# Multimedia devices 564# Multimedia devices
@@ -471,7 +573,9 @@ CONFIG_DS1302=y
471# 573#
472# Graphics support 574# Graphics support
473# 575#
576CONFIG_FIRMWARE_EDID=y
474# CONFIG_FB is not set 577# CONFIG_FB is not set
578# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
475 579
476# 580#
477# Sound 581# Sound
@@ -483,6 +587,11 @@ CONFIG_DS1302=y
483# 587#
484# CONFIG_USB_ARCH_HAS_HCD is not set 588# CONFIG_USB_ARCH_HAS_HCD is not set
485# CONFIG_USB_ARCH_HAS_OHCI is not set 589# CONFIG_USB_ARCH_HAS_OHCI is not set
590# CONFIG_USB_ARCH_HAS_EHCI is not set
591
592#
593# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
594#
486 595
487# 596#
488# USB Gadget Support 597# USB Gadget Support
@@ -495,38 +604,73 @@ CONFIG_DS1302=y
495# CONFIG_MMC is not set 604# CONFIG_MMC is not set
496 605
497# 606#
607# LED devices
608#
609# CONFIG_NEW_LEDS is not set
610
611#
612# LED drivers
613#
614
615#
616# LED Triggers
617#
618
619#
498# InfiniBand support 620# InfiniBand support
499# 621#
500# CONFIG_INFINIBAND is not set 622
623#
624# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
625#
626
627#
628# Real Time Clock
629#
630# CONFIG_RTC_CLASS is not set
631
632#
633# DMA Engine support
634#
635# CONFIG_DMA_ENGINE is not set
636
637#
638# DMA Clients
639#
640
641#
642# DMA Devices
643#
501 644
502# 645#
503# File systems 646# File systems
504# 647#
505CONFIG_EXT2_FS=y 648CONFIG_EXT2_FS=y
506# CONFIG_EXT2_FS_XATTR is not set 649# CONFIG_EXT2_FS_XATTR is not set
507CONFIG_EXT3_FS=m 650# CONFIG_EXT2_FS_XIP is not set
651CONFIG_EXT3_FS=y
508CONFIG_EXT3_FS_XATTR=y 652CONFIG_EXT3_FS_XATTR=y
509# CONFIG_EXT3_FS_POSIX_ACL is not set 653# CONFIG_EXT3_FS_POSIX_ACL is not set
510# CONFIG_EXT3_FS_SECURITY is not set 654# CONFIG_EXT3_FS_SECURITY is not set
511CONFIG_JBD=m 655# CONFIG_EXT4DEV_FS is not set
656CONFIG_JBD=y
512CONFIG_JBD_DEBUG=y 657CONFIG_JBD_DEBUG=y
513CONFIG_FS_MBCACHE=y 658CONFIG_FS_MBCACHE=y
514CONFIG_REISERFS_FS=m 659# CONFIG_REISERFS_FS is not set
515# CONFIG_REISERFS_CHECK is not set
516# CONFIG_REISERFS_PROC_INFO is not set
517# CONFIG_REISERFS_FS_XATTR is not set
518# CONFIG_JFS_FS is not set 660# CONFIG_JFS_FS is not set
519 661# CONFIG_FS_POSIX_ACL is not set
520#
521# XFS support
522#
523# CONFIG_XFS_FS is not set 662# CONFIG_XFS_FS is not set
663# CONFIG_GFS2_FS is not set
664# CONFIG_OCFS2_FS is not set
524# CONFIG_MINIX_FS is not set 665# CONFIG_MINIX_FS is not set
525# CONFIG_ROMFS_FS is not set 666# CONFIG_ROMFS_FS is not set
667CONFIG_INOTIFY=y
668CONFIG_INOTIFY_USER=y
526# CONFIG_QUOTA is not set 669# CONFIG_QUOTA is not set
527CONFIG_DNOTIFY=y 670CONFIG_DNOTIFY=y
528# CONFIG_AUTOFS_FS is not set 671# CONFIG_AUTOFS_FS is not set
529# CONFIG_AUTOFS4_FS is not set 672# CONFIG_AUTOFS4_FS is not set
673# CONFIG_FUSE_FS is not set
530 674
531# 675#
532# CD-ROM/DVD Filesystems 676# CD-ROM/DVD Filesystems
@@ -552,15 +696,13 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
552# 696#
553CONFIG_PROC_FS=y 697CONFIG_PROC_FS=y
554CONFIG_PROC_KCORE=y 698CONFIG_PROC_KCORE=y
699CONFIG_PROC_SYSCTL=y
555CONFIG_SYSFS=y 700CONFIG_SYSFS=y
556CONFIG_DEVFS_FS=y
557CONFIG_DEVFS_MOUNT=y
558# CONFIG_DEVFS_DEBUG is not set
559# CONFIG_DEVPTS_FS_XATTR is not set
560CONFIG_TMPFS=y 701CONFIG_TMPFS=y
561# CONFIG_TMPFS_XATTR is not set 702# CONFIG_TMPFS_POSIX_ACL is not set
562# CONFIG_HUGETLB_PAGE is not set 703# CONFIG_HUGETLB_PAGE is not set
563CONFIG_RAMFS=y 704CONFIG_RAMFS=y
705# CONFIG_CONFIGFS_FS is not set
564 706
565# 707#
566# Miscellaneous filesystems 708# Miscellaneous filesystems
@@ -584,12 +726,14 @@ CONFIG_RAMFS=y
584# 726#
585CONFIG_NFS_FS=y 727CONFIG_NFS_FS=y
586CONFIG_NFS_V3=y 728CONFIG_NFS_V3=y
729# CONFIG_NFS_V3_ACL is not set
587# CONFIG_NFS_V4 is not set 730# CONFIG_NFS_V4 is not set
588# CONFIG_NFS_DIRECTIO is not set 731# CONFIG_NFS_DIRECTIO is not set
589# CONFIG_NFSD is not set 732# CONFIG_NFSD is not set
590CONFIG_ROOT_NFS=y 733CONFIG_ROOT_NFS=y
591CONFIG_LOCKD=y 734CONFIG_LOCKD=y
592CONFIG_LOCKD_V4=y 735CONFIG_LOCKD_V4=y
736CONFIG_NFS_COMMON=y
593CONFIG_SUNRPC=y 737CONFIG_SUNRPC=y
594# CONFIG_RPCSEC_GSS_KRB5 is not set 738# CONFIG_RPCSEC_GSS_KRB5 is not set
595# CONFIG_RPCSEC_GSS_SPKM3 is not set 739# CONFIG_RPCSEC_GSS_SPKM3 is not set
@@ -598,6 +742,7 @@ CONFIG_SUNRPC=y
598# CONFIG_NCP_FS is not set 742# CONFIG_NCP_FS is not set
599# CONFIG_CODA_FS is not set 743# CONFIG_CODA_FS is not set
600# CONFIG_AFS_FS is not set 744# CONFIG_AFS_FS is not set
745# CONFIG_9P_FS is not set
601 746
602# 747#
603# Partition Types 748# Partition Types
@@ -658,21 +803,32 @@ CONFIG_NLS_DEFAULT="iso8859-1"
658# Kernel hacking 803# Kernel hacking
659# 804#
660# CONFIG_PRINTK_TIME is not set 805# CONFIG_PRINTK_TIME is not set
661CONFIG_DEBUG_KERNEL=y 806CONFIG_ENABLE_MUST_CHECK=y
662# CONFIG_MAGIC_SYSRQ is not set 807# CONFIG_MAGIC_SYSRQ is not set
808# CONFIG_UNUSED_SYMBOLS is not set
809CONFIG_DEBUG_KERNEL=y
663CONFIG_LOG_BUF_SHIFT=14 810CONFIG_LOG_BUF_SHIFT=14
811CONFIG_DETECT_SOFTLOCKUP=y
664# CONFIG_SCHEDSTATS is not set 812# CONFIG_SCHEDSTATS is not set
665# CONFIG_DEBUG_SLAB is not set 813# CONFIG_DEBUG_SLAB is not set
666# CONFIG_DEBUG_SPINLOCK is not set 814# CONFIG_DEBUG_SPINLOCK is not set
815# CONFIG_DEBUG_MUTEXES is not set
816# CONFIG_DEBUG_RWSEMS is not set
667# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 817# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
818# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
668# CONFIG_DEBUG_KOBJECT is not set 819# CONFIG_DEBUG_KOBJECT is not set
669# CONFIG_DEBUG_BUGVERBOSE is not set 820# CONFIG_DEBUG_BUGVERBOSE is not set
670CONFIG_DEBUG_INFO=y 821CONFIG_DEBUG_INFO=y
671# CONFIG_DEBUG_FS is not set 822# CONFIG_DEBUG_FS is not set
823# CONFIG_DEBUG_VM is not set
824# CONFIG_DEBUG_LIST is not set
672# CONFIG_FRAME_POINTER is not set 825# CONFIG_FRAME_POINTER is not set
826# CONFIG_UNWIND_INFO is not set
827CONFIG_FORCED_INLINING=y
828# CONFIG_HEADERS_CHECK is not set
829# CONFIG_RCU_TORTURE_TEST is not set
673# CONFIG_DEBUG_STACKOVERFLOW is not set 830# CONFIG_DEBUG_STACKOVERFLOW is not set
674# CONFIG_DEBUG_STACK_USAGE is not set 831# CONFIG_DEBUG_STACK_USAGE is not set
675# CONFIG_DEBUG_PAGEALLOC is not set
676 832
677# 833#
678# Security options 834# Security options
@@ -686,12 +842,9 @@ CONFIG_DEBUG_INFO=y
686# CONFIG_CRYPTO is not set 842# CONFIG_CRYPTO is not set
687 843
688# 844#
689# Hardware crypto devices
690#
691
692#
693# Library routines 845# Library routines
694# 846#
695# CONFIG_CRC_CCITT is not set 847# CONFIG_CRC_CCITT is not set
848# CONFIG_CRC16 is not set
696CONFIG_CRC32=y 849CONFIG_CRC32=y
697# CONFIG_LIBCRC32C is not set 850# CONFIG_LIBCRC32C is not set
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
index 70a577c89c7c..a8e1e604dfa8 100644
--- a/arch/m68k/Kconfig
+++ b/arch/m68k/Kconfig
@@ -42,6 +42,9 @@ config ARCH_MAY_HAVE_PC_FDC
42 depends on Q40 || (BROKEN && SUN3X) 42 depends on Q40 || (BROKEN && SUN3X)
43 default y 43 default y
44 44
45config NO_IOPORT
46 def_bool y
47
45mainmenu "Linux/68k Kernel Configuration" 48mainmenu "Linux/68k Kernel Configuration"
46 49
47source "init/Kconfig" 50source "init/Kconfig"
@@ -439,6 +442,10 @@ config GENERIC_ISA_DMA
439 depends on Q40 || AMIGA_PCMCIA || GG2 442 depends on Q40 || AMIGA_PCMCIA || GG2
440 default y 443 default y
441 444
445config ZONE_DMA
446 bool
447 default y
448
442source "drivers/pci/Kconfig" 449source "drivers/pci/Kconfig"
443 450
444source "drivers/zorro/Kconfig" 451source "drivers/zorro/Kconfig"
diff --git a/arch/m68k/kernel/Makefile b/arch/m68k/kernel/Makefile
index 1c9ecaa473d5..0b68ab8d63d1 100644
--- a/arch/m68k/kernel/Makefile
+++ b/arch/m68k/kernel/Makefile
@@ -10,7 +10,9 @@ endif
10extra-y += vmlinux.lds 10extra-y += vmlinux.lds
11 11
12obj-y := entry.o process.o traps.o ints.o signal.o ptrace.o \ 12obj-y := entry.o process.o traps.o ints.o signal.o ptrace.o \
13 sys_m68k.o time.o semaphore.o setup.o m68k_ksyms.o 13 sys_m68k.o time.o semaphore.o setup.o m68k_ksyms.o devres.o
14
15devres-y = ../../../kernel/irq/devres.o
14 16
15obj-$(CONFIG_PCI) += bios32.o 17obj-$(CONFIG_PCI) += bios32.o
16obj-$(CONFIG_MODULES) += module.o 18obj-$(CONFIG_MODULES) += module.o
diff --git a/arch/m68k/kernel/ptrace.c b/arch/m68k/kernel/ptrace.c
index ef89060ea328..7fd2720c3841 100644
--- a/arch/m68k/kernel/ptrace.c
+++ b/arch/m68k/kernel/ptrace.c
@@ -76,7 +76,7 @@ static inline long get_reg(struct task_struct *task, int regno)
76 76
77 if (regno == PT_USP) 77 if (regno == PT_USP)
78 addr = &task->thread.usp; 78 addr = &task->thread.usp;
79 else if (regno < sizeof(regoff)/sizeof(regoff[0])) 79 else if (regno < ARRAY_SIZE(regoff))
80 addr = (unsigned long *)(task->thread.esp0 + regoff[regno]); 80 addr = (unsigned long *)(task->thread.esp0 + regoff[regno]);
81 else 81 else
82 return 0; 82 return 0;
@@ -93,7 +93,7 @@ static inline int put_reg(struct task_struct *task, int regno,
93 93
94 if (regno == PT_USP) 94 if (regno == PT_USP)
95 addr = &task->thread.usp; 95 addr = &task->thread.usp;
96 else if (regno < sizeof(regoff)/sizeof(regoff[0])) 96 else if (regno < ARRAY_SIZE(regoff))
97 addr = (unsigned long *)(task->thread.esp0 + regoff[regno]); 97 addr = (unsigned long *)(task->thread.esp0 + regoff[regno]);
98 else 98 else
99 return -1; 99 return -1;
diff --git a/arch/m68k/kernel/time.c b/arch/m68k/kernel/time.c
index 2a599c3ed787..4c065f9ceffc 100644
--- a/arch/m68k/kernel/time.c
+++ b/arch/m68k/kernel/time.c
@@ -159,12 +159,3 @@ int do_settimeofday(struct timespec *tv)
159} 159}
160 160
161EXPORT_SYMBOL(do_settimeofday); 161EXPORT_SYMBOL(do_settimeofday);
162
163/*
164 * Scheduler clock - returns current time in ns units.
165 */
166unsigned long long sched_clock(void)
167{
168 return (unsigned long long)jiffies*(1000000000/HZ);
169}
170
diff --git a/arch/m68k/kernel/traps.c b/arch/m68k/kernel/traps.c
index 759fa244e6cd..a27a4fa33296 100644
--- a/arch/m68k/kernel/traps.c
+++ b/arch/m68k/kernel/traps.c
@@ -1011,7 +1011,7 @@ EXPORT_SYMBOL(dump_stack);
1011void bad_super_trap (struct frame *fp) 1011void bad_super_trap (struct frame *fp)
1012{ 1012{
1013 console_verbose(); 1013 console_verbose();
1014 if (fp->ptregs.vector < 4*sizeof(vec_names)/sizeof(vec_names[0])) 1014 if (fp->ptregs.vector < 4 * ARRAY_SIZE(vec_names))
1015 printk ("*** %s *** FORMAT=%X\n", 1015 printk ("*** %s *** FORMAT=%X\n",
1016 vec_names[(fp->ptregs.vector) >> 2], 1016 vec_names[(fp->ptregs.vector) >> 2],
1017 fp->ptregs.format); 1017 fp->ptregs.format);
diff --git a/arch/m68k/kernel/vmlinux-std.lds b/arch/m68k/kernel/vmlinux-std.lds
index d2794452b195..437b4f8d86c5 100644
--- a/arch/m68k/kernel/vmlinux-std.lds
+++ b/arch/m68k/kernel/vmlinux-std.lds
@@ -61,10 +61,12 @@ SECTIONS
61 .con_initcall.init : { *(.con_initcall.init) } 61 .con_initcall.init : { *(.con_initcall.init) }
62 __con_initcall_end = .; 62 __con_initcall_end = .;
63 SECURITY_INIT 63 SECURITY_INIT
64#ifdef CONFIG_BLK_DEV_INITRD
64 . = ALIGN(8192); 65 . = ALIGN(8192);
65 __initramfs_start = .; 66 __initramfs_start = .;
66 .init.ramfs : { *(.init.ramfs) } 67 .init.ramfs : { *(.init.ramfs) }
67 __initramfs_end = .; 68 __initramfs_end = .;
69#endif
68 . = ALIGN(8192); 70 . = ALIGN(8192);
69 __init_end = .; 71 __init_end = .;
70 72
diff --git a/arch/m68k/kernel/vmlinux-sun3.lds b/arch/m68k/kernel/vmlinux-sun3.lds
index 8c7eccbfc982..2868e206fc76 100644
--- a/arch/m68k/kernel/vmlinux-sun3.lds
+++ b/arch/m68k/kernel/vmlinux-sun3.lds
@@ -55,10 +55,12 @@ __init_begin = .;
55 .con_initcall.init : { *(.con_initcall.init) } 55 .con_initcall.init : { *(.con_initcall.init) }
56 __con_initcall_end = .; 56 __con_initcall_end = .;
57 SECURITY_INIT 57 SECURITY_INIT
58#ifdef CONFIG_BLK_DEV_INITRD
58 . = ALIGN(8192); 59 . = ALIGN(8192);
59 __initramfs_start = .; 60 __initramfs_start = .;
60 .init.ramfs : { *(.init.ramfs) } 61 .init.ramfs : { *(.init.ramfs) }
61 __initramfs_end = .; 62 __initramfs_end = .;
63#endif
62 . = ALIGN(8192); 64 . = ALIGN(8192);
63 __init_end = .; 65 __init_end = .;
64 .data.init.task : { *(.data.init_task) } 66 .data.init.task : { *(.data.init_task) }
diff --git a/arch/m68knommu/Kconfig b/arch/m68knommu/Kconfig
index 25993c2a8fbb..823f73736bb5 100644
--- a/arch/m68knommu/Kconfig
+++ b/arch/m68knommu/Kconfig
@@ -17,6 +17,10 @@ config FPU
17 bool 17 bool
18 default n 18 default n
19 19
20config ZONE_DMA
21 bool
22 default y
23
20config RWSEM_GENERIC_SPINLOCK 24config RWSEM_GENERIC_SPINLOCK
21 bool 25 bool
22 default y 26 default y
@@ -49,6 +53,9 @@ config TIME_LOW_RES
49 bool 53 bool
50 default y 54 default y
51 55
56config NO_IOPORT
57 def_bool y
58
52source "init/Kconfig" 59source "init/Kconfig"
53 60
54menu "Processor type and features" 61menu "Processor type and features"
diff --git a/arch/m68knommu/kernel/ptrace.c b/arch/m68knommu/kernel/ptrace.c
index 9130119537b9..72d349623575 100644
--- a/arch/m68knommu/kernel/ptrace.c
+++ b/arch/m68knommu/kernel/ptrace.c
@@ -62,7 +62,7 @@ static inline long get_reg(struct task_struct *task, int regno)
62 62
63 if (regno == PT_USP) 63 if (regno == PT_USP)
64 addr = &task->thread.usp; 64 addr = &task->thread.usp;
65 else if (regno < sizeof(regoff)/sizeof(regoff[0])) 65 else if (regno < ARRAY_SIZE(regoff))
66 addr = (unsigned long *)(task->thread.esp0 + regoff[regno]); 66 addr = (unsigned long *)(task->thread.esp0 + regoff[regno]);
67 else 67 else
68 return 0; 68 return 0;
@@ -79,7 +79,7 @@ static inline int put_reg(struct task_struct *task, int regno,
79 79
80 if (regno == PT_USP) 80 if (regno == PT_USP)
81 addr = &task->thread.usp; 81 addr = &task->thread.usp;
82 else if (regno < sizeof(regoff)/sizeof(regoff[0])) 82 else if (regno < ARRAY_SIZE(regoff))
83 addr = (unsigned long *) (task->thread.esp0 + regoff[regno]); 83 addr = (unsigned long *) (task->thread.esp0 + regoff[regno]);
84 else 84 else
85 return -1; 85 return -1;
diff --git a/arch/m68knommu/kernel/time.c b/arch/m68knommu/kernel/time.c
index 11ea217ed5cf..467053da2d08 100644
--- a/arch/m68knommu/kernel/time.c
+++ b/arch/m68knommu/kernel/time.c
@@ -174,13 +174,4 @@ int do_settimeofday(struct timespec *tv)
174 clock_was_set(); 174 clock_was_set();
175 return 0; 175 return 0;
176} 176}
177
178/*
179 * Scheduler clock - returns current time in nanosec units.
180 */
181unsigned long long sched_clock(void)
182{
183 return (unsigned long long)jiffies * (1000000000 / HZ);
184}
185
186EXPORT_SYMBOL(do_settimeofday); 177EXPORT_SYMBOL(do_settimeofday);
diff --git a/arch/m68knommu/kernel/traps.c b/arch/m68knommu/kernel/traps.c
index 9129b3a5258b..bed5f47bf568 100644
--- a/arch/m68knommu/kernel/traps.c
+++ b/arch/m68knommu/kernel/traps.c
@@ -158,7 +158,7 @@ void show_stack(struct task_struct *task, unsigned long *stack)
158void bad_super_trap(struct frame *fp) 158void bad_super_trap(struct frame *fp)
159{ 159{
160 console_verbose(); 160 console_verbose();
161 if (fp->ptregs.vector < 4*sizeof(vec_names)/sizeof(vec_names[0])) 161 if (fp->ptregs.vector < 4 * ARRAY_SIZE(vec_names))
162 printk (KERN_WARNING "*** %s *** FORMAT=%X\n", 162 printk (KERN_WARNING "*** %s *** FORMAT=%X\n",
163 vec_names[(fp->ptregs.vector) >> 2], 163 vec_names[(fp->ptregs.vector) >> 2],
164 fp->ptregs.format); 164 fp->ptregs.format);
diff --git a/arch/m68knommu/kernel/vmlinux.lds.S b/arch/m68knommu/kernel/vmlinux.lds.S
index bfade20a9e5e..c86a1bf589d4 100644
--- a/arch/m68knommu/kernel/vmlinux.lds.S
+++ b/arch/m68knommu/kernel/vmlinux.lds.S
@@ -159,10 +159,12 @@ SECTIONS {
159 __security_initcall_start = .; 159 __security_initcall_start = .;
160 *(.security_initcall.init) 160 *(.security_initcall.init)
161 __security_initcall_end = .; 161 __security_initcall_end = .;
162#ifdef CONFIG_BLK_DEV_INITRD
162 . = ALIGN(4); 163 . = ALIGN(4);
163 __initramfs_start = .; 164 __initramfs_start = .;
164 *(.init.ramfs) 165 *(.init.ramfs)
165 __initramfs_end = .; 166 __initramfs_end = .;
167#endif
166 . = ALIGN(4096); 168 . = ALIGN(4096);
167 __init_end = .; 169 __init_end = .;
168 } > INIT 170 } > INIT
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 9d839a9c4b1a..1bc6d249be44 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -8,6 +8,10 @@ mainmenu "Linux/MIPS Kernel Configuration"
8 8
9menu "Machine selection" 9menu "Machine selection"
10 10
11config ZONE_DMA
12 bool
13 default y
14
11choice 15choice
12 prompt "System type" 16 prompt "System type"
13 default SGI_IP22 17 default SGI_IP22
diff --git a/arch/mips/kernel/linux32.c b/arch/mips/kernel/linux32.c
index 0b8ce59429a8..ca7ad78f4def 100644
--- a/arch/mips/kernel/linux32.c
+++ b/arch/mips/kernel/linux32.c
@@ -193,50 +193,6 @@ sysn32_waitid(int which, compat_pid_t pid,
193 return ret; 193 return ret;
194} 194}
195 195
196struct sysinfo32 {
197 s32 uptime;
198 u32 loads[3];
199 u32 totalram;
200 u32 freeram;
201 u32 sharedram;
202 u32 bufferram;
203 u32 totalswap;
204 u32 freeswap;
205 u16 procs;
206 u32 totalhigh;
207 u32 freehigh;
208 u32 mem_unit;
209 char _f[8];
210};
211
212asmlinkage int sys32_sysinfo(struct sysinfo32 __user *info)
213{
214 struct sysinfo s;
215 int ret, err;
216 mm_segment_t old_fs = get_fs ();
217
218 set_fs (KERNEL_DS);
219 ret = sys_sysinfo((struct sysinfo __user *)&s);
220 set_fs (old_fs);
221 err = put_user (s.uptime, &info->uptime);
222 err |= __put_user (s.loads[0], &info->loads[0]);
223 err |= __put_user (s.loads[1], &info->loads[1]);
224 err |= __put_user (s.loads[2], &info->loads[2]);
225 err |= __put_user (s.totalram, &info->totalram);
226 err |= __put_user (s.freeram, &info->freeram);
227 err |= __put_user (s.sharedram, &info->sharedram);
228 err |= __put_user (s.bufferram, &info->bufferram);
229 err |= __put_user (s.totalswap, &info->totalswap);
230 err |= __put_user (s.freeswap, &info->freeswap);
231 err |= __put_user (s.procs, &info->procs);
232 err |= __put_user (s.totalhigh, &info->totalhigh);
233 err |= __put_user (s.freehigh, &info->freehigh);
234 err |= __put_user (s.mem_unit, &info->mem_unit);
235 if (err)
236 return -EFAULT;
237 return ret;
238}
239
240#define RLIM_INFINITY32 0x7fffffff 196#define RLIM_INFINITY32 0x7fffffff
241#define RESOURCE32(x) ((x > RLIM_INFINITY32) ? RLIM_INFINITY32 : x) 197#define RESOURCE32(x) ((x > RLIM_INFINITY32) ? RLIM_INFINITY32 : x)
242 198
diff --git a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S
index 39add2341aa2..ee8802b59758 100644
--- a/arch/mips/kernel/scall64-n32.S
+++ b/arch/mips/kernel/scall64-n32.S
@@ -217,7 +217,7 @@ EXPORT(sysn32_call_table)
217 PTR sys32_gettimeofday 217 PTR sys32_gettimeofday
218 PTR compat_sys_getrlimit /* 6095 */ 218 PTR compat_sys_getrlimit /* 6095 */
219 PTR compat_sys_getrusage 219 PTR compat_sys_getrusage
220 PTR sys32_sysinfo 220 PTR compat_sys_sysinfo
221 PTR compat_sys_times 221 PTR compat_sys_times
222 PTR sys32_ptrace 222 PTR sys32_ptrace
223 PTR sys_getuid /* 6100 */ 223 PTR sys_getuid /* 6100 */
diff --git a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S
index c58b8e0105ea..c5f590ca99b0 100644
--- a/arch/mips/kernel/scall64-o32.S
+++ b/arch/mips/kernel/scall64-o32.S
@@ -321,7 +321,7 @@ sys_call_table:
321 PTR sys_ni_syscall /* sys_vm86 */ 321 PTR sys_ni_syscall /* sys_vm86 */
322 PTR compat_sys_wait4 322 PTR compat_sys_wait4
323 PTR sys_swapoff /* 4115 */ 323 PTR sys_swapoff /* 4115 */
324 PTR sys32_sysinfo 324 PTR compat_sys_sysinfo
325 PTR sys32_ipc 325 PTR sys32_ipc
326 PTR sys_fsync 326 PTR sys_fsync
327 PTR sys32_sigreturn 327 PTR sys32_sigreturn
diff --git a/arch/mips/kernel/time.c b/arch/mips/kernel/time.c
index 8aa544f73a5e..545fcbc8cea2 100644
--- a/arch/mips/kernel/time.c
+++ b/arch/mips/kernel/time.c
@@ -455,8 +455,3 @@ EXPORT_SYMBOL(rtc_lock);
455EXPORT_SYMBOL(to_tm); 455EXPORT_SYMBOL(to_tm);
456EXPORT_SYMBOL(rtc_mips_set_time); 456EXPORT_SYMBOL(rtc_mips_set_time);
457EXPORT_SYMBOL(rtc_mips_get_time); 457EXPORT_SYMBOL(rtc_mips_get_time);
458
459unsigned long long sched_clock(void)
460{
461 return (unsigned long long)jiffies*(1000000000/HZ);
462}
diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S
index cecff24cc972..c76b793310c2 100644
--- a/arch/mips/kernel/vmlinux.lds.S
+++ b/arch/mips/kernel/vmlinux.lds.S
@@ -113,10 +113,12 @@ SECTIONS
113 references from .rodata */ 113 references from .rodata */
114 .exit.text : { *(.exit.text) } 114 .exit.text : { *(.exit.text) }
115 .exit.data : { *(.exit.data) } 115 .exit.data : { *(.exit.data) }
116#if defined(CONFIG_BLK_DEV_INITRD)
116 . = ALIGN(_PAGE_SIZE); 117 . = ALIGN(_PAGE_SIZE);
117 __initramfs_start = .; 118 __initramfs_start = .;
118 .init.ramfs : { *(.init.ramfs) } 119 .init.ramfs : { *(.init.ramfs) }
119 __initramfs_end = .; 120 __initramfs_end = .;
121#endif
120 . = ALIGN(32); 122 . = ALIGN(32);
121 __per_cpu_start = .; 123 __per_cpu_start = .;
122 .data.percpu : { *(.data.percpu) } 124 .data.percpu : { *(.data.percpu) }
diff --git a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c
index 1f954a238a63..31819c58bffa 100644
--- a/arch/mips/mm/cache.c
+++ b/arch/mips/mm/cache.c
@@ -107,8 +107,6 @@ void __update_cache(struct vm_area_struct *vma, unsigned long address,
107 } 107 }
108} 108}
109 109
110#define __weak __attribute__((weak))
111
112static char cache_panic[] __initdata = "Yeee, unsupported cache architecture."; 110static char cache_panic[] __initdata = "Yeee, unsupported cache architecture.";
113 111
114void __init cpu_cache_init(void) 112void __init cpu_cache_init(void)
diff --git a/arch/mips/philips/pnx8550/common/proc.c b/arch/mips/philips/pnx8550/common/proc.c
index 72a016767e09..3f097558ef13 100644
--- a/arch/mips/philips/pnx8550/common/proc.c
+++ b/arch/mips/philips/pnx8550/common/proc.c
@@ -79,10 +79,7 @@ static int pnx8550_proc_init( void )
79 79
80 // Create /proc/pnx8550 80 // Create /proc/pnx8550
81 pnx8550_dir = create_proc_entry("pnx8550", S_IFDIR|S_IRUGO, NULL); 81 pnx8550_dir = create_proc_entry("pnx8550", S_IFDIR|S_IRUGO, NULL);
82 if (pnx8550_dir){ 82 if (!pnx8550_dir) {
83 pnx8550_dir->nlink = 1;
84 }
85 else {
86 printk(KERN_ERR "Can't create pnx8550 proc dir\n"); 83 printk(KERN_ERR "Can't create pnx8550 proc dir\n");
87 return -1; 84 return -1;
88 } 85 }
@@ -90,7 +87,6 @@ static int pnx8550_proc_init( void )
90 // Create /proc/pnx8550/timers 87 // Create /proc/pnx8550/timers
91 pnx8550_timers = create_proc_entry("timers", S_IFREG|S_IRUGO, pnx8550_dir ); 88 pnx8550_timers = create_proc_entry("timers", S_IFREG|S_IRUGO, pnx8550_dir );
92 if (pnx8550_timers){ 89 if (pnx8550_timers){
93 pnx8550_timers->nlink = 1;
94 pnx8550_timers->read_proc = pnx8550_timers_read; 90 pnx8550_timers->read_proc = pnx8550_timers_read;
95 } 91 }
96 else { 92 else {
@@ -100,7 +96,6 @@ static int pnx8550_proc_init( void )
100 // Create /proc/pnx8550/registers 96 // Create /proc/pnx8550/registers
101 pnx8550_registers = create_proc_entry("registers", S_IFREG|S_IRUGO, pnx8550_dir ); 97 pnx8550_registers = create_proc_entry("registers", S_IFREG|S_IRUGO, pnx8550_dir );
102 if (pnx8550_registers){ 98 if (pnx8550_registers){
103 pnx8550_registers->nlink = 1;
104 pnx8550_registers->read_proc = pnx8550_registers_read; 99 pnx8550_registers->read_proc = pnx8550_registers_read;
105 } 100 }
106 else { 101 else {
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
index 0f9ff618c6d7..28da4e71c443 100644
--- a/arch/parisc/Kconfig
+++ b/arch/parisc/Kconfig
@@ -50,9 +50,6 @@ config TIME_LOW_RES
50 depends on SMP 50 depends on SMP
51 default y 51 default y
52 52
53config GENERIC_ISA_DMA
54 bool
55
56config GENERIC_HARDIRQS 53config GENERIC_HARDIRQS
57 def_bool y 54 def_bool y
58 55
diff --git a/arch/parisc/kernel/sys_parisc32.c b/arch/parisc/kernel/sys_parisc32.c
index 29be4377aca6..ce3245f87fdd 100644
--- a/arch/parisc/kernel/sys_parisc32.c
+++ b/arch/parisc/kernel/sys_parisc32.c
@@ -579,70 +579,6 @@ asmlinkage int sys32_sendfile64(int out_fd, int in_fd, compat_loff_t __user *off
579} 579}
580 580
581 581
582struct sysinfo32 {
583 s32 uptime;
584 u32 loads[3];
585 u32 totalram;
586 u32 freeram;
587 u32 sharedram;
588 u32 bufferram;
589 u32 totalswap;
590 u32 freeswap;
591 unsigned short procs;
592 u32 totalhigh;
593 u32 freehigh;
594 u32 mem_unit;
595 char _f[12];
596};
597
598/* We used to call sys_sysinfo and translate the result. But sys_sysinfo
599 * undoes the good work done elsewhere, and rather than undoing the
600 * damage, I decided to just duplicate the code from sys_sysinfo here.
601 */
602
603asmlinkage int sys32_sysinfo(struct sysinfo32 __user *info)
604{
605 struct sysinfo val;
606 int err;
607 unsigned long seq;
608
609 /* We don't need a memset here because we copy the
610 * struct to userspace once element at a time.
611 */
612
613 do {
614 seq = read_seqbegin(&xtime_lock);
615 val.uptime = jiffies / HZ;
616
617 val.loads[0] = avenrun[0] << (SI_LOAD_SHIFT - FSHIFT);
618 val.loads[1] = avenrun[1] << (SI_LOAD_SHIFT - FSHIFT);
619 val.loads[2] = avenrun[2] << (SI_LOAD_SHIFT - FSHIFT);
620
621 val.procs = nr_threads;
622 } while (read_seqretry(&xtime_lock, seq));
623
624
625 si_meminfo(&val);
626 si_swapinfo(&val);
627
628 err = put_user (val.uptime, &info->uptime);
629 err |= __put_user (val.loads[0], &info->loads[0]);
630 err |= __put_user (val.loads[1], &info->loads[1]);
631 err |= __put_user (val.loads[2], &info->loads[2]);
632 err |= __put_user (val.totalram, &info->totalram);
633 err |= __put_user (val.freeram, &info->freeram);
634 err |= __put_user (val.sharedram, &info->sharedram);
635 err |= __put_user (val.bufferram, &info->bufferram);
636 err |= __put_user (val.totalswap, &info->totalswap);
637 err |= __put_user (val.freeswap, &info->freeswap);
638 err |= __put_user (val.procs, &info->procs);
639 err |= __put_user (val.totalhigh, &info->totalhigh);
640 err |= __put_user (val.freehigh, &info->freehigh);
641 err |= __put_user (val.mem_unit, &info->mem_unit);
642 return err ? -EFAULT : 0;
643}
644
645
646/* lseek() needs a wrapper because 'offset' can be negative, but the top 582/* lseek() needs a wrapper because 'offset' can be negative, but the top
647 * half of the argument has been zeroed by syscall.S. 583 * half of the argument has been zeroed by syscall.S.
648 */ 584 */
diff --git a/arch/parisc/kernel/syscall_table.S b/arch/parisc/kernel/syscall_table.S
index 701d66a596e8..be8eb9a0d24a 100644
--- a/arch/parisc/kernel/syscall_table.S
+++ b/arch/parisc/kernel/syscall_table.S
@@ -197,7 +197,7 @@
197 /* struct rusage contains longs... */ 197 /* struct rusage contains longs... */
198 ENTRY_COMP(wait4) 198 ENTRY_COMP(wait4)
199 ENTRY_SAME(swapoff) /* 115 */ 199 ENTRY_SAME(swapoff) /* 115 */
200 ENTRY_DIFF(sysinfo) 200 ENTRY_COMP(sysinfo)
201 ENTRY_SAME(shutdown) 201 ENTRY_SAME(shutdown)
202 ENTRY_SAME(fsync) 202 ENTRY_SAME(fsync)
203 ENTRY_SAME(madvise) 203 ENTRY_SAME(madvise)
diff --git a/arch/parisc/kernel/time.c b/arch/parisc/kernel/time.c
index bad7d1eb62b9..5f1b51af06a9 100644
--- a/arch/parisc/kernel/time.c
+++ b/arch/parisc/kernel/time.c
@@ -288,17 +288,6 @@ do_settimeofday (struct timespec *tv)
288} 288}
289EXPORT_SYMBOL(do_settimeofday); 289EXPORT_SYMBOL(do_settimeofday);
290 290
291/*
292 * XXX: We can do better than this.
293 * Returns nanoseconds
294 */
295
296unsigned long long sched_clock(void)
297{
298 return (unsigned long long)jiffies * (1000000000 / HZ);
299}
300
301
302void __init start_cpu_itimer(void) 291void __init start_cpu_itimer(void)
303{ 292{
304 unsigned int cpu = smp_processor_id(); 293 unsigned int cpu = smp_processor_id();
diff --git a/arch/parisc/kernel/vmlinux.lds.S b/arch/parisc/kernel/vmlinux.lds.S
index 7b943b45f7cd..3b78c2794c36 100644
--- a/arch/parisc/kernel/vmlinux.lds.S
+++ b/arch/parisc/kernel/vmlinux.lds.S
@@ -173,10 +173,12 @@ SECTIONS
173 from .altinstructions and .eh_frame */ 173 from .altinstructions and .eh_frame */
174 .exit.text : { *(.exit.text) } 174 .exit.text : { *(.exit.text) }
175 .exit.data : { *(.exit.data) } 175 .exit.data : { *(.exit.data) }
176#ifdef CONFIG_BLK_DEV_INITRD
176 . = ALIGN(ASM_PAGE_SIZE); 177 . = ALIGN(ASM_PAGE_SIZE);
177 __initramfs_start = .; 178 __initramfs_start = .;
178 .init.ramfs : { *(.init.ramfs) } 179 .init.ramfs : { *(.init.ramfs) }
179 __initramfs_end = .; 180 __initramfs_end = .;
181#endif
180 . = ALIGN(32); 182 . = ALIGN(32);
181 __per_cpu_start = .; 183 __per_cpu_start = .;
182 .data.percpu : { *(.data.percpu) } 184 .data.percpu : { *(.data.percpu) }
diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c
index 0667f2b4f977..0c118e584e73 100644
--- a/arch/parisc/mm/init.c
+++ b/arch/parisc/mm/init.c
@@ -808,9 +808,7 @@ void __init paging_init(void)
808 for (i = 0; i < npmem_ranges; i++) { 808 for (i = 0; i < npmem_ranges; i++) {
809 unsigned long zones_size[MAX_NR_ZONES] = { 0, }; 809 unsigned long zones_size[MAX_NR_ZONES] = { 0, };
810 810
811 /* We have an IOMMU, so all memory can go into a single 811 zones_size[ZONE_NORMAL] = pmem_ranges[i].pages;
812 ZONE_DMA zone. */
813 zones_size[ZONE_DMA] = pmem_ranges[i].pages;
814 812
815#ifdef CONFIG_DISCONTIGMEM 813#ifdef CONFIG_DISCONTIGMEM
816 /* Need to initialize the pfnnid_map before we can initialize 814 /* Need to initialize the pfnnid_map before we can initialize
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index f08e80a0bf0a..0088c5ebca78 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -977,6 +977,10 @@ config ISA
977 have an IBM RS/6000 or pSeries machine or a PReP machine, say Y. If 977 have an IBM RS/6000 or pSeries machine or a PReP machine, say Y. If
978 you have an embedded board, consult your board documentation. 978 you have an embedded board, consult your board documentation.
979 979
980config ZONE_DMA
981 bool
982 default y
983
980config GENERIC_ISA_DMA 984config GENERIC_ISA_DMA
981 bool 985 bool
982 depends on PPC64 || POWER4 || 6xx && !CPM2 986 depends on PPC64 || POWER4 || 6xx && !CPM2
diff --git a/arch/powerpc/kernel/proc_ppc64.c b/arch/powerpc/kernel/proc_ppc64.c
index dd7001cacf75..3d437c32546e 100644
--- a/arch/powerpc/kernel/proc_ppc64.c
+++ b/arch/powerpc/kernel/proc_ppc64.c
@@ -71,7 +71,6 @@ static int __init proc_ppc64_init(void)
71 pde = create_proc_entry("ppc64/systemcfg", S_IFREG|S_IRUGO, NULL); 71 pde = create_proc_entry("ppc64/systemcfg", S_IFREG|S_IRUGO, NULL);
72 if (!pde) 72 if (!pde)
73 return 1; 73 return 1;
74 pde->nlink = 1;
75 pde->data = vdso_data; 74 pde->data = vdso_data;
76 pde->size = PAGE_SIZE; 75 pde->size = PAGE_SIZE;
77 pde->proc_fops = &page_map_fops; 76 pde->proc_fops = &page_map_fops;
diff --git a/arch/powerpc/kernel/rtas_flash.c b/arch/powerpc/kernel/rtas_flash.c
index 0c4fcd34bfe5..65e4ebe8db31 100644
--- a/arch/powerpc/kernel/rtas_flash.c
+++ b/arch/powerpc/kernel/rtas_flash.c
@@ -708,7 +708,6 @@ static struct proc_dir_entry *create_flash_pde(const char *filename,
708 708
709 ent = create_proc_entry(filename, S_IRUSR | S_IWUSR, NULL); 709 ent = create_proc_entry(filename, S_IRUSR | S_IWUSR, NULL);
710 if (ent != NULL) { 710 if (ent != NULL) {
711 ent->nlink = 1;
712 ent->proc_fops = fops; 711 ent->proc_fops = fops;
713 ent->owner = THIS_MODULE; 712 ent->owner = THIS_MODULE;
714 } 713 }
diff --git a/arch/powerpc/kernel/sys_ppc32.c b/arch/powerpc/kernel/sys_ppc32.c
index 03a2a2f30d66..673e8d9df7f5 100644
--- a/arch/powerpc/kernel/sys_ppc32.c
+++ b/arch/powerpc/kernel/sys_ppc32.c
@@ -198,73 +198,6 @@ static inline long put_tv32(struct compat_timeval __user *o, struct timeval *i)
198 __put_user(i->tv_usec, &o->tv_usec))); 198 __put_user(i->tv_usec, &o->tv_usec)));
199} 199}
200 200
201struct sysinfo32 {
202 s32 uptime;
203 u32 loads[3];
204 u32 totalram;
205 u32 freeram;
206 u32 sharedram;
207 u32 bufferram;
208 u32 totalswap;
209 u32 freeswap;
210 unsigned short procs;
211 unsigned short pad;
212 u32 totalhigh;
213 u32 freehigh;
214 u32 mem_unit;
215 char _f[20-2*sizeof(int)-sizeof(int)];
216};
217
218asmlinkage long compat_sys_sysinfo(struct sysinfo32 __user *info)
219{
220 struct sysinfo s;
221 int ret, err;
222 int bitcount=0;
223 mm_segment_t old_fs = get_fs ();
224
225 /* The __user cast is valid due to set_fs() */
226 set_fs (KERNEL_DS);
227 ret = sys_sysinfo((struct sysinfo __user *)&s);
228 set_fs (old_fs);
229
230 /* Check to see if any memory value is too large for 32-bit and
231 * scale down if needed.
232 */
233 if ((s.totalram >> 32) || (s.totalswap >> 32)) {
234 while (s.mem_unit < PAGE_SIZE) {
235 s.mem_unit <<= 1;
236 bitcount++;
237 }
238 s.totalram >>=bitcount;
239 s.freeram >>= bitcount;
240 s.sharedram >>= bitcount;
241 s.bufferram >>= bitcount;
242 s.totalswap >>= bitcount;
243 s.freeswap >>= bitcount;
244 s.totalhigh >>= bitcount;
245 s.freehigh >>= bitcount;
246 }
247
248 err = put_user (s.uptime, &info->uptime);
249 err |= __put_user (s.loads[0], &info->loads[0]);
250 err |= __put_user (s.loads[1], &info->loads[1]);
251 err |= __put_user (s.loads[2], &info->loads[2]);
252 err |= __put_user (s.totalram, &info->totalram);
253 err |= __put_user (s.freeram, &info->freeram);
254 err |= __put_user (s.sharedram, &info->sharedram);
255 err |= __put_user (s.bufferram, &info->bufferram);
256 err |= __put_user (s.totalswap, &info->totalswap);
257 err |= __put_user (s.freeswap, &info->freeswap);
258 err |= __put_user (s.procs, &info->procs);
259 err |= __put_user (s.totalhigh, &info->totalhigh);
260 err |= __put_user (s.freehigh, &info->freehigh);
261 err |= __put_user (s.mem_unit, &info->mem_unit);
262 if (err)
263 return -EFAULT;
264
265 return ret;
266}
267
268 201
269 202
270 203
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
index 04b8e71bf5b0..7eefeb4a30e7 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -131,14 +131,14 @@ SECTIONS
131 __stop___fw_ftr_fixup = .; 131 __stop___fw_ftr_fixup = .;
132 } 132 }
133#endif 133#endif
134 134#ifdef CONFIG_BLK_DEV_INITRD
135 . = ALIGN(PAGE_SIZE); 135 . = ALIGN(PAGE_SIZE);
136 .init.ramfs : { 136 .init.ramfs : {
137 __initramfs_start = .; 137 __initramfs_start = .;
138 *(.init.ramfs) 138 *(.init.ramfs)
139 __initramfs_end = .; 139 __initramfs_end = .;
140 } 140 }
141 141#endif
142#ifdef CONFIG_PPC32 142#ifdef CONFIG_PPC32
143 . = ALIGN(32); 143 . = ALIGN(32);
144#else 144#else
diff --git a/arch/powerpc/platforms/iseries/mf.c b/arch/powerpc/platforms/iseries/mf.c
index 1ad0e4aaad1a..90d3d49f713e 100644
--- a/arch/powerpc/platforms/iseries/mf.c
+++ b/arch/powerpc/platforms/iseries/mf.c
@@ -1253,7 +1253,6 @@ static int __init mf_proc_init(void)
1253 ent = create_proc_entry("cmdline", S_IFREG|S_IRUSR|S_IWUSR, mf); 1253 ent = create_proc_entry("cmdline", S_IFREG|S_IRUSR|S_IWUSR, mf);
1254 if (!ent) 1254 if (!ent)
1255 return 1; 1255 return 1;
1256 ent->nlink = 1;
1257 ent->data = (void *)(long)i; 1256 ent->data = (void *)(long)i;
1258 ent->read_proc = proc_mf_dump_cmdline; 1257 ent->read_proc = proc_mf_dump_cmdline;
1259 ent->write_proc = proc_mf_change_cmdline; 1258 ent->write_proc = proc_mf_change_cmdline;
@@ -1264,7 +1263,6 @@ static int __init mf_proc_init(void)
1264 ent = create_proc_entry("vmlinux", S_IFREG|S_IWUSR, mf); 1263 ent = create_proc_entry("vmlinux", S_IFREG|S_IWUSR, mf);
1265 if (!ent) 1264 if (!ent)
1266 return 1; 1265 return 1;
1267 ent->nlink = 1;
1268 ent->data = (void *)(long)i; 1266 ent->data = (void *)(long)i;
1269 ent->proc_fops = &proc_vmlinux_operations; 1267 ent->proc_fops = &proc_vmlinux_operations;
1270 } 1268 }
@@ -1272,7 +1270,6 @@ static int __init mf_proc_init(void)
1272 ent = create_proc_entry("side", S_IFREG|S_IRUSR|S_IWUSR, mf_proc_root); 1270 ent = create_proc_entry("side", S_IFREG|S_IRUSR|S_IWUSR, mf_proc_root);
1273 if (!ent) 1271 if (!ent)
1274 return 1; 1272 return 1;
1275 ent->nlink = 1;
1276 ent->data = (void *)0; 1273 ent->data = (void *)0;
1277 ent->read_proc = proc_mf_dump_side; 1274 ent->read_proc = proc_mf_dump_side;
1278 ent->write_proc = proc_mf_change_side; 1275 ent->write_proc = proc_mf_change_side;
@@ -1280,7 +1277,6 @@ static int __init mf_proc_init(void)
1280 ent = create_proc_entry("src", S_IFREG|S_IRUSR|S_IWUSR, mf_proc_root); 1277 ent = create_proc_entry("src", S_IFREG|S_IRUSR|S_IWUSR, mf_proc_root);
1281 if (!ent) 1278 if (!ent)
1282 return 1; 1279 return 1;
1283 ent->nlink = 1;
1284 ent->data = (void *)0; 1280 ent->data = (void *)0;
1285 ent->read_proc = proc_mf_dump_src; 1281 ent->read_proc = proc_mf_dump_src;
1286 ent->write_proc = proc_mf_change_src; 1282 ent->write_proc = proc_mf_change_src;
diff --git a/arch/powerpc/platforms/pseries/reconfig.c b/arch/powerpc/platforms/pseries/reconfig.c
index 4ad33e41b008..789a5e99aefd 100644
--- a/arch/powerpc/platforms/pseries/reconfig.c
+++ b/arch/powerpc/platforms/pseries/reconfig.c
@@ -513,7 +513,6 @@ static int proc_ppc64_create_ofdt(void)
513 513
514 ent = create_proc_entry("ppc64/ofdt", S_IWUSR, NULL); 514 ent = create_proc_entry("ppc64/ofdt", S_IWUSR, NULL);
515 if (ent) { 515 if (ent) {
516 ent->nlink = 1;
517 ent->data = NULL; 516 ent->data = NULL;
518 ent->size = 0; 517 ent->size = 0;
519 ent->proc_fops = &ofdt_fops; 518 ent->proc_fops = &ofdt_fops;
diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig
index c22e60619d9b..0df9c33629fd 100644
--- a/arch/ppc/Kconfig
+++ b/arch/ppc/Kconfig
@@ -1177,6 +1177,10 @@ config ISA
1177 have an IBM RS/6000 or pSeries machine or a PReP machine, say Y. If 1177 have an IBM RS/6000 or pSeries machine or a PReP machine, say Y. If
1178 you have an embedded board, consult your board documentation. 1178 you have an embedded board, consult your board documentation.
1179 1179
1180config ZONE_DMA
1181 bool
1182 default y
1183
1180config GENERIC_ISA_DMA 1184config GENERIC_ISA_DMA
1181 bool 1185 bool
1182 depends on 6xx && !CPM2 1186 depends on 6xx && !CPM2
diff --git a/arch/ppc/kernel/vmlinux.lds.S b/arch/ppc/kernel/vmlinux.lds.S
index 61921268a0d0..a0625562a44b 100644
--- a/arch/ppc/kernel/vmlinux.lds.S
+++ b/arch/ppc/kernel/vmlinux.lds.S
@@ -135,10 +135,12 @@ SECTIONS
135 .data.percpu : { *(.data.percpu) } 135 .data.percpu : { *(.data.percpu) }
136 __per_cpu_end = .; 136 __per_cpu_end = .;
137 137
138#ifdef CONFIG_BLK_DEV_INITRD
138 . = ALIGN(4096); 139 . = ALIGN(4096);
139 __initramfs_start = .; 140 __initramfs_start = .;
140 .init.ramfs : { *(.init.ramfs) } 141 .init.ramfs : { *(.init.ramfs) }
141 __initramfs_end = .; 142 __initramfs_end = .;
143#endif
142 144
143 . = ALIGN(4096); 145 . = ALIGN(4096);
144 __init_end = .; 146 __init_end = .;
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index eaed402ad346..eaaac3788110 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -7,6 +7,10 @@ config MMU
7 bool 7 bool
8 default y 8 default y
9 9
10config ZONE_DMA
11 bool
12 default y
13
10config LOCKDEP_SUPPORT 14config LOCKDEP_SUPPORT
11 bool 15 bool
12 default y 16 default y
@@ -37,6 +41,9 @@ config GENERIC_HWEIGHT
37config GENERIC_TIME 41config GENERIC_TIME
38 def_bool y 42 def_bool y
39 43
44config NO_IOMEM
45 def_bool y
46
40mainmenu "Linux Kernel Configuration" 47mainmenu "Linux Kernel Configuration"
41 48
42config S390 49config S390
diff --git a/arch/s390/kernel/compat_linux.c b/arch/s390/kernel/compat_linux.c
index 666bb6daa148..664c669b1856 100644
--- a/arch/s390/kernel/compat_linux.c
+++ b/arch/s390/kernel/compat_linux.c
@@ -398,51 +398,6 @@ int cp_compat_stat(struct kstat *stat, struct compat_stat __user *statbuf)
398 return err; 398 return err;
399} 399}
400 400
401struct sysinfo32 {
402 s32 uptime;
403 u32 loads[3];
404 u32 totalram;
405 u32 freeram;
406 u32 sharedram;
407 u32 bufferram;
408 u32 totalswap;
409 u32 freeswap;
410 unsigned short procs;
411 unsigned short pads;
412 u32 totalhigh;
413 u32 freehigh;
414 unsigned int mem_unit;
415 char _f[8];
416};
417
418asmlinkage long sys32_sysinfo(struct sysinfo32 __user *info)
419{
420 struct sysinfo s;
421 int ret, err;
422 mm_segment_t old_fs = get_fs ();
423
424 set_fs (KERNEL_DS);
425 ret = sys_sysinfo((struct sysinfo __force __user *) &s);
426 set_fs (old_fs);
427 err = put_user (s.uptime, &info->uptime);
428 err |= __put_user (s.loads[0], &info->loads[0]);
429 err |= __put_user (s.loads[1], &info->loads[1]);
430 err |= __put_user (s.loads[2], &info->loads[2]);
431 err |= __put_user (s.totalram, &info->totalram);
432 err |= __put_user (s.freeram, &info->freeram);
433 err |= __put_user (s.sharedram, &info->sharedram);
434 err |= __put_user (s.bufferram, &info->bufferram);
435 err |= __put_user (s.totalswap, &info->totalswap);
436 err |= __put_user (s.freeswap, &info->freeswap);
437 err |= __put_user (s.procs, &info->procs);
438 err |= __put_user (s.totalhigh, &info->totalhigh);
439 err |= __put_user (s.freehigh, &info->freehigh);
440 err |= __put_user (s.mem_unit, &info->mem_unit);
441 if (err)
442 return -EFAULT;
443 return ret;
444}
445
446asmlinkage long sys32_sched_rr_get_interval(compat_pid_t pid, 401asmlinkage long sys32_sched_rr_get_interval(compat_pid_t pid,
447 struct compat_timespec __user *interval) 402 struct compat_timespec __user *interval)
448{ 403{
diff --git a/arch/s390/kernel/compat_wrapper.S b/arch/s390/kernel/compat_wrapper.S
index 71e54ef0931e..97901296894e 100644
--- a/arch/s390/kernel/compat_wrapper.S
+++ b/arch/s390/kernel/compat_wrapper.S
@@ -517,10 +517,10 @@ sys32_swapoff_wrapper:
517 llgtr %r2,%r2 # const char * 517 llgtr %r2,%r2 # const char *
518 jg sys_swapoff # branch to system call 518 jg sys_swapoff # branch to system call
519 519
520 .globl sys32_sysinfo_wrapper 520 .globl compat_sys_sysinfo_wrapper
521sys32_sysinfo_wrapper: 521compat_sys_sysinfo_wrapper:
522 llgtr %r2,%r2 # struct sysinfo_emu31 * 522 llgtr %r2,%r2 # struct sysinfo_emu31 *
523 jg sys32_sysinfo # branch to system call 523 jg compat_sys_sysinfo # branch to system call
524 524
525 .globl sys32_ipc_wrapper 525 .globl sys32_ipc_wrapper
526sys32_ipc_wrapper: 526sys32_ipc_wrapper:
diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S
index a4ceae3dbcf1..a52c44455bf0 100644
--- a/arch/s390/kernel/syscalls.S
+++ b/arch/s390/kernel/syscalls.S
@@ -124,7 +124,7 @@ NI_SYSCALL /* old "idle" system call */
124NI_SYSCALL /* vm86old for i386 */ 124NI_SYSCALL /* vm86old for i386 */
125SYSCALL(sys_wait4,sys_wait4,compat_sys_wait4_wrapper) 125SYSCALL(sys_wait4,sys_wait4,compat_sys_wait4_wrapper)
126SYSCALL(sys_swapoff,sys_swapoff,sys32_swapoff_wrapper) /* 115 */ 126SYSCALL(sys_swapoff,sys_swapoff,sys32_swapoff_wrapper) /* 115 */
127SYSCALL(sys_sysinfo,sys_sysinfo,sys32_sysinfo_wrapper) 127SYSCALL(sys_sysinfo,sys_sysinfo,compat_sys_sysinfo_wrapper)
128SYSCALL(sys_ipc,sys_ipc,sys32_ipc_wrapper) 128SYSCALL(sys_ipc,sys_ipc,sys32_ipc_wrapper)
129SYSCALL(sys_fsync,sys_fsync,sys32_fsync_wrapper) 129SYSCALL(sys_fsync,sys_fsync,sys32_fsync_wrapper)
130SYSCALL(sys_sigreturn_glue,sys_sigreturn_glue,sys32_sigreturn_glue) 130SYSCALL(sys_sigreturn_glue,sys_sigreturn_glue,sys32_sigreturn_glue)
diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S
index a48907392522..c30716ae130c 100644
--- a/arch/s390/kernel/vmlinux.lds.S
+++ b/arch/s390/kernel/vmlinux.lds.S
@@ -91,11 +91,14 @@ SECTIONS
91 .con_initcall.init : { *(.con_initcall.init) } 91 .con_initcall.init : { *(.con_initcall.init) }
92 __con_initcall_end = .; 92 __con_initcall_end = .;
93 SECURITY_INIT 93 SECURITY_INIT
94
95#ifdef CONFIG_BLK_DEV_INITRD
94 . = ALIGN(256); 96 . = ALIGN(256);
95 __initramfs_start = .; 97 __initramfs_start = .;
96 .init.ramfs : { *(.init.initramfs) } 98 .init.ramfs : { *(.init.initramfs) }
97 . = ALIGN(2); 99 . = ALIGN(2);
98 __initramfs_end = .; 100 __initramfs_end = .;
101#endif
99 . = ALIGN(256); 102 . = ALIGN(256);
100 __per_cpu_start = .; 103 __per_cpu_start = .;
101 .data.percpu : { *(.data.percpu) } 104 .data.percpu : { *(.data.percpu) }
diff --git a/arch/s390/mm/Makefile b/arch/s390/mm/Makefile
index 8e09db1edbb9..f95449b29fa5 100644
--- a/arch/s390/mm/Makefile
+++ b/arch/s390/mm/Makefile
@@ -2,6 +2,6 @@
2# Makefile for the linux s390-specific parts of the memory manager. 2# Makefile for the linux s390-specific parts of the memory manager.
3# 3#
4 4
5obj-y := init.o fault.o ioremap.o extmem.o mmap.o vmem.o 5obj-y := init.o fault.o extmem.o mmap.o vmem.o
6obj-$(CONFIG_CMM) += cmm.o 6obj-$(CONFIG_CMM) += cmm.o
7 7
diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c
index 9ff143e87746..641aef36ccc4 100644
--- a/arch/s390/mm/fault.c
+++ b/arch/s390/mm/fault.c
@@ -83,12 +83,10 @@ static inline int notify_page_fault(enum die_val val, const char *str,
83} 83}
84#endif 84#endif
85 85
86extern spinlock_t timerlist_lock;
87 86
88/* 87/*
89 * Unlock any spinlocks which will prevent us from getting the 88 * Unlock any spinlocks which will prevent us from getting the
90 * message out (timerlist_lock is acquired through the 89 * message out.
91 * console unblank code)
92 */ 90 */
93void bust_spinlocks(int yes) 91void bust_spinlocks(int yes)
94{ 92{
diff --git a/arch/s390/mm/ioremap.c b/arch/s390/mm/ioremap.c
deleted file mode 100644
index 3d2100a4e209..000000000000
--- a/arch/s390/mm/ioremap.c
+++ /dev/null
@@ -1,58 +0,0 @@
1/*
2 * arch/s390/mm/ioremap.c
3 *
4 * S390 version
5 * Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
6 * Author(s): Hartmut Penner (hp@de.ibm.com)
7 *
8 * Derived from "arch/i386/mm/extable.c"
9 * (C) Copyright 1995 1996 Linus Torvalds
10 *
11 * Re-map IO memory to kernel address space so that we can access it.
12 * This is needed for high PCI addresses that aren't mapped in the
13 * 640k-1MB IO memory area on PC's
14 */
15
16#include <linux/vmalloc.h>
17#include <linux/mm.h>
18#include <linux/io.h>
19#include <asm/pgalloc.h>
20
21/*
22 * Generic mapping function (not visible outside):
23 */
24
25/*
26 * Remap an arbitrary physical address space into the kernel virtual
27 * address space. Needed when the kernel wants to access high addresses
28 * directly.
29 */
30void * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags)
31{
32 void * addr;
33 struct vm_struct * area;
34
35 if (phys_addr < virt_to_phys(high_memory))
36 return phys_to_virt(phys_addr);
37 if (phys_addr & ~PAGE_MASK)
38 return NULL;
39 size = PAGE_ALIGN(size);
40 if (!size || size > phys_addr + size)
41 return NULL;
42 area = get_vm_area(size, VM_IOREMAP);
43 if (!area)
44 return NULL;
45 addr = area->addr;
46 if (ioremap_page_range((unsigned long)addr, (unsigned long)addr + size,
47 phys_addr, __pgprot(flags))) {
48 vfree(addr);
49 return NULL;
50 }
51 return addr;
52}
53
54void iounmap(void *addr)
55{
56 if (addr > high_memory)
57 vfree(addr);
58}
diff --git a/arch/sh/kernel/time.c b/arch/sh/kernel/time.c
index c206c9504c4b..d47e775962e9 100644
--- a/arch/sh/kernel/time.c
+++ b/arch/sh/kernel/time.c
@@ -41,14 +41,6 @@ static int null_rtc_set_time(const time_t secs)
41void (*rtc_sh_get_time)(struct timespec *) = null_rtc_get_time; 41void (*rtc_sh_get_time)(struct timespec *) = null_rtc_get_time;
42int (*rtc_sh_set_time)(const time_t) = null_rtc_set_time; 42int (*rtc_sh_set_time)(const time_t) = null_rtc_set_time;
43 43
44/*
45 * Scheduler clock - returns current time in nanosec units.
46 */
47unsigned long long __attribute__ ((weak)) sched_clock(void)
48{
49 return (unsigned long long)jiffies * (1000000000 / HZ);
50}
51
52#ifndef CONFIG_GENERIC_TIME 44#ifndef CONFIG_GENERIC_TIME
53void do_gettimeofday(struct timeval *tv) 45void do_gettimeofday(struct timeval *tv)
54{ 46{
diff --git a/arch/sh/kernel/vmlinux.lds.S b/arch/sh/kernel/vmlinux.lds.S
index f34bdcc33a7d..75de165867a0 100644
--- a/arch/sh/kernel/vmlinux.lds.S
+++ b/arch/sh/kernel/vmlinux.lds.S
@@ -83,9 +83,13 @@ SECTIONS
83 .con_initcall.init : { *(.con_initcall.init) } 83 .con_initcall.init : { *(.con_initcall.init) }
84 __con_initcall_end = .; 84 __con_initcall_end = .;
85 SECURITY_INIT 85 SECURITY_INIT
86
87#ifdef CONFIG_BLK_DEV_INITRD
86 __initramfs_start = .; 88 __initramfs_start = .;
87 .init.ramfs : { *(.init.ramfs) } 89 .init.ramfs : { *(.init.ramfs) }
88 __initramfs_end = .; 90 __initramfs_end = .;
91#endif
92
89 __machvec_start = .; 93 __machvec_start = .;
90 .init.machvec : { *(.init.machvec) } 94 .init.machvec : { *(.init.machvec) }
91 __machvec_end = .; 95 __machvec_end = .;
diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c
index 29bd37b1488e..bf0c263cb6fd 100644
--- a/arch/sh/mm/init.c
+++ b/arch/sh/mm/init.c
@@ -158,7 +158,6 @@ void __init paging_init(void)
158 * Setup some defaults for the zone sizes.. these should be safe 158 * Setup some defaults for the zone sizes.. these should be safe
159 * regardless of distcontiguous memory or MMU settings. 159 * regardless of distcontiguous memory or MMU settings.
160 */ 160 */
161 zones_size[ZONE_DMA] = 0 >> PAGE_SHIFT;
162 zones_size[ZONE_NORMAL] = __MEMORY_SIZE >> PAGE_SHIFT; 161 zones_size[ZONE_NORMAL] = __MEMORY_SIZE >> PAGE_SHIFT;
163#ifdef CONFIG_HIGHMEM 162#ifdef CONFIG_HIGHMEM
164 zones_size[ZONE_HIGHMEM] = 0 >> PAGE_SHIFT; 163 zones_size[ZONE_HIGHMEM] = 0 >> PAGE_SHIFT;
@@ -170,8 +169,6 @@ void __init paging_init(void)
170 * the zone sizes accordingly, in addition to turning it on. 169 * the zone sizes accordingly, in addition to turning it on.
171 */ 170 */
172 { 171 {
173 unsigned long max_dma, low, start_pfn;
174
175 /* We don't need to map the kernel through the TLB, as 172 /* We don't need to map the kernel through the TLB, as
176 * it is permanatly mapped using P1. So clear the 173 * it is permanatly mapped using P1. So clear the
177 * entire pgd. */ 174 * entire pgd. */
@@ -179,19 +176,7 @@ void __init paging_init(void)
179 176
180 /* Turn on the MMU */ 177 /* Turn on the MMU */
181 enable_mmu(); 178 enable_mmu();
182 179 zones_size[ZONE_NORMAL] = MAX_LOW_PFN - START_PFN;
183 /* Fixup the zone sizes */
184 start_pfn = START_PFN;
185 max_dma = virt_to_phys((char *)MAX_DMA_ADDRESS) >> PAGE_SHIFT;
186 low = MAX_LOW_PFN;
187
188 if (low < max_dma) {
189 zones_size[ZONE_DMA] = low - start_pfn;
190 zones_size[ZONE_NORMAL] = 0;
191 } else {
192 zones_size[ZONE_DMA] = max_dma - start_pfn;
193 zones_size[ZONE_NORMAL] = low - max_dma;
194 }
195 } 180 }
196 181
197 /* Set an initial value for the MMU.TTB so we don't have to 182 /* Set an initial value for the MMU.TTB so we don't have to
diff --git a/arch/sh64/Kconfig b/arch/sh64/Kconfig
index 7bc0744b7ab6..e14b533558c8 100644
--- a/arch/sh64/Kconfig
+++ b/arch/sh64/Kconfig
@@ -36,9 +36,6 @@ config GENERIC_CALIBRATE_DELAY
36config RWSEM_XCHGADD_ALGORITHM 36config RWSEM_XCHGADD_ALGORITHM
37 bool 37 bool
38 38
39config GENERIC_ISA_DMA
40 bool
41
42config ARCH_HAS_ILOG2_U32 39config ARCH_HAS_ILOG2_U32
43 bool 40 bool
44 default n 41 default n
diff --git a/arch/sh64/kernel/time.c b/arch/sh64/kernel/time.c
index 9c4a38a8698c..390b40de7cef 100644
--- a/arch/sh64/kernel/time.c
+++ b/arch/sh64/kernel/time.c
@@ -579,12 +579,3 @@ void enter_deep_standby(void)
579 asm __volatile__ ("nop"); 579 asm __volatile__ ("nop");
580 panic("Unexpected wakeup!\n"); 580 panic("Unexpected wakeup!\n");
581} 581}
582
583/*
584 * Scheduler clock - returns current time in nanosec units.
585 */
586unsigned long long sched_clock(void)
587{
588 return (unsigned long long)jiffies * (1000000000 / HZ);
589}
590
diff --git a/arch/sh64/kernel/vmlinux.lds.S b/arch/sh64/kernel/vmlinux.lds.S
index 95c4d753e357..a59c5e998131 100644
--- a/arch/sh64/kernel/vmlinux.lds.S
+++ b/arch/sh64/kernel/vmlinux.lds.S
@@ -115,9 +115,13 @@ SECTIONS
115 .con_initcall.init : C_PHYS(.con_initcall.init) { *(.con_initcall.init) } 115 .con_initcall.init : C_PHYS(.con_initcall.init) { *(.con_initcall.init) }
116 __con_initcall_end = .; 116 __con_initcall_end = .;
117 SECURITY_INIT 117 SECURITY_INIT
118
119#ifdef CONFIG_BLK_DEV_INITRD
118 __initramfs_start = .; 120 __initramfs_start = .;
119 .init.ramfs : C_PHYS(.init.ramfs) { *(.init.ramfs) } 121 .init.ramfs : C_PHYS(.init.ramfs) { *(.init.ramfs) }
120 __initramfs_end = .; 122 __initramfs_end = .;
123#endif
124
121 . = ALIGN(PAGE_SIZE); 125 . = ALIGN(PAGE_SIZE);
122 __init_end = .; 126 __init_end = .;
123 127
diff --git a/arch/sh64/mm/init.c b/arch/sh64/mm/init.c
index 83295bd21aa7..5dc08787259c 100644
--- a/arch/sh64/mm/init.c
+++ b/arch/sh64/mm/init.c
@@ -118,10 +118,7 @@ void __init paging_init(void)
118 118
119 mmu_context_cache = MMU_CONTEXT_FIRST_VERSION; 119 mmu_context_cache = MMU_CONTEXT_FIRST_VERSION;
120 120
121 /* 121 zones_size[ZONE_NORMAL] = MAX_LOW_PFN - START_PFN;
122 * All memory is good as ZONE_NORMAL (fall-through) and ZONE_DMA.
123 */
124 zones_size[ZONE_DMA] = MAX_LOW_PFN - START_PFN;
125 NODE_DATA(0)->node_mem_map = NULL; 122 NODE_DATA(0)->node_mem_map = NULL;
126 free_area_init_node(0, NODE_DATA(0), zones_size, __MEMORY_START >> PAGE_SHIFT, 0); 123 free_area_init_node(0, NODE_DATA(0), zones_size, __MEMORY_START >> PAGE_SHIFT, 0);
127} 124}
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index d0dec1ea2eed..bd992c0048f0 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -13,6 +13,10 @@ config HIGHMEM
13 bool 13 bool
14 default y 14 default y
15 15
16config ZONE_DMA
17 bool
18 default y
19
16config GENERIC_ISA_DMA 20config GENERIC_ISA_DMA
17 bool 21 bool
18 default y 22 default y
diff --git a/arch/sparc/kernel/Makefile b/arch/sparc/kernel/Makefile
index 6616ee05c313..e795f282dece 100644
--- a/arch/sparc/kernel/Makefile
+++ b/arch/sparc/kernel/Makefile
@@ -12,7 +12,9 @@ obj-y := entry.o wof.o wuf.o etrap.o rtrap.o traps.o $(IRQ_OBJS) \
12 sys_sparc.o sunos_asm.o systbls.o \ 12 sys_sparc.o sunos_asm.o systbls.o \
13 time.o windows.o cpu.o devices.o sclow.o \ 13 time.o windows.o cpu.o devices.o sclow.o \
14 tadpole.o tick14.o ptrace.o sys_solaris.o \ 14 tadpole.o tick14.o ptrace.o sys_solaris.o \
15 unaligned.o muldiv.o semaphore.o prom.o of_device.o 15 unaligned.o muldiv.o semaphore.o prom.o of_device.o devres.o
16
17devres-y = ../../../kernel/irq/devres.o
16 18
17obj-$(CONFIG_PCI) += pcic.o 19obj-$(CONFIG_PCI) += pcic.o
18obj-$(CONFIG_SUN4) += sun4setup.o 20obj-$(CONFIG_SUN4) += sun4setup.o
diff --git a/arch/sparc/kernel/sunos_ioctl.c b/arch/sparc/kernel/sunos_ioctl.c
index a6ba3d26222c..32e8274e4357 100644
--- a/arch/sparc/kernel/sunos_ioctl.c
+++ b/arch/sparc/kernel/sunos_ioctl.c
@@ -11,6 +11,7 @@
11#include <linux/errno.h> 11#include <linux/errno.h>
12#include <linux/string.h> 12#include <linux/string.h>
13#include <linux/termios.h> 13#include <linux/termios.h>
14#include <linux/tty.h>
14#include <linux/ioctl.h> 15#include <linux/ioctl.h>
15#include <linux/route.h> 16#include <linux/route.h>
16#include <linux/sockios.h> 17#include <linux/sockios.h>
diff --git a/arch/sparc/kernel/time.c b/arch/sparc/kernel/time.c
index 2fcce000d877..9bb1240aaf8a 100644
--- a/arch/sparc/kernel/time.c
+++ b/arch/sparc/kernel/time.c
@@ -436,15 +436,6 @@ static inline unsigned long do_gettimeoffset(void)
436 return (*master_l10_counter >> 10) & 0x1fffff; 436 return (*master_l10_counter >> 10) & 0x1fffff;
437} 437}
438 438
439/*
440 * Returns nanoseconds
441 * XXX This is a suboptimal implementation.
442 */
443unsigned long long sched_clock(void)
444{
445 return (unsigned long long)jiffies * (1000000000 / HZ);
446}
447
448/* Ok, my cute asm atomicity trick doesn't work anymore. 439/* Ok, my cute asm atomicity trick doesn't work anymore.
449 * There are just too many variables that need to be protected 440 * There are just too many variables that need to be protected
450 * now (both members of xtime, et al.) 441 * now (both members of xtime, et al.)
diff --git a/arch/sparc/kernel/vmlinux.lds.S b/arch/sparc/kernel/vmlinux.lds.S
index b73e6b9067ed..e5c24e0521de 100644
--- a/arch/sparc/kernel/vmlinux.lds.S
+++ b/arch/sparc/kernel/vmlinux.lds.S
@@ -57,10 +57,14 @@ SECTIONS
57 .con_initcall.init : { *(.con_initcall.init) } 57 .con_initcall.init : { *(.con_initcall.init) }
58 __con_initcall_end = .; 58 __con_initcall_end = .;
59 SECURITY_INIT 59 SECURITY_INIT
60
61#ifdef CONFIG_BLK_DEV_INITRD
60 . = ALIGN(4096); 62 . = ALIGN(4096);
61 __initramfs_start = .; 63 __initramfs_start = .;
62 .init.ramfs : { *(.init.ramfs) } 64 .init.ramfs : { *(.init.ramfs) }
63 __initramfs_end = .; 65 __initramfs_end = .;
66#endif
67
64 . = ALIGN(32); 68 . = ALIGN(32);
65 __per_cpu_start = .; 69 __per_cpu_start = .;
66 .data.percpu : { *(.data.percpu) } 70 .data.percpu : { *(.data.percpu) }
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig
index d41f66ac7fff..fb84647dbf3d 100644
--- a/arch/sparc64/Kconfig
+++ b/arch/sparc64/Kconfig
@@ -232,6 +232,10 @@ config LARGE_ALLOCS
232 232
233source "mm/Kconfig" 233source "mm/Kconfig"
234 234
235config ZONE_DMA
236 bool
237 default y
238
235config GENERIC_ISA_DMA 239config GENERIC_ISA_DMA
236 bool 240 bool
237 default y 241 default y
diff --git a/arch/sparc64/kernel/sunos_ioctl32.c b/arch/sparc64/kernel/sunos_ioctl32.c
index 3f619ead22cc..a05e43d51755 100644
--- a/arch/sparc64/kernel/sunos_ioctl32.c
+++ b/arch/sparc64/kernel/sunos_ioctl32.c
@@ -11,6 +11,7 @@
11#include <linux/errno.h> 11#include <linux/errno.h>
12#include <linux/string.h> 12#include <linux/string.h>
13#include <linux/termios.h> 13#include <linux/termios.h>
14#include <linux/tty.h>
14#include <linux/ioctl.h> 15#include <linux/ioctl.h>
15#include <linux/route.h> 16#include <linux/route.h>
16#include <linux/sockios.h> 17#include <linux/sockios.h>
diff --git a/arch/sparc64/kernel/sys_sparc32.c b/arch/sparc64/kernel/sys_sparc32.c
index e27cb71bd8e2..7876a0226285 100644
--- a/arch/sparc64/kernel/sys_sparc32.c
+++ b/arch/sparc64/kernel/sys_sparc32.c
@@ -459,70 +459,6 @@ asmlinkage long compat_sys_sysfs(int option, u32 arg1, u32 arg2)
459 return sys_sysfs(option, arg1, arg2); 459 return sys_sysfs(option, arg1, arg2);
460} 460}
461 461
462struct sysinfo32 {
463 s32 uptime;
464 u32 loads[3];
465 u32 totalram;
466 u32 freeram;
467 u32 sharedram;
468 u32 bufferram;
469 u32 totalswap;
470 u32 freeswap;
471 unsigned short procs;
472 unsigned short pad;
473 u32 totalhigh;
474 u32 freehigh;
475 u32 mem_unit;
476 char _f[20-2*sizeof(int)-sizeof(int)];
477};
478
479asmlinkage long sys32_sysinfo(struct sysinfo32 __user *info)
480{
481 struct sysinfo s;
482 int ret, err;
483 int bitcount = 0;
484 mm_segment_t old_fs = get_fs ();
485
486 set_fs(KERNEL_DS);
487 ret = sys_sysinfo((struct sysinfo __user *) &s);
488 set_fs(old_fs);
489 /* Check to see if any memory value is too large for 32-bit and
490 * scale down if needed.
491 */
492 if ((s.totalram >> 32) || (s.totalswap >> 32)) {
493 while (s.mem_unit < PAGE_SIZE) {
494 s.mem_unit <<= 1;
495 bitcount++;
496 }
497 s.totalram >>= bitcount;
498 s.freeram >>= bitcount;
499 s.sharedram >>= bitcount;
500 s.bufferram >>= bitcount;
501 s.totalswap >>= bitcount;
502 s.freeswap >>= bitcount;
503 s.totalhigh >>= bitcount;
504 s.freehigh >>= bitcount;
505 }
506
507 err = put_user (s.uptime, &info->uptime);
508 err |= __put_user (s.loads[0], &info->loads[0]);
509 err |= __put_user (s.loads[1], &info->loads[1]);
510 err |= __put_user (s.loads[2], &info->loads[2]);
511 err |= __put_user (s.totalram, &info->totalram);
512 err |= __put_user (s.freeram, &info->freeram);
513 err |= __put_user (s.sharedram, &info->sharedram);
514 err |= __put_user (s.bufferram, &info->bufferram);
515 err |= __put_user (s.totalswap, &info->totalswap);
516 err |= __put_user (s.freeswap, &info->freeswap);
517 err |= __put_user (s.procs, &info->procs);
518 err |= __put_user (s.totalhigh, &info->totalhigh);
519 err |= __put_user (s.freehigh, &info->freehigh);
520 err |= __put_user (s.mem_unit, &info->mem_unit);
521 if (err)
522 return -EFAULT;
523 return ret;
524}
525
526asmlinkage long compat_sys_sched_rr_get_interval(compat_pid_t pid, struct compat_timespec __user *interval) 462asmlinkage long compat_sys_sched_rr_get_interval(compat_pid_t pid, struct compat_timespec __user *interval)
527{ 463{
528 struct timespec t; 464 struct timespec t;
diff --git a/arch/sparc64/kernel/systbls.S b/arch/sparc64/kernel/systbls.S
index 9a8026797ac0..948b7d2d5874 100644
--- a/arch/sparc64/kernel/systbls.S
+++ b/arch/sparc64/kernel/systbls.S
@@ -61,7 +61,7 @@ sys_call_table32:
61 .word sys32_epoll_wait, sys32_ioprio_set, sys_getppid, sys32_sigaction, sys_sgetmask 61 .word sys32_epoll_wait, sys32_ioprio_set, sys_getppid, sys32_sigaction, sys_sgetmask
62/*200*/ .word sys32_ssetmask, sys_sigsuspend, compat_sys_newlstat, sys_uselib, compat_sys_old_readdir 62/*200*/ .word sys32_ssetmask, sys_sigsuspend, compat_sys_newlstat, sys_uselib, compat_sys_old_readdir
63 .word sys32_readahead, sys32_socketcall, sys32_syslog, sys32_lookup_dcookie, sys32_fadvise64 63 .word sys32_readahead, sys32_socketcall, sys32_syslog, sys32_lookup_dcookie, sys32_fadvise64
64/*210*/ .word sys32_fadvise64_64, sys32_tgkill, sys32_waitpid, sys_swapoff, sys32_sysinfo 64/*210*/ .word sys32_fadvise64_64, sys32_tgkill, sys32_waitpid, sys_swapoff, compat_sys_sysinfo
65 .word sys32_ipc, sys32_sigreturn, sys_clone, sys32_ioprio_get, compat_sys_adjtimex 65 .word sys32_ipc, sys32_sigreturn, sys_clone, sys32_ioprio_get, compat_sys_adjtimex
66/*220*/ .word sys32_sigprocmask, sys_ni_syscall, sys32_delete_module, sys_ni_syscall, sys32_getpgid 66/*220*/ .word sys32_sigprocmask, sys_ni_syscall, sys32_delete_module, sys_ni_syscall, sys32_getpgid
67 .word sys32_bdflush, sys32_sysfs, sys_nis_syscall, sys32_setfsuid16, sys32_setfsgid16 67 .word sys32_bdflush, sys32_sysfs, sys_nis_syscall, sys32_setfsuid16, sys32_setfsgid16
diff --git a/arch/sparc64/kernel/vmlinux.lds.S b/arch/sparc64/kernel/vmlinux.lds.S
index 4a6063f33e7a..13fa2a2e4513 100644
--- a/arch/sparc64/kernel/vmlinux.lds.S
+++ b/arch/sparc64/kernel/vmlinux.lds.S
@@ -81,10 +81,14 @@ SECTIONS
81 __sun4v_2insn_patch = .; 81 __sun4v_2insn_patch = .;
82 .sun4v_2insn_patch : { *(.sun4v_2insn_patch) } 82 .sun4v_2insn_patch : { *(.sun4v_2insn_patch) }
83 __sun4v_2insn_patch_end = .; 83 __sun4v_2insn_patch_end = .;
84
85#ifdef CONFIG_BLK_DEV_INITRD
84 . = ALIGN(8192); 86 . = ALIGN(8192);
85 __initramfs_start = .; 87 __initramfs_start = .;
86 .init.ramfs : { *(.init.ramfs) } 88 .init.ramfs : { *(.init.ramfs) }
87 __initramfs_end = .; 89 __initramfs_end = .;
90#endif
91
88 . = ALIGN(8192); 92 . = ALIGN(8192);
89 __per_cpu_start = .; 93 __per_cpu_start = .;
90 .data.percpu : { *(.data.percpu) } 94 .data.percpu : { *(.data.percpu) }
diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c
index 054822a3e05e..09d434f41e4b 100644
--- a/arch/sparc64/mm/init.c
+++ b/arch/sparc64/mm/init.c
@@ -416,7 +416,7 @@ void show_mem(void)
416 printk("Free swap: %6ldkB\n", 416 printk("Free swap: %6ldkB\n",
417 nr_swap_pages << (PAGE_SHIFT-10)); 417 nr_swap_pages << (PAGE_SHIFT-10));
418 printk("%ld pages of RAM\n", num_physpages); 418 printk("%ld pages of RAM\n", num_physpages);
419 printk("%d free pages\n", nr_free_pages()); 419 printk("%lu free pages\n", nr_free_pages());
420} 420}
421 421
422void mmu_info(struct seq_file *m) 422void mmu_info(struct seq_file *m)
@@ -1593,7 +1593,7 @@ void __init mem_init(void)
1593 initpages = (((unsigned long) __init_end) - ((unsigned long) __init_begin)); 1593 initpages = (((unsigned long) __init_end) - ((unsigned long) __init_begin));
1594 initpages = PAGE_ALIGN(initpages) >> PAGE_SHIFT; 1594 initpages = PAGE_ALIGN(initpages) >> PAGE_SHIFT;
1595 1595
1596 printk("Memory: %uk available (%ldk kernel code, %ldk data, %ldk init) [%016lx,%016lx]\n", 1596 printk("Memory: %luk available (%ldk kernel code, %ldk data, %ldk init) [%016lx,%016lx]\n",
1597 nr_free_pages() << (PAGE_SHIFT-10), 1597 nr_free_pages() << (PAGE_SHIFT-10),
1598 codepages << (PAGE_SHIFT-10), 1598 codepages << (PAGE_SHIFT-10),
1599 datapages << (PAGE_SHIFT-10), 1599 datapages << (PAGE_SHIFT-10),
diff --git a/arch/um/Kconfig b/arch/um/Kconfig
index d32a80e6668c..b3a21ba77cd2 100644
--- a/arch/um/Kconfig
+++ b/arch/um/Kconfig
@@ -16,6 +16,9 @@ config MMU
16 bool 16 bool
17 default y 17 default y
18 18
19config NO_IOMEM
20 def_bool y
21
19mainmenu "Linux/Usermode Kernel Configuration" 22mainmenu "Linux/Usermode Kernel Configuration"
20 23
21config ISA 24config ISA
diff --git a/arch/um/drivers/chan_kern.c b/arch/um/drivers/chan_kern.c
index 7d4190e55654..7b8baf146acc 100644
--- a/arch/um/drivers/chan_kern.c
+++ b/arch/um/drivers/chan_kern.c
@@ -19,44 +19,11 @@
19#include "line.h" 19#include "line.h"
20#include "os.h" 20#include "os.h"
21 21
22/* XXX: could well be moved to somewhere else, if needed. */
23static int my_printf(const char * fmt, ...)
24 __attribute__ ((format (printf, 1, 2)));
25
26static int my_printf(const char * fmt, ...)
27{
28 /* Yes, can be called on atomic context.*/
29 char *buf = kmalloc(4096, GFP_ATOMIC);
30 va_list args;
31 int r;
32
33 if (!buf) {
34 /* We print directly fmt.
35 * Yes, yes, yes, feel free to complain. */
36 r = strlen(fmt);
37 } else {
38 va_start(args, fmt);
39 r = vsprintf(buf, fmt, args);
40 va_end(args);
41 fmt = buf;
42 }
43
44 if (r)
45 r = os_write_file(1, fmt, r);
46 return r;
47
48}
49
50#ifdef CONFIG_NOCONFIG_CHAN 22#ifdef CONFIG_NOCONFIG_CHAN
51/* Despite its name, there's no added trailing newline. */ 23static void *not_configged_init(char *str, int device,
52static int my_puts(const char * buf) 24 const struct chan_opts *opts)
53{
54 return os_write_file(1, buf, strlen(buf));
55}
56
57static void *not_configged_init(char *str, int device, struct chan_opts *opts)
58{ 25{
59 my_puts("Using a channel type which is configured out of " 26 printk("Using a channel type which is configured out of "
60 "UML\n"); 27 "UML\n");
61 return NULL; 28 return NULL;
62} 29}
@@ -64,34 +31,34 @@ static void *not_configged_init(char *str, int device, struct chan_opts *opts)
64static int not_configged_open(int input, int output, int primary, void *data, 31static int not_configged_open(int input, int output, int primary, void *data,
65 char **dev_out) 32 char **dev_out)
66{ 33{
67 my_puts("Using a channel type which is configured out of " 34 printk("Using a channel type which is configured out of "
68 "UML\n"); 35 "UML\n");
69 return -ENODEV; 36 return -ENODEV;
70} 37}
71 38
72static void not_configged_close(int fd, void *data) 39static void not_configged_close(int fd, void *data)
73{ 40{
74 my_puts("Using a channel type which is configured out of " 41 printk("Using a channel type which is configured out of "
75 "UML\n"); 42 "UML\n");
76} 43}
77 44
78static int not_configged_read(int fd, char *c_out, void *data) 45static int not_configged_read(int fd, char *c_out, void *data)
79{ 46{
80 my_puts("Using a channel type which is configured out of " 47 printk("Using a channel type which is configured out of "
81 "UML\n"); 48 "UML\n");
82 return -EIO; 49 return -EIO;
83} 50}
84 51
85static int not_configged_write(int fd, const char *buf, int len, void *data) 52static int not_configged_write(int fd, const char *buf, int len, void *data)
86{ 53{
87 my_puts("Using a channel type which is configured out of " 54 printk("Using a channel type which is configured out of "
88 "UML\n"); 55 "UML\n");
89 return -EIO; 56 return -EIO;
90} 57}
91 58
92static int not_configged_console_write(int fd, const char *buf, int len) 59static int not_configged_console_write(int fd, const char *buf, int len)
93{ 60{
94 my_puts("Using a channel type which is configured out of " 61 printk("Using a channel type which is configured out of "
95 "UML\n"); 62 "UML\n");
96 return -EIO; 63 return -EIO;
97} 64}
@@ -99,14 +66,14 @@ static int not_configged_console_write(int fd, const char *buf, int len)
99static int not_configged_window_size(int fd, void *data, unsigned short *rows, 66static int not_configged_window_size(int fd, void *data, unsigned short *rows,
100 unsigned short *cols) 67 unsigned short *cols)
101{ 68{
102 my_puts("Using a channel type which is configured out of " 69 printk("Using a channel type which is configured out of "
103 "UML\n"); 70 "UML\n");
104 return -ENODEV; 71 return -ENODEV;
105} 72}
106 73
107static void not_configged_free(void *data) 74static void not_configged_free(void *data)
108{ 75{
109 my_puts("Using a channel type which is configured out of " 76 printk("Using a channel type which is configured out of "
110 "UML\n"); 77 "UML\n");
111} 78}
112 79
@@ -255,15 +222,28 @@ void enable_chan(struct line *line)
255 } 222 }
256} 223}
257 224
225/* Items are added in IRQ context, when free_irq can't be called, and
226 * removed in process context, when it can.
227 * This handles interrupt sources which disappear, and which need to
228 * be permanently disabled. This is discovered in IRQ context, but
229 * the freeing of the IRQ must be done later.
230 */
231static DEFINE_SPINLOCK(irqs_to_free_lock);
258static LIST_HEAD(irqs_to_free); 232static LIST_HEAD(irqs_to_free);
259 233
260void free_irqs(void) 234void free_irqs(void)
261{ 235{
262 struct chan *chan; 236 struct chan *chan;
237 LIST_HEAD(list);
238 struct list_head *ele;
263 239
264 while(!list_empty(&irqs_to_free)){ 240 spin_lock_irq(&irqs_to_free_lock);
265 chan = list_entry(irqs_to_free.next, struct chan, free_list); 241 list_splice_init(&irqs_to_free, &list);
266 list_del(&chan->free_list); 242 INIT_LIST_HEAD(&irqs_to_free);
243 spin_unlock_irq(&irqs_to_free_lock);
244
245 list_for_each(ele, &list){
246 chan = list_entry(ele, struct chan, free_list);
267 247
268 if(chan->input) 248 if(chan->input)
269 free_irq(chan->line->driver->read_irq, chan); 249 free_irq(chan->line->driver->read_irq, chan);
@@ -279,7 +259,9 @@ static void close_one_chan(struct chan *chan, int delay_free_irq)
279 return; 259 return;
280 260
281 if(delay_free_irq){ 261 if(delay_free_irq){
262 spin_lock_irq(&irqs_to_free_lock);
282 list_add(&chan->free_list, &irqs_to_free); 263 list_add(&chan->free_list, &irqs_to_free);
264 spin_unlock_irq(&irqs_to_free_lock);
283 } 265 }
284 else { 266 else {
285 if(chan->input) 267 if(chan->input)
@@ -372,8 +354,7 @@ int console_write_chan(struct list_head *chans, const char *buf, int len)
372 return ret; 354 return ret;
373} 355}
374 356
375int console_open_chan(struct line *line, struct console *co, 357int console_open_chan(struct line *line, struct console *co)
376 const struct chan_opts *opts)
377{ 358{
378 int err; 359 int err;
379 360
@@ -381,7 +362,7 @@ int console_open_chan(struct line *line, struct console *co,
381 if(err) 362 if(err)
382 return err; 363 return err;
383 364
384 printk("Console initialized on /dev/%s%d\n",co->name,co->index); 365 printk("Console initialized on /dev/%s%d\n", co->name, co->index);
385 return 0; 366 return 0;
386} 367}
387 368
@@ -534,7 +515,7 @@ static const struct chan_type chan_table[] = {
534}; 515};
535 516
536static struct chan *parse_chan(struct line *line, char *str, int device, 517static struct chan *parse_chan(struct line *line, char *str, int device,
537 const struct chan_opts *opts) 518 const struct chan_opts *opts, char **error_out)
538{ 519{
539 const struct chan_type *entry; 520 const struct chan_type *entry;
540 const struct chan_ops *ops; 521 const struct chan_ops *ops;
@@ -553,19 +534,21 @@ static struct chan *parse_chan(struct line *line, char *str, int device,
553 } 534 }
554 } 535 }
555 if(ops == NULL){ 536 if(ops == NULL){
556 my_printf("parse_chan couldn't parse \"%s\"\n", 537 *error_out = "No match for configured backends";
557 str);
558 return NULL; 538 return NULL;
559 } 539 }
560 if(ops->init == NULL) 540
561 return NULL;
562 data = (*ops->init)(str, device, opts); 541 data = (*ops->init)(str, device, opts);
563 if(data == NULL) 542 if(data == NULL){
543 *error_out = "Configuration failed";
564 return NULL; 544 return NULL;
545 }
565 546
566 chan = kmalloc(sizeof(*chan), GFP_ATOMIC); 547 chan = kmalloc(sizeof(*chan), GFP_ATOMIC);
567 if(chan == NULL) 548 if(chan == NULL){
549 *error_out = "Memory allocation failed";
568 return NULL; 550 return NULL;
551 }
569 *chan = ((struct chan) { .list = LIST_HEAD_INIT(chan->list), 552 *chan = ((struct chan) { .list = LIST_HEAD_INIT(chan->list),
570 .free_list = 553 .free_list =
571 LIST_HEAD_INIT(chan->free_list), 554 LIST_HEAD_INIT(chan->free_list),
@@ -582,7 +565,7 @@ static struct chan *parse_chan(struct line *line, char *str, int device,
582} 565}
583 566
584int parse_chan_pair(char *str, struct line *line, int device, 567int parse_chan_pair(char *str, struct line *line, int device,
585 const struct chan_opts *opts) 568 const struct chan_opts *opts, char **error_out)
586{ 569{
587 struct list_head *chans = &line->chan_list; 570 struct list_head *chans = &line->chan_list;
588 struct chan *new, *chan; 571 struct chan *new, *chan;
@@ -599,14 +582,14 @@ int parse_chan_pair(char *str, struct line *line, int device,
599 in = str; 582 in = str;
600 *out = '\0'; 583 *out = '\0';
601 out++; 584 out++;
602 new = parse_chan(line, in, device, opts); 585 new = parse_chan(line, in, device, opts, error_out);
603 if(new == NULL) 586 if(new == NULL)
604 return -1; 587 return -1;
605 588
606 new->input = 1; 589 new->input = 1;
607 list_add(&new->list, chans); 590 list_add(&new->list, chans);
608 591
609 new = parse_chan(line, out, device, opts); 592 new = parse_chan(line, out, device, opts, error_out);
610 if(new == NULL) 593 if(new == NULL)
611 return -1; 594 return -1;
612 595
@@ -614,7 +597,7 @@ int parse_chan_pair(char *str, struct line *line, int device,
614 new->output = 1; 597 new->output = 1;
615 } 598 }
616 else { 599 else {
617 new = parse_chan(line, str, device, opts); 600 new = parse_chan(line, str, device, opts, error_out);
618 if(new == NULL) 601 if(new == NULL)
619 return -1; 602 return -1;
620 603
diff --git a/arch/um/drivers/harddog_kern.c b/arch/um/drivers/harddog_kern.c
index 64ff22aa077b..73c5caa7a150 100644
--- a/arch/um/drivers/harddog_kern.c
+++ b/arch/um/drivers/harddog_kern.c
@@ -9,10 +9,10 @@
9 * modify it under the terms of the GNU General Public License 9 * modify it under the terms of the GNU General Public License
10 * as published by the Free Software Foundation; either version 10 * as published by the Free Software Foundation; either version
11 * 2 of the License, or (at your option) any later version. 11 * 2 of the License, or (at your option) any later version.
12 * 12 *
13 * Neither Alan Cox nor CymruNet Ltd. admit liability nor provide 13 * Neither Alan Cox nor CymruNet Ltd. admit liability nor provide
14 * warranty for any of this software. This material is provided 14 * warranty for any of this software. This material is provided
15 * "AS-IS" and at no charge. 15 * "AS-IS" and at no charge.
16 * 16 *
17 * (c) Copyright 1995 Alan Cox <alan@lxorguk.ukuu.org.uk> 17 * (c) Copyright 1995 Alan Cox <alan@lxorguk.ukuu.org.uk>
18 * 18 *
@@ -29,11 +29,11 @@
29 * Made SMP safe for 2.3.x 29 * Made SMP safe for 2.3.x
30 * 30 *
31 * 20011127 Joel Becker (jlbec@evilplan.org> 31 * 20011127 Joel Becker (jlbec@evilplan.org>
32 * Added soft_noboot; Allows testing the softdog trigger without 32 * Added soft_noboot; Allows testing the softdog trigger without
33 * requiring a recompile. 33 * requiring a recompile.
34 * Added WDIOC_GETTIMEOUT and WDIOC_SETTIMOUT. 34 * Added WDIOC_GETTIMEOUT and WDIOC_SETTIMOUT.
35 */ 35 */
36 36
37#include <linux/module.h> 37#include <linux/module.h>
38#include <linux/types.h> 38#include <linux/types.h>
39#include <linux/kernel.h> 39#include <linux/kernel.h>
@@ -44,12 +44,13 @@
44#include <linux/reboot.h> 44#include <linux/reboot.h>
45#include <linux/smp_lock.h> 45#include <linux/smp_lock.h>
46#include <linux/init.h> 46#include <linux/init.h>
47#include <linux/spinlock.h>
47#include <asm/uaccess.h> 48#include <asm/uaccess.h>
48#include "mconsole.h" 49#include "mconsole.h"
49 50
50MODULE_LICENSE("GPL"); 51MODULE_LICENSE("GPL");
51 52
52/* Locked by the BKL in harddog_open and harddog_release */ 53static DEFINE_SPINLOCK(lock);
53static int timer_alive; 54static int timer_alive;
54static int harddog_in_fd = -1; 55static int harddog_in_fd = -1;
55static int harddog_out_fd = -1; 56static int harddog_out_fd = -1;
@@ -57,18 +58,18 @@ static int harddog_out_fd = -1;
57/* 58/*
58 * Allow only one person to hold it open 59 * Allow only one person to hold it open
59 */ 60 */
60 61
61extern int start_watchdog(int *in_fd_ret, int *out_fd_ret, char *sock); 62extern int start_watchdog(int *in_fd_ret, int *out_fd_ret, char *sock);
62 63
63static int harddog_open(struct inode *inode, struct file *file) 64static int harddog_open(struct inode *inode, struct file *file)
64{ 65{
65 int err; 66 int err = -EBUSY;
66 char *sock = NULL; 67 char *sock = NULL;
67 68
68 lock_kernel(); 69 spin_lock(&lock);
69 if(timer_alive) 70 if(timer_alive)
70 return -EBUSY; 71 goto err;
71#ifdef CONFIG_HARDDOG_NOWAYOUT 72#ifdef CONFIG_HARDDOG_NOWAYOUT
72 __module_get(THIS_MODULE); 73 __module_get(THIS_MODULE);
73#endif 74#endif
74 75
@@ -76,11 +77,15 @@ static int harddog_open(struct inode *inode, struct file *file)
76 sock = mconsole_notify_socket(); 77 sock = mconsole_notify_socket();
77#endif 78#endif
78 err = start_watchdog(&harddog_in_fd, &harddog_out_fd, sock); 79 err = start_watchdog(&harddog_in_fd, &harddog_out_fd, sock);
79 if(err) return(err); 80 if(err)
81 goto err;
80 82
81 timer_alive = 1; 83 timer_alive = 1;
82 unlock_kernel(); 84 spin_unlock(&lock);
83 return nonseekable_open(inode, file); 85 return nonseekable_open(inode, file);
86err:
87 spin_unlock(&lock);
88 return err;
84} 89}
85 90
86extern void stop_watchdog(int in_fd, int out_fd); 91extern void stop_watchdog(int in_fd, int out_fd);
@@ -90,14 +95,16 @@ static int harddog_release(struct inode *inode, struct file *file)
90 /* 95 /*
91 * Shut off the timer. 96 * Shut off the timer.
92 */ 97 */
93 lock_kernel(); 98
99 spin_lock(&lock);
94 100
95 stop_watchdog(harddog_in_fd, harddog_out_fd); 101 stop_watchdog(harddog_in_fd, harddog_out_fd);
96 harddog_in_fd = -1; 102 harddog_in_fd = -1;
97 harddog_out_fd = -1; 103 harddog_out_fd = -1;
98 104
99 timer_alive=0; 105 timer_alive=0;
100 unlock_kernel(); 106 spin_unlock(&lock);
107
101 return 0; 108 return 0;
102} 109}
103 110
@@ -110,7 +117,7 @@ static ssize_t harddog_write(struct file *file, const char __user *data, size_t
110 * Refresh the timer. 117 * Refresh the timer.
111 */ 118 */
112 if(len) 119 if(len)
113 return(ping_watchdog(harddog_out_fd)); 120 return ping_watchdog(harddog_out_fd);
114 return 0; 121 return 0;
115} 122}
116 123
@@ -134,7 +141,7 @@ static int harddog_ioctl(struct inode *inode, struct file *file,
134 case WDIOC_GETBOOTSTATUS: 141 case WDIOC_GETBOOTSTATUS:
135 return put_user(0,(int __user *)argp); 142 return put_user(0,(int __user *)argp);
136 case WDIOC_KEEPALIVE: 143 case WDIOC_KEEPALIVE:
137 return(ping_watchdog(harddog_out_fd)); 144 return ping_watchdog(harddog_out_fd);
138 } 145 }
139} 146}
140 147
@@ -165,7 +172,7 @@ static int __init harddog_init(void)
165 172
166 printk(banner); 173 printk(banner);
167 174
168 return(0); 175 return 0;
169} 176}
170 177
171static void __exit harddog_exit(void) 178static void __exit harddog_exit(void)
@@ -175,14 +182,3 @@ static void __exit harddog_exit(void)
175 182
176module_init(harddog_init); 183module_init(harddog_init);
177module_exit(harddog_exit); 184module_exit(harddog_exit);
178
179/*
180 * Overrides for Emacs so that we follow Linus's tabbing style.
181 * Emacs will notice this stuff at the end of the file and automatically
182 * adjust the settings for this buffer only. This must remain at the end
183 * of the file.
184 * ---------------------------------------------------------------------------
185 * Local variables:
186 * c-file-style: "linux"
187 * End:
188 */
diff --git a/arch/um/drivers/harddog_user.c b/arch/um/drivers/harddog_user.c
index def013b5a3c7..c495ecf263b1 100644
--- a/arch/um/drivers/harddog_user.c
+++ b/arch/um/drivers/harddog_user.c
@@ -1,4 +1,4 @@
1/* 1/*
2 * Copyright (C) 2002 Jeff Dike (jdike@karaya.com) 2 * Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
3 * Licensed under the GPL 3 * Licensed under the GPL
4 */ 4 */
@@ -38,7 +38,7 @@ int start_watchdog(int *in_fd_ret, int *out_fd_ret, char *sock)
38 int in_fds[2], out_fds[2], pid, n, err; 38 int in_fds[2], out_fds[2], pid, n, err;
39 char pid_buf[sizeof("nnnnn\0")], c; 39 char pid_buf[sizeof("nnnnn\0")], c;
40 char *pid_args[] = { "/usr/bin/uml_watchdog", "-pid", pid_buf, NULL }; 40 char *pid_args[] = { "/usr/bin/uml_watchdog", "-pid", pid_buf, NULL };
41 char *mconsole_args[] = { "/usr/bin/uml_watchdog", "-mconsole", NULL, 41 char *mconsole_args[] = { "/usr/bin/uml_watchdog", "-mconsole", NULL,
42 NULL }; 42 NULL };
43 char **args = NULL; 43 char **args = NULL;
44 44
@@ -96,7 +96,7 @@ int start_watchdog(int *in_fd_ret, int *out_fd_ret, char *sock)
96 } 96 }
97 *in_fd_ret = in_fds[0]; 97 *in_fd_ret = in_fds[0];
98 *out_fd_ret = out_fds[1]; 98 *out_fd_ret = out_fds[1];
99 return(0); 99 return 0;
100 100
101 out_close_in: 101 out_close_in:
102 os_close_file(in_fds[0]); 102 os_close_file(in_fds[0]);
@@ -105,7 +105,7 @@ int start_watchdog(int *in_fd_ret, int *out_fd_ret, char *sock)
105 os_close_file(out_fds[0]); 105 os_close_file(out_fds[0]);
106 os_close_file(out_fds[1]); 106 os_close_file(out_fds[1]);
107 out: 107 out:
108 return(err); 108 return err;
109} 109}
110 110
111void stop_watchdog(int in_fd, int out_fd) 111void stop_watchdog(int in_fd, int out_fd)
@@ -123,20 +123,9 @@ int ping_watchdog(int fd)
123 if(n != sizeof(c)){ 123 if(n != sizeof(c)){
124 printk("ping_watchdog - write failed, err = %d\n", -n); 124 printk("ping_watchdog - write failed, err = %d\n", -n);
125 if(n < 0) 125 if(n < 0)
126 return(n); 126 return n;
127 return(-EIO); 127 return -EIO;
128 } 128 }
129 return 1; 129 return 1;
130 130
131} 131}
132
133/*
134 * Overrides for Emacs so that we follow Linus's tabbing style.
135 * Emacs will notice this stuff at the end of the file and automatically
136 * adjust the settings for this buffer only. This must remain at the end
137 * of the file.
138 * ---------------------------------------------------------------------------
139 * Local variables:
140 * c-file-style: "linux"
141 * End:
142 */
diff --git a/arch/um/drivers/hostaudio_kern.c b/arch/um/drivers/hostaudio_kern.c
index a0d148ea63d6..10e08a8c17c3 100644
--- a/arch/um/drivers/hostaudio_kern.c
+++ b/arch/um/drivers/hostaudio_kern.c
@@ -15,19 +15,22 @@
15#include "os.h" 15#include "os.h"
16 16
17struct hostaudio_state { 17struct hostaudio_state {
18 int fd; 18 int fd;
19}; 19};
20 20
21struct hostmixer_state { 21struct hostmixer_state {
22 int fd; 22 int fd;
23}; 23};
24 24
25#define HOSTAUDIO_DEV_DSP "/dev/sound/dsp" 25#define HOSTAUDIO_DEV_DSP "/dev/sound/dsp"
26#define HOSTAUDIO_DEV_MIXER "/dev/sound/mixer" 26#define HOSTAUDIO_DEV_MIXER "/dev/sound/mixer"
27 27
28/* Only changed from linux_main at boot time */ 28/* Changed either at boot time or module load time. At boot, this is
29char *dsp = HOSTAUDIO_DEV_DSP; 29 * single-threaded; at module load, multiple modules would each have
30char *mixer = HOSTAUDIO_DEV_MIXER; 30 * their own copy of these variables.
31 */
32static char *dsp = HOSTAUDIO_DEV_DSP;
33static char *mixer = HOSTAUDIO_DEV_MIXER;
31 34
32#define DSP_HELP \ 35#define DSP_HELP \
33" This is used to specify the host dsp device to the hostaudio driver.\n" \ 36" This is used to specify the host dsp device to the hostaudio driver.\n" \
@@ -69,12 +72,12 @@ MODULE_PARM_DESC(mixer, MIXER_HELP);
69static ssize_t hostaudio_read(struct file *file, char __user *buffer, 72static ssize_t hostaudio_read(struct file *file, char __user *buffer,
70 size_t count, loff_t *ppos) 73 size_t count, loff_t *ppos)
71{ 74{
72 struct hostaudio_state *state = file->private_data; 75 struct hostaudio_state *state = file->private_data;
73 void *kbuf; 76 void *kbuf;
74 int err; 77 int err;
75 78
76#ifdef DEBUG 79#ifdef DEBUG
77 printk("hostaudio: read called, count = %d\n", count); 80 printk("hostaudio: read called, count = %d\n", count);
78#endif 81#endif
79 82
80 kbuf = kmalloc(count, GFP_KERNEL); 83 kbuf = kmalloc(count, GFP_KERNEL);
@@ -88,7 +91,7 @@ static ssize_t hostaudio_read(struct file *file, char __user *buffer,
88 if(copy_to_user(buffer, kbuf, err)) 91 if(copy_to_user(buffer, kbuf, err))
89 err = -EFAULT; 92 err = -EFAULT;
90 93
91 out: 94out:
92 kfree(kbuf); 95 kfree(kbuf);
93 return(err); 96 return(err);
94} 97}
@@ -96,12 +99,12 @@ static ssize_t hostaudio_read(struct file *file, char __user *buffer,
96static ssize_t hostaudio_write(struct file *file, const char __user *buffer, 99static ssize_t hostaudio_write(struct file *file, const char __user *buffer,
97 size_t count, loff_t *ppos) 100 size_t count, loff_t *ppos)
98{ 101{
99 struct hostaudio_state *state = file->private_data; 102 struct hostaudio_state *state = file->private_data;
100 void *kbuf; 103 void *kbuf;
101 int err; 104 int err;
102 105
103#ifdef DEBUG 106#ifdef DEBUG
104 printk("hostaudio: write called, count = %d\n", count); 107 printk("hostaudio: write called, count = %d\n", count);
105#endif 108#endif
106 109
107 kbuf = kmalloc(count, GFP_KERNEL); 110 kbuf = kmalloc(count, GFP_KERNEL);
@@ -125,24 +128,24 @@ static ssize_t hostaudio_write(struct file *file, const char __user *buffer,
125static unsigned int hostaudio_poll(struct file *file, 128static unsigned int hostaudio_poll(struct file *file,
126 struct poll_table_struct *wait) 129 struct poll_table_struct *wait)
127{ 130{
128 unsigned int mask = 0; 131 unsigned int mask = 0;
129 132
130#ifdef DEBUG 133#ifdef DEBUG
131 printk("hostaudio: poll called (unimplemented)\n"); 134 printk("hostaudio: poll called (unimplemented)\n");
132#endif 135#endif
133 136
134 return(mask); 137 return(mask);
135} 138}
136 139
137static int hostaudio_ioctl(struct inode *inode, struct file *file, 140static int hostaudio_ioctl(struct inode *inode, struct file *file,
138 unsigned int cmd, unsigned long arg) 141 unsigned int cmd, unsigned long arg)
139{ 142{
140 struct hostaudio_state *state = file->private_data; 143 struct hostaudio_state *state = file->private_data;
141 unsigned long data = 0; 144 unsigned long data = 0;
142 int err; 145 int err;
143 146
144#ifdef DEBUG 147#ifdef DEBUG
145 printk("hostaudio: ioctl called, cmd = %u\n", cmd); 148 printk("hostaudio: ioctl called, cmd = %u\n", cmd);
146#endif 149#endif
147 switch(cmd){ 150 switch(cmd){
148 case SNDCTL_DSP_SPEED: 151 case SNDCTL_DSP_SPEED:
@@ -179,42 +182,40 @@ static int hostaudio_ioctl(struct inode *inode, struct file *file,
179 182
180static int hostaudio_open(struct inode *inode, struct file *file) 183static int hostaudio_open(struct inode *inode, struct file *file)
181{ 184{
182 struct hostaudio_state *state; 185 struct hostaudio_state *state;
183 int r = 0, w = 0; 186 int r = 0, w = 0;
184 int ret; 187 int ret;
185 188
186#ifdef DEBUG 189#ifdef DEBUG
187 printk("hostaudio: open called (host: %s)\n", dsp); 190 printk("hostaudio: open called (host: %s)\n", dsp);
188#endif 191#endif
189 192
190 state = kmalloc(sizeof(struct hostaudio_state), GFP_KERNEL); 193 state = kmalloc(sizeof(struct hostaudio_state), GFP_KERNEL);
191 if(state == NULL) 194 if(state == NULL)
192 return(-ENOMEM); 195 return(-ENOMEM);
193 196
194 if(file->f_mode & FMODE_READ) r = 1; 197 if(file->f_mode & FMODE_READ) r = 1;
195 if(file->f_mode & FMODE_WRITE) w = 1; 198 if(file->f_mode & FMODE_WRITE) w = 1;
196 199
197 ret = os_open_file(dsp, of_set_rw(OPENFLAGS(), r, w), 0); 200 ret = os_open_file(dsp, of_set_rw(OPENFLAGS(), r, w), 0);
198 if(ret < 0){ 201 if(ret < 0){
199 kfree(state); 202 kfree(state);
200 return(ret); 203 return(ret);
201 } 204 }
202
203 state->fd = ret; 205 state->fd = ret;
204 file->private_data = state; 206 file->private_data = state;
205 return(0); 207 return(0);
206} 208}
207 209
208static int hostaudio_release(struct inode *inode, struct file *file) 210static int hostaudio_release(struct inode *inode, struct file *file)
209{ 211{
210 struct hostaudio_state *state = file->private_data; 212 struct hostaudio_state *state = file->private_data;
211 213
212#ifdef DEBUG 214#ifdef DEBUG
213 printk("hostaudio: release called\n"); 215 printk("hostaudio: release called\n");
214#endif 216#endif
215 217 os_close_file(state->fd);
216 os_close_file(state->fd); 218 kfree(state);
217 kfree(state);
218 219
219 return(0); 220 return(0);
220} 221}
@@ -224,10 +225,10 @@ static int hostaudio_release(struct inode *inode, struct file *file)
224static int hostmixer_ioctl_mixdev(struct inode *inode, struct file *file, 225static int hostmixer_ioctl_mixdev(struct inode *inode, struct file *file,
225 unsigned int cmd, unsigned long arg) 226 unsigned int cmd, unsigned long arg)
226{ 227{
227 struct hostmixer_state *state = file->private_data; 228 struct hostmixer_state *state = file->private_data;
228 229
229#ifdef DEBUG 230#ifdef DEBUG
230 printk("hostmixer: ioctl called\n"); 231 printk("hostmixer: ioctl called\n");
231#endif 232#endif
232 233
233 return(os_ioctl_generic(state->fd, cmd, arg)); 234 return(os_ioctl_generic(state->fd, cmd, arg));
@@ -235,68 +236,67 @@ static int hostmixer_ioctl_mixdev(struct inode *inode, struct file *file,
235 236
236static int hostmixer_open_mixdev(struct inode *inode, struct file *file) 237static int hostmixer_open_mixdev(struct inode *inode, struct file *file)
237{ 238{
238 struct hostmixer_state *state; 239 struct hostmixer_state *state;
239 int r = 0, w = 0; 240 int r = 0, w = 0;
240 int ret; 241 int ret;
241 242
242#ifdef DEBUG 243#ifdef DEBUG
243 printk("hostmixer: open called (host: %s)\n", mixer); 244 printk("hostmixer: open called (host: %s)\n", mixer);
244#endif 245#endif
245 246
246 state = kmalloc(sizeof(struct hostmixer_state), GFP_KERNEL); 247 state = kmalloc(sizeof(struct hostmixer_state), GFP_KERNEL);
247 if(state == NULL) return(-ENOMEM); 248 if(state == NULL) return(-ENOMEM);
248 249
249 if(file->f_mode & FMODE_READ) r = 1; 250 if(file->f_mode & FMODE_READ) r = 1;
250 if(file->f_mode & FMODE_WRITE) w = 1; 251 if(file->f_mode & FMODE_WRITE) w = 1;
251 252
252 ret = os_open_file(mixer, of_set_rw(OPENFLAGS(), r, w), 0); 253 ret = os_open_file(mixer, of_set_rw(OPENFLAGS(), r, w), 0);
253 254
254 if(ret < 0){ 255 if(ret < 0){
255 printk("hostaudio_open_mixdev failed to open '%s', err = %d\n", 256 printk("hostaudio_open_mixdev failed to open '%s', err = %d\n",
256 dsp, -ret); 257 dsp, -ret);
257 kfree(state); 258 kfree(state);
258 return(ret); 259 return(ret);
259 } 260 }
260 261
261 file->private_data = state; 262 file->private_data = state;
262 return(0); 263 return(0);
263} 264}
264 265
265static int hostmixer_release(struct inode *inode, struct file *file) 266static int hostmixer_release(struct inode *inode, struct file *file)
266{ 267{
267 struct hostmixer_state *state = file->private_data; 268 struct hostmixer_state *state = file->private_data;
268 269
269#ifdef DEBUG 270#ifdef DEBUG
270 printk("hostmixer: release called\n"); 271 printk("hostmixer: release called\n");
271#endif 272#endif
272 273
273 os_close_file(state->fd); 274 os_close_file(state->fd);
274 kfree(state); 275 kfree(state);
275 276
276 return(0); 277 return(0);
277} 278}
278 279
279
280/* kernel module operations */ 280/* kernel module operations */
281 281
282static const struct file_operations hostaudio_fops = { 282static const struct file_operations hostaudio_fops = {
283 .owner = THIS_MODULE, 283 .owner = THIS_MODULE,
284 .llseek = no_llseek, 284 .llseek = no_llseek,
285 .read = hostaudio_read, 285 .read = hostaudio_read,
286 .write = hostaudio_write, 286 .write = hostaudio_write,
287 .poll = hostaudio_poll, 287 .poll = hostaudio_poll,
288 .ioctl = hostaudio_ioctl, 288 .ioctl = hostaudio_ioctl,
289 .mmap = NULL, 289 .mmap = NULL,
290 .open = hostaudio_open, 290 .open = hostaudio_open,
291 .release = hostaudio_release, 291 .release = hostaudio_release,
292}; 292};
293 293
294static const struct file_operations hostmixer_fops = { 294static const struct file_operations hostmixer_fops = {
295 .owner = THIS_MODULE, 295 .owner = THIS_MODULE,
296 .llseek = no_llseek, 296 .llseek = no_llseek,
297 .ioctl = hostmixer_ioctl_mixdev, 297 .ioctl = hostmixer_ioctl_mixdev,
298 .open = hostmixer_open_mixdev, 298 .open = hostmixer_open_mixdev,
299 .release = hostmixer_release, 299 .release = hostmixer_release,
300}; 300};
301 301
302struct { 302struct {
@@ -310,42 +310,31 @@ MODULE_LICENSE("GPL");
310 310
311static int __init hostaudio_init_module(void) 311static int __init hostaudio_init_module(void)
312{ 312{
313 printk(KERN_INFO "UML Audio Relay (host dsp = %s, host mixer = %s)\n", 313 printk(KERN_INFO "UML Audio Relay (host dsp = %s, host mixer = %s)\n",
314 dsp, mixer); 314 dsp, mixer);
315 315
316 module_data.dev_audio = register_sound_dsp(&hostaudio_fops, -1); 316 module_data.dev_audio = register_sound_dsp(&hostaudio_fops, -1);
317 if(module_data.dev_audio < 0){ 317 if(module_data.dev_audio < 0){
318 printk(KERN_ERR "hostaudio: couldn't register DSP device!\n"); 318 printk(KERN_ERR "hostaudio: couldn't register DSP device!\n");
319 return -ENODEV; 319 return -ENODEV;
320 } 320 }
321 321
322 module_data.dev_mixer = register_sound_mixer(&hostmixer_fops, -1); 322 module_data.dev_mixer = register_sound_mixer(&hostmixer_fops, -1);
323 if(module_data.dev_mixer < 0){ 323 if(module_data.dev_mixer < 0){
324 printk(KERN_ERR "hostmixer: couldn't register mixer " 324 printk(KERN_ERR "hostmixer: couldn't register mixer "
325 "device!\n"); 325 "device!\n");
326 unregister_sound_dsp(module_data.dev_audio); 326 unregister_sound_dsp(module_data.dev_audio);
327 return -ENODEV; 327 return -ENODEV;
328 } 328 }
329 329
330 return 0; 330 return 0;
331} 331}
332 332
333static void __exit hostaudio_cleanup_module (void) 333static void __exit hostaudio_cleanup_module (void)
334{ 334{
335 unregister_sound_mixer(module_data.dev_mixer); 335 unregister_sound_mixer(module_data.dev_mixer);
336 unregister_sound_dsp(module_data.dev_audio); 336 unregister_sound_dsp(module_data.dev_audio);
337} 337}
338 338
339module_init(hostaudio_init_module); 339module_init(hostaudio_init_module);
340module_exit(hostaudio_cleanup_module); 340module_exit(hostaudio_cleanup_module);
341
342/*
343 * Overrides for Emacs so that we follow Linus's tabbing style.
344 * Emacs will notice this stuff at the end of the file and automatically
345 * adjust the settings for this buffer only. This must remain at the end
346 * of the file.
347 * ---------------------------------------------------------------------------
348 * Local variables:
349 * c-file-style: "linux"
350 * End:
351 */
diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c
index 83301e1ef67c..0e1e9a20a4d6 100644
--- a/arch/um/drivers/line.c
+++ b/arch/um/drivers/line.c
@@ -191,7 +191,6 @@ void line_flush_buffer(struct tty_struct *tty)
191 /*XXX: copied from line_write, verify if it is correct!*/ 191 /*XXX: copied from line_write, verify if it is correct!*/
192 if(tty->stopped) 192 if(tty->stopped)
193 return; 193 return;
194 //return 0;
195 194
196 spin_lock_irqsave(&line->lock, flags); 195 spin_lock_irqsave(&line->lock, flags);
197 err = flush_buffer(line); 196 err = flush_buffer(line);
@@ -421,42 +420,55 @@ int line_setup_irq(int fd, int input, int output, struct line *line, void *data)
421 return err; 420 return err;
422} 421}
423 422
423/* Normally, a driver like this can rely mostly on the tty layer
424 * locking, particularly when it comes to the driver structure.
425 * However, in this case, mconsole requests can come in "from the
426 * side", and race with opens and closes.
427 *
428 * mconsole config requests will want to be sure the device isn't in
429 * use, and get_config, open, and close will want a stable
430 * configuration. The checking and modification of the configuration
431 * is done under a spinlock. Checking whether the device is in use is
432 * line->tty->count > 1, also under the spinlock.
433 *
434 * tty->count serves to decide whether the device should be enabled or
435 * disabled on the host. If it's equal to 1, then we are doing the
436 * first open or last close. Otherwise, open and close just return.
437 */
438
424int line_open(struct line *lines, struct tty_struct *tty) 439int line_open(struct line *lines, struct tty_struct *tty)
425{ 440{
426 struct line *line; 441 struct line *line = &lines[tty->index];
427 int err = -ENODEV; 442 int err = -ENODEV;
428 443
429 line = &lines[tty->index]; 444 spin_lock(&line->count_lock);
430 tty->driver_data = line; 445 if(!line->valid)
446 goto out_unlock;
431 447
432 /* The IRQ which takes this lock is not yet enabled and won't be run 448 err = 0;
433 * before the end, so we don't need to use spin_lock_irq.*/ 449 if(tty->count > 1)
434 spin_lock(&line->lock); 450 goto out_unlock;
451
452 spin_unlock(&line->count_lock);
435 453
436 tty->driver_data = line; 454 tty->driver_data = line;
437 line->tty = tty; 455 line->tty = tty;
438 if(!line->valid)
439 goto out;
440 456
441 if(tty->count == 1){ 457 enable_chan(line);
442 /* Here the device is opened, if necessary, and interrupt 458 INIT_DELAYED_WORK(&line->task, line_timer_cb);
443 * is registered.
444 */
445 enable_chan(line);
446 INIT_DELAYED_WORK(&line->task, line_timer_cb);
447 459
448 if(!line->sigio){ 460 if(!line->sigio){
449 chan_enable_winch(&line->chan_list, tty); 461 chan_enable_winch(&line->chan_list, tty);
450 line->sigio = 1; 462 line->sigio = 1;
451 }
452
453 chan_window_size(&line->chan_list, &tty->winsize.ws_row,
454 &tty->winsize.ws_col);
455 } 463 }
456 464
457 err = 0; 465 chan_window_size(&line->chan_list, &tty->winsize.ws_row,
458out: 466 &tty->winsize.ws_col);
459 spin_unlock(&line->lock); 467
468 return err;
469
470out_unlock:
471 spin_unlock(&line->count_lock);
460 return err; 472 return err;
461} 473}
462 474
@@ -466,25 +478,36 @@ void line_close(struct tty_struct *tty, struct file * filp)
466{ 478{
467 struct line *line = tty->driver_data; 479 struct line *line = tty->driver_data;
468 480
469 /* XXX: I assume this should be called in process context, not with 481 /* If line_open fails (and tty->driver_data is never set),
470 * interrupts disabled! 482 * tty_open will call line_close. So just return in this case.
471 */ 483 */
472 spin_lock_irq(&line->lock); 484 if(line == NULL)
485 return;
473 486
474 /* We ignore the error anyway! */ 487 /* We ignore the error anyway! */
475 flush_buffer(line); 488 flush_buffer(line);
476 489
477 if(tty->count == 1){ 490 spin_lock(&line->count_lock);
478 line->tty = NULL; 491 if(!line->valid)
479 tty->driver_data = NULL; 492 goto out_unlock;
480 493
481 if(line->sigio){ 494 if(tty->count > 1)
482 unregister_winch(tty); 495 goto out_unlock;
483 line->sigio = 0; 496
484 } 497 spin_unlock(&line->count_lock);
498
499 line->tty = NULL;
500 tty->driver_data = NULL;
501
502 if(line->sigio){
503 unregister_winch(tty);
504 line->sigio = 0;
485 } 505 }
486 506
487 spin_unlock_irq(&line->lock); 507 return;
508
509out_unlock:
510 spin_unlock(&line->count_lock);
488} 511}
489 512
490void close_lines(struct line *lines, int nlines) 513void close_lines(struct line *lines, int nlines)
@@ -495,14 +518,44 @@ void close_lines(struct line *lines, int nlines)
495 close_chan(&lines[i].chan_list, 0); 518 close_chan(&lines[i].chan_list, 0);
496} 519}
497 520
521static int setup_one_line(struct line *lines, int n, char *init, int init_prio,
522 char **error_out)
523{
524 struct line *line = &lines[n];
525 int err = -EINVAL;
526
527 spin_lock(&line->count_lock);
528
529 if(line->tty != NULL){
530 *error_out = "Device is already open";
531 goto out;
532 }
533
534 if (line->init_pri <= init_prio){
535 line->init_pri = init_prio;
536 if (!strcmp(init, "none"))
537 line->valid = 0;
538 else {
539 line->init_str = init;
540 line->valid = 1;
541 }
542 }
543 err = 0;
544out:
545 spin_unlock(&line->count_lock);
546 return err;
547}
548
498/* Common setup code for both startup command line and mconsole initialization. 549/* Common setup code for both startup command line and mconsole initialization.
499 * @lines contains the array (of size @num) to modify; 550 * @lines contains the array (of size @num) to modify;
500 * @init is the setup string; 551 * @init is the setup string;
552 * @error_out is an error string in the case of failure;
501 */ 553 */
502 554
503int line_setup(struct line *lines, unsigned int num, char *init) 555int line_setup(struct line *lines, unsigned int num, char *init,
556 char **error_out)
504{ 557{
505 int i, n; 558 int i, n, err;
506 char *end; 559 char *end;
507 560
508 if(*init == '=') { 561 if(*init == '=') {
@@ -513,73 +566,56 @@ int line_setup(struct line *lines, unsigned int num, char *init)
513 else { 566 else {
514 n = simple_strtoul(init, &end, 0); 567 n = simple_strtoul(init, &end, 0);
515 if(*end != '='){ 568 if(*end != '='){
516 printk(KERN_ERR "line_setup failed to parse \"%s\"\n", 569 *error_out = "Couldn't parse device number";
517 init); 570 return -EINVAL;
518 return 0;
519 } 571 }
520 init = end; 572 init = end;
521 } 573 }
522 init++; 574 init++;
523 575
524 if (n >= (signed int) num) { 576 if (n >= (signed int) num) {
525 printk("line_setup - %d out of range ((0 ... %d) allowed)\n", 577 *error_out = "Device number out of range";
526 n, num - 1); 578 return -EINVAL;
527 return 0;
528 } 579 }
529 else if (n >= 0){ 580 else if (n >= 0){
530 if (lines[n].tty != NULL) { 581 err = setup_one_line(lines, n, init, INIT_ONE, error_out);
531 printk("line_setup - device %d is open\n", n); 582 if(err)
532 return 0; 583 return err;
533 }
534 if (lines[n].init_pri <= INIT_ONE){
535 lines[n].init_pri = INIT_ONE;
536 if (!strcmp(init, "none"))
537 lines[n].valid = 0;
538 else {
539 lines[n].init_str = init;
540 lines[n].valid = 1;
541 }
542 }
543 } 584 }
544 else { 585 else {
545 for(i = 0; i < num; i++){ 586 for(i = 0; i < num; i++){
546 if(lines[i].init_pri <= INIT_ALL){ 587 err = setup_one_line(lines, i, init, INIT_ALL,
547 lines[i].init_pri = INIT_ALL; 588 error_out);
548 if(!strcmp(init, "none")) lines[i].valid = 0; 589 if(err)
549 else { 590 return err;
550 lines[i].init_str = init;
551 lines[i].valid = 1;
552 }
553 }
554 } 591 }
555 } 592 }
556 return n == -1 ? num : n; 593 return n == -1 ? num : n;
557} 594}
558 595
559int line_config(struct line *lines, unsigned int num, char *str, 596int line_config(struct line *lines, unsigned int num, char *str,
560 const struct chan_opts *opts) 597 const struct chan_opts *opts, char **error_out)
561{ 598{
562 struct line *line; 599 struct line *line;
563 char *new; 600 char *new;
564 int n; 601 int n;
565 602
566 if(*str == '='){ 603 if(*str == '='){
567 printk("line_config - can't configure all devices from " 604 *error_out = "Can't configure all devices from mconsole";
568 "mconsole\n"); 605 return -EINVAL;
569 return 1;
570 } 606 }
571 607
572 new = kstrdup(str, GFP_KERNEL); 608 new = kstrdup(str, GFP_KERNEL);
573 if(new == NULL){ 609 if(new == NULL){
574 printk("line_config - kstrdup failed\n"); 610 *error_out = "Failed to allocate memory";
575 return 1; 611 return -ENOMEM;
576 } 612 }
577 n = line_setup(lines, num, new); 613 n = line_setup(lines, num, new, error_out);
578 if(n < 0) 614 if(n < 0)
579 return 1; 615 return n;
580 616
581 line = &lines[n]; 617 line = &lines[n];
582 return parse_chan_pair(line->init_str, line, n, opts); 618 return parse_chan_pair(line->init_str, line, n, opts, error_out);
583} 619}
584 620
585int line_get_config(char *name, struct line *lines, unsigned int num, char *str, 621int line_get_config(char *name, struct line *lines, unsigned int num, char *str,
@@ -602,13 +638,13 @@ int line_get_config(char *name, struct line *lines, unsigned int num, char *str,
602 638
603 line = &lines[dev]; 639 line = &lines[dev];
604 640
605 spin_lock(&line->lock); 641 spin_lock(&line->count_lock);
606 if(!line->valid) 642 if(!line->valid)
607 CONFIG_CHUNK(str, size, n, "none", 1); 643 CONFIG_CHUNK(str, size, n, "none", 1);
608 else if(line->tty == NULL) 644 else if(line->tty == NULL)
609 CONFIG_CHUNK(str, size, n, line->init_str, 1); 645 CONFIG_CHUNK(str, size, n, line->init_str, 1);
610 else n = chan_config_string(&line->chan_list, str, size, error_out); 646 else n = chan_config_string(&line->chan_list, str, size, error_out);
611 spin_unlock(&line->lock); 647 spin_unlock(&line->count_lock);
612 648
613 return n; 649 return n;
614} 650}
@@ -628,22 +664,21 @@ int line_id(char **str, int *start_out, int *end_out)
628 return n; 664 return n;
629} 665}
630 666
631int line_remove(struct line *lines, unsigned int num, int n) 667int line_remove(struct line *lines, unsigned int num, int n, char **error_out)
632{ 668{
633 int err; 669 int err;
634 char config[sizeof("conxxxx=none\0")]; 670 char config[sizeof("conxxxx=none\0")];
635 671
636 sprintf(config, "%d=none", n); 672 sprintf(config, "%d=none", n);
637 err = line_setup(lines, num, config); 673 err = line_setup(lines, num, config, error_out);
638 if(err >= 0) 674 if(err >= 0)
639 err = 0; 675 err = 0;
640 return err; 676 return err;
641} 677}
642 678
643struct tty_driver *line_register_devfs(struct lines *set, 679struct tty_driver *register_lines(struct line_driver *line_driver,
644 struct line_driver *line_driver, 680 const struct tty_operations *ops,
645 const struct tty_operations *ops, 681 struct line *lines, int nlines)
646 struct line *lines, int nlines)
647{ 682{
648 int i; 683 int i;
649 struct tty_driver *driver = alloc_tty_driver(nlines); 684 struct tty_driver *driver = alloc_tty_driver(nlines);
@@ -683,6 +718,7 @@ static LIST_HEAD(winch_handlers);
683void lines_init(struct line *lines, int nlines, struct chan_opts *opts) 718void lines_init(struct line *lines, int nlines, struct chan_opts *opts)
684{ 719{
685 struct line *line; 720 struct line *line;
721 char *error;
686 int i; 722 int i;
687 723
688 for(i = 0; i < nlines; i++){ 724 for(i = 0; i < nlines; i++){
@@ -696,8 +732,9 @@ void lines_init(struct line *lines, int nlines, struct chan_opts *opts)
696 if(line->init_str == NULL) 732 if(line->init_str == NULL)
697 printk("lines_init - kstrdup returned NULL\n"); 733 printk("lines_init - kstrdup returned NULL\n");
698 734
699 if(parse_chan_pair(line->init_str, line, i, opts)){ 735 if(parse_chan_pair(line->init_str, line, i, opts, &error)){
700 printk("parse_chan_pair failed for device %d\n", i); 736 printk("parse_chan_pair failed for device %d : %s\n",
737 i, error);
701 line->valid = 0; 738 line->valid = 0;
702 } 739 }
703 } 740 }
diff --git a/arch/um/drivers/mconsole_kern.c b/arch/um/drivers/mconsole_kern.c
index 96f0189327af..178b2eff4a8c 100644
--- a/arch/um/drivers/mconsole_kern.c
+++ b/arch/um/drivers/mconsole_kern.c
@@ -33,7 +33,6 @@
33#include "irq_user.h" 33#include "irq_user.h"
34#include "init.h" 34#include "init.h"
35#include "os.h" 35#include "os.h"
36#include "umid.h"
37#include "irq_kern.h" 36#include "irq_kern.h"
38#include "choose-mode.h" 37#include "choose-mode.h"
39 38
@@ -337,13 +336,15 @@ void mconsole_stop(struct mc_request *req)
337 mconsole_reply(req, "", 0, 0); 336 mconsole_reply(req, "", 0, 0);
338} 337}
339 338
340/* This list is populated by __initcall routines. */ 339static DEFINE_SPINLOCK(mc_devices_lock);
341
342static LIST_HEAD(mconsole_devices); 340static LIST_HEAD(mconsole_devices);
343 341
344void mconsole_register_dev(struct mc_device *new) 342void mconsole_register_dev(struct mc_device *new)
345{ 343{
344 spin_lock(&mc_devices_lock);
345 BUG_ON(!list_empty(&new->list));
346 list_add(&new->list, &mconsole_devices); 346 list_add(&new->list, &mconsole_devices);
347 spin_unlock(&mc_devices_lock);
347} 348}
348 349
349static struct mc_device *mconsole_find_dev(char *name) 350static struct mc_device *mconsole_find_dev(char *name)
@@ -367,18 +368,21 @@ struct unplugged_pages {
367 void *pages[UNPLUGGED_PER_PAGE]; 368 void *pages[UNPLUGGED_PER_PAGE];
368}; 369};
369 370
371static DECLARE_MUTEX(plug_mem_mutex);
370static unsigned long long unplugged_pages_count = 0; 372static unsigned long long unplugged_pages_count = 0;
371static struct list_head unplugged_pages = LIST_HEAD_INIT(unplugged_pages); 373static LIST_HEAD(unplugged_pages);
372static int unplug_index = UNPLUGGED_PER_PAGE; 374static int unplug_index = UNPLUGGED_PER_PAGE;
373 375
374static int mem_config(char *str) 376static int mem_config(char *str, char **error_out)
375{ 377{
376 unsigned long long diff; 378 unsigned long long diff;
377 int err = -EINVAL, i, add; 379 int err = -EINVAL, i, add;
378 char *ret; 380 char *ret;
379 381
380 if(str[0] != '=') 382 if(str[0] != '='){
383 *error_out = "Expected '=' after 'mem'";
381 goto out; 384 goto out;
385 }
382 386
383 str++; 387 str++;
384 if(str[0] == '-') 388 if(str[0] == '-')
@@ -386,15 +390,21 @@ static int mem_config(char *str)
386 else if(str[0] == '+'){ 390 else if(str[0] == '+'){
387 add = 1; 391 add = 1;
388 } 392 }
389 else goto out; 393 else {
394 *error_out = "Expected increment to start with '-' or '+'";
395 goto out;
396 }
390 397
391 str++; 398 str++;
392 diff = memparse(str, &ret); 399 diff = memparse(str, &ret);
393 if(*ret != '\0') 400 if(*ret != '\0'){
401 *error_out = "Failed to parse memory increment";
394 goto out; 402 goto out;
403 }
395 404
396 diff /= PAGE_SIZE; 405 diff /= PAGE_SIZE;
397 406
407 down(&plug_mem_mutex);
398 for(i = 0; i < diff; i++){ 408 for(i = 0; i < diff; i++){
399 struct unplugged_pages *unplugged; 409 struct unplugged_pages *unplugged;
400 void *addr; 410 void *addr;
@@ -435,11 +445,14 @@ static int mem_config(char *str)
435 unplugged = list_entry(entry, 445 unplugged = list_entry(entry,
436 struct unplugged_pages, 446 struct unplugged_pages,
437 list); 447 list);
438 unplugged->pages[unplug_index++] = addr;
439 err = os_drop_memory(addr, PAGE_SIZE); 448 err = os_drop_memory(addr, PAGE_SIZE);
440 if(err) 449 if(err){
441 printk("Failed to release memory - " 450 printk("Failed to release memory - "
442 "errno = %d\n", err); 451 "errno = %d\n", err);
452 *error_out = "Failed to release memory";
453 goto out_unlock;
454 }
455 unplugged->pages[unplug_index++] = addr;
443 } 456 }
444 457
445 unplugged_pages_count++; 458 unplugged_pages_count++;
@@ -447,6 +460,8 @@ static int mem_config(char *str)
447 } 460 }
448 461
449 err = 0; 462 err = 0;
463out_unlock:
464 up(&plug_mem_mutex);
450out: 465out:
451 return err; 466 return err;
452} 467}
@@ -470,12 +485,14 @@ static int mem_id(char **str, int *start_out, int *end_out)
470 return 0; 485 return 0;
471} 486}
472 487
473static int mem_remove(int n) 488static int mem_remove(int n, char **error_out)
474{ 489{
490 *error_out = "Memory doesn't support the remove operation";
475 return -EBUSY; 491 return -EBUSY;
476} 492}
477 493
478static struct mc_device mem_mc = { 494static struct mc_device mem_mc = {
495 .list = LIST_HEAD_INIT(mem_mc.list),
479 .name = "mem", 496 .name = "mem",
480 .config = mem_config, 497 .config = mem_config,
481 .get_config = mem_get_config, 498 .get_config = mem_get_config,
@@ -542,7 +559,7 @@ static void mconsole_get_config(int (*get_config)(char *, char *, int,
542void mconsole_config(struct mc_request *req) 559void mconsole_config(struct mc_request *req)
543{ 560{
544 struct mc_device *dev; 561 struct mc_device *dev;
545 char *ptr = req->request.data, *name; 562 char *ptr = req->request.data, *name, *error_string = "";
546 int err; 563 int err;
547 564
548 ptr += strlen("config"); 565 ptr += strlen("config");
@@ -559,8 +576,8 @@ void mconsole_config(struct mc_request *req)
559 ptr++; 576 ptr++;
560 577
561 if(*ptr == '='){ 578 if(*ptr == '='){
562 err = (*dev->config)(name); 579 err = (*dev->config)(name, &error_string);
563 mconsole_reply(req, "", err, 0); 580 mconsole_reply(req, error_string, err, 0);
564 } 581 }
565 else mconsole_get_config(dev->get_config, req, name); 582 else mconsole_get_config(dev->get_config, req, name);
566} 583}
@@ -595,13 +612,16 @@ void mconsole_remove(struct mc_request *req)
595 goto out; 612 goto out;
596 } 613 }
597 614
598 err = (*dev->remove)(n); 615 err_msg = NULL;
616 err = (*dev->remove)(n, &err_msg);
599 switch(err){ 617 switch(err){
600 case -ENODEV: 618 case -ENODEV:
601 err_msg = "Device doesn't exist"; 619 if(err_msg == NULL)
620 err_msg = "Device doesn't exist";
602 break; 621 break;
603 case -EBUSY: 622 case -EBUSY:
604 err_msg = "Device is currently open"; 623 if(err_msg == NULL)
624 err_msg = "Device is currently open";
605 break; 625 break;
606 default: 626 default:
607 break; 627 break;
@@ -615,7 +635,7 @@ struct mconsole_output {
615 struct mc_request *req; 635 struct mc_request *req;
616}; 636};
617 637
618static DEFINE_SPINLOCK(console_lock); 638static DEFINE_SPINLOCK(client_lock);
619static LIST_HEAD(clients); 639static LIST_HEAD(clients);
620static char console_buf[MCONSOLE_MAX_DATA]; 640static char console_buf[MCONSOLE_MAX_DATA];
621static int console_index = 0; 641static int console_index = 0;
@@ -670,16 +690,18 @@ static void with_console(struct mc_request *req, void (*proc)(void *),
670 unsigned long flags; 690 unsigned long flags;
671 691
672 entry.req = req; 692 entry.req = req;
693 spin_lock_irqsave(&client_lock, flags);
673 list_add(&entry.list, &clients); 694 list_add(&entry.list, &clients);
674 spin_lock_irqsave(&console_lock, flags); 695 spin_unlock_irqrestore(&client_lock, flags);
675 696
676 (*proc)(arg); 697 (*proc)(arg);
677 698
678 mconsole_reply_len(req, console_buf, console_index, 0, 0); 699 mconsole_reply_len(req, console_buf, console_index, 0, 0);
679 console_index = 0; 700 console_index = 0;
680 701
681 spin_unlock_irqrestore(&console_lock, flags); 702 spin_lock_irqsave(&client_lock, flags);
682 list_del(&entry.list); 703 list_del(&entry.list);
704 spin_unlock_irqrestore(&client_lock, flags);
683} 705}
684 706
685#ifdef CONFIG_MAGIC_SYSRQ 707#ifdef CONFIG_MAGIC_SYSRQ
diff --git a/arch/um/drivers/mconsole_user.c b/arch/um/drivers/mconsole_user.c
index 75aef6f7ef6e..f02634fbf32a 100644
--- a/arch/um/drivers/mconsole_user.c
+++ b/arch/um/drivers/mconsole_user.c
@@ -16,7 +16,7 @@
16#include "user.h" 16#include "user.h"
17#include "sysdep/ptrace.h" 17#include "sysdep/ptrace.h"
18#include "mconsole.h" 18#include "mconsole.h"
19#include "umid.h" 19#include "os.h"
20#include "user_util.h" 20#include "user_util.h"
21 21
22static struct mconsole_command commands[] = { 22static struct mconsole_command commands[] = {
diff --git a/arch/um/drivers/net_kern.c b/arch/um/drivers/net_kern.c
index afe3d427ddfa..04e31f86c10a 100644
--- a/arch/um/drivers/net_kern.c
+++ b/arch/um/drivers/net_kern.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) 2001 Lennert Buytenhek (buytenh@gnu.org) and 2 * Copyright (C) 2001 Lennert Buytenhek (buytenh@gnu.org) and
3 * James Leu (jleu@mindspring.net). 3 * James Leu (jleu@mindspring.net).
4 * Copyright (C) 2001 by various other people who didn't put their name here. 4 * Copyright (C) 2001 by various other people who didn't put their name here.
5 * Licensed under the GPL. 5 * Licensed under the GPL.
@@ -91,8 +91,8 @@ irqreturn_t uml_net_interrupt(int irq, void *dev_id)
91 spin_lock(&lp->lock); 91 spin_lock(&lp->lock);
92 while((err = uml_net_rx(dev)) > 0) ; 92 while((err = uml_net_rx(dev)) > 0) ;
93 if(err < 0) { 93 if(err < 0) {
94 printk(KERN_ERR 94 printk(KERN_ERR
95 "Device '%s' read returned %d, shutting it down\n", 95 "Device '%s' read returned %d, shutting it down\n",
96 dev->name, err); 96 dev->name, err);
97 /* dev_close can't be called in interrupt context, and takes 97 /* dev_close can't be called in interrupt context, and takes
98 * again lp->lock. 98 * again lp->lock.
@@ -108,7 +108,7 @@ irqreturn_t uml_net_interrupt(int irq, void *dev_id)
108 108
109out: 109out:
110 spin_unlock(&lp->lock); 110 spin_unlock(&lp->lock);
111 return(IRQ_HANDLED); 111 return IRQ_HANDLED;
112} 112}
113 113
114static int uml_net_open(struct net_device *dev) 114static int uml_net_open(struct net_device *dev)
@@ -159,7 +159,7 @@ out:
159static int uml_net_close(struct net_device *dev) 159static int uml_net_close(struct net_device *dev)
160{ 160{
161 struct uml_net_private *lp = dev->priv; 161 struct uml_net_private *lp = dev->priv;
162 162
163 netif_stop_queue(dev); 163 netif_stop_queue(dev);
164 164
165 free_irq(dev->irq, dev); 165 free_irq(dev->irq, dev);
@@ -194,7 +194,7 @@ static int uml_net_start_xmit(struct sk_buff *skb, struct net_device *dev)
194 194
195 /* this is normally done in the interrupt when tx finishes */ 195 /* this is normally done in the interrupt when tx finishes */
196 netif_wake_queue(dev); 196 netif_wake_queue(dev);
197 } 197 }
198 else if(len == 0){ 198 else if(len == 0){
199 netif_start_queue(dev); 199 netif_start_queue(dev);
200 lp->stats.tx_dropped++; 200 lp->stats.tx_dropped++;
@@ -239,7 +239,7 @@ static int uml_net_set_mac(struct net_device *dev, void *addr)
239 set_ether_mac(dev, hwaddr->sa_data); 239 set_ether_mac(dev, hwaddr->sa_data);
240 spin_unlock_irq(&lp->lock); 240 spin_unlock_irq(&lp->lock);
241 241
242 return(0); 242 return 0;
243} 243}
244 244
245static int uml_net_change_mtu(struct net_device *dev, int new_mtu) 245static int uml_net_change_mtu(struct net_device *dev, int new_mtu)
@@ -333,7 +333,7 @@ static int eth_configure(int n, void *init, char *mac,
333 struct uml_net_private *lp; 333 struct uml_net_private *lp;
334 int save, err, size; 334 int save, err, size;
335 335
336 size = transport->private_size + sizeof(struct uml_net_private) + 336 size = transport->private_size + sizeof(struct uml_net_private) +
337 sizeof(((struct uml_net_private *) 0)->user); 337 sizeof(((struct uml_net_private *) 0)->user);
338 338
339 device = kzalloc(sizeof(*device), GFP_KERNEL); 339 device = kzalloc(sizeof(*device), GFP_KERNEL);
@@ -438,7 +438,7 @@ static int eth_configure(int n, void *init, char *mac,
438 lp->tl.function = uml_net_user_timer_expire; 438 lp->tl.function = uml_net_user_timer_expire;
439 memcpy(lp->mac, device->mac, sizeof(lp->mac)); 439 memcpy(lp->mac, device->mac, sizeof(lp->mac));
440 440
441 if (transport->user->init) 441 if (transport->user->init)
442 (*transport->user->init)(&lp->user, dev); 442 (*transport->user->init)(&lp->user, dev);
443 443
444 set_ether_mac(dev, device->mac); 444 set_ether_mac(dev, device->mac);
@@ -460,38 +460,36 @@ static struct uml_net *find_device(int n)
460 device = NULL; 460 device = NULL;
461 out: 461 out:
462 spin_unlock(&devices_lock); 462 spin_unlock(&devices_lock);
463 return(device); 463 return device;
464} 464}
465 465
466static int eth_parse(char *str, int *index_out, char **str_out) 466static int eth_parse(char *str, int *index_out, char **str_out,
467 char **error_out)
467{ 468{
468 char *end; 469 char *end;
469 int n; 470 int n, err = -EINVAL;;
470 471
471 n = simple_strtoul(str, &end, 0); 472 n = simple_strtoul(str, &end, 0);
472 if(end == str){ 473 if(end == str){
473 printk(KERN_ERR "eth_setup: Failed to parse '%s'\n", str); 474 *error_out = "Bad device number";
474 return(1); 475 return err;
475 }
476 if(n < 0){
477 printk(KERN_ERR "eth_setup: device %d is negative\n", n);
478 return(1);
479 } 476 }
477
480 str = end; 478 str = end;
481 if(*str != '='){ 479 if(*str != '='){
482 printk(KERN_ERR 480 *error_out = "Expected '=' after device number";
483 "eth_setup: expected '=' after device number\n"); 481 return err;
484 return(1);
485 } 482 }
483
486 str++; 484 str++;
487 if(find_device(n)){ 485 if(find_device(n)){
488 printk(KERN_ERR "eth_setup: Device %d already configured\n", 486 *error_out = "Device already configured";
489 n); 487 return err;
490 return(1);
491 } 488 }
492 if(index_out) *index_out = n; 489
490 *index_out = n;
493 *str_out = str; 491 *str_out = str;
494 return(0); 492 return 0;
495} 493}
496 494
497struct eth_init { 495struct eth_init {
@@ -500,13 +498,11 @@ struct eth_init {
500 int index; 498 int index;
501}; 499};
502 500
503/* Filled in at boot time. Will need locking if the transports become 501static DEFINE_SPINLOCK(transports_lock);
504 * modular. 502static LIST_HEAD(transports);
505 */
506struct list_head transports = LIST_HEAD_INIT(transports);
507 503
508/* Filled in during early boot */ 504/* Filled in during early boot */
509struct list_head eth_cmd_line = LIST_HEAD_INIT(eth_cmd_line); 505static LIST_HEAD(eth_cmd_line);
510 506
511static int check_transport(struct transport *transport, char *eth, int n, 507static int check_transport(struct transport *transport, char *eth, int n,
512 void **init_out, char **mac_out) 508 void **init_out, char **mac_out)
@@ -515,23 +511,23 @@ static int check_transport(struct transport *transport, char *eth, int n,
515 511
516 len = strlen(transport->name); 512 len = strlen(transport->name);
517 if(strncmp(eth, transport->name, len)) 513 if(strncmp(eth, transport->name, len))
518 return(0); 514 return 0;
519 515
520 eth += len; 516 eth += len;
521 if(*eth == ',') 517 if(*eth == ',')
522 eth++; 518 eth++;
523 else if(*eth != '\0') 519 else if(*eth != '\0')
524 return(0); 520 return 0;
525 521
526 *init_out = kmalloc(transport->setup_size, GFP_KERNEL); 522 *init_out = kmalloc(transport->setup_size, GFP_KERNEL);
527 if(*init_out == NULL) 523 if(*init_out == NULL)
528 return(1); 524 return 1;
529 525
530 if(!transport->setup(eth, mac_out, *init_out)){ 526 if(!transport->setup(eth, mac_out, *init_out)){
531 kfree(*init_out); 527 kfree(*init_out);
532 *init_out = NULL; 528 *init_out = NULL;
533 } 529 }
534 return(1); 530 return 1;
535} 531}
536 532
537void register_transport(struct transport *new) 533void register_transport(struct transport *new)
@@ -542,7 +538,10 @@ void register_transport(struct transport *new)
542 char *mac = NULL; 538 char *mac = NULL;
543 int match; 539 int match;
544 540
541 spin_lock(&transports_lock);
542 BUG_ON(!list_empty(&new->list));
545 list_add(&new->list, &transports); 543 list_add(&new->list, &transports);
544 spin_unlock(&transports_lock);
546 545
547 list_for_each_safe(ele, next, &eth_cmd_line){ 546 list_for_each_safe(ele, next, &eth_cmd_line){
548 eth = list_entry(ele, struct eth_init, list); 547 eth = list_entry(ele, struct eth_init, list);
@@ -564,7 +563,9 @@ static int eth_setup_common(char *str, int index)
564 struct transport *transport; 563 struct transport *transport;
565 void *init; 564 void *init;
566 char *mac = NULL; 565 char *mac = NULL;
566 int found = 0;
567 567
568 spin_lock(&transports_lock);
568 list_for_each(ele, &transports){ 569 list_for_each(ele, &transports){
569 transport = list_entry(ele, struct transport, list); 570 transport = list_entry(ele, struct transport, list);
570 if(!check_transport(transport, str, index, &init, &mac)) 571 if(!check_transport(transport, str, index, &init, &mac))
@@ -573,19 +574,26 @@ static int eth_setup_common(char *str, int index)
573 eth_configure(index, init, mac, transport); 574 eth_configure(index, init, mac, transport);
574 kfree(init); 575 kfree(init);
575 } 576 }
576 return(1); 577 found = 1;
578 break;
577 } 579 }
578 return(0); 580
581 spin_unlock(&transports_lock);
582 return found;
579} 583}
580 584
581static int eth_setup(char *str) 585static int eth_setup(char *str)
582{ 586{
583 struct eth_init *new; 587 struct eth_init *new;
588 char *error;
584 int n, err; 589 int n, err;
585 590
586 err = eth_parse(str, &n, &str); 591 err = eth_parse(str, &n, &str, &error);
587 if(err) 592 if(err){
593 printk(KERN_ERR "eth_setup - Couldn't parse '%s' : %s\n",
594 str, error);
588 return 1; 595 return 1;
596 }
589 597
590 new = alloc_bootmem(sizeof(*new)); 598 new = alloc_bootmem(sizeof(*new));
591 if (new == NULL){ 599 if (new == NULL){
@@ -607,38 +615,24 @@ __uml_help(eth_setup,
607" Configure a network device.\n\n" 615" Configure a network device.\n\n"
608); 616);
609 617
610#if 0 618static int net_config(char *str, char **error_out)
611static int eth_init(void)
612{
613 struct list_head *ele, *next;
614 struct eth_init *eth;
615
616 list_for_each_safe(ele, next, &eth_cmd_line){
617 eth = list_entry(ele, struct eth_init, list);
618
619 if(eth_setup_common(eth->init, eth->index))
620 list_del(&eth->list);
621 }
622
623 return(1);
624}
625__initcall(eth_init);
626#endif
627
628static int net_config(char *str)
629{ 619{
630 int n, err; 620 int n, err;
631 621
632 err = eth_parse(str, &n, &str); 622 err = eth_parse(str, &n, &str, error_out);
633 if(err) return(err); 623 if(err)
624 return err;
634 625
626 /* This string is broken up and the pieces used by the underlying
627 * driver. So, it is freed only if eth_setup_common fails.
628 */
635 str = kstrdup(str, GFP_KERNEL); 629 str = kstrdup(str, GFP_KERNEL);
636 if(str == NULL){ 630 if(str == NULL){
637 printk(KERN_ERR "net_config failed to strdup string\n"); 631 *error_out = "net_config failed to strdup string";
638 return(-1); 632 return -ENOMEM;
639 } 633 }
640 err = !eth_setup_common(str, n); 634 err = !eth_setup_common(str, n);
641 if(err) 635 if(err)
642 kfree(str); 636 kfree(str);
643 return(err); 637 return(err);
644} 638}
@@ -658,7 +652,7 @@ static int net_id(char **str, int *start_out, int *end_out)
658 return n; 652 return n;
659} 653}
660 654
661static int net_remove(int n) 655static int net_remove(int n, char **error_out)
662{ 656{
663 struct uml_net *device; 657 struct uml_net *device;
664 struct net_device *dev; 658 struct net_device *dev;
@@ -671,7 +665,7 @@ static int net_remove(int n)
671 dev = device->dev; 665 dev = device->dev;
672 lp = dev->priv; 666 lp = dev->priv;
673 if(lp->fd > 0) 667 if(lp->fd > 0)
674 return -EBUSY; 668 return -EBUSY;
675 if(lp->remove != NULL) (*lp->remove)(&lp->user); 669 if(lp->remove != NULL) (*lp->remove)(&lp->user);
676 unregister_netdev(dev); 670 unregister_netdev(dev);
677 platform_device_unregister(&device->pdev); 671 platform_device_unregister(&device->pdev);
@@ -683,10 +677,11 @@ static int net_remove(int n)
683} 677}
684 678
685static struct mc_device net_mc = { 679static struct mc_device net_mc = {
680 .list = LIST_HEAD_INIT(net_mc.list),
686 .name = "eth", 681 .name = "eth",
687 .config = net_config, 682 .config = net_config,
688 .get_config = NULL, 683 .get_config = NULL,
689 .id = net_id, 684 .id = net_id,
690 .remove = net_remove, 685 .remove = net_remove,
691}; 686};
692 687
@@ -699,7 +694,8 @@ static int uml_inetaddr_event(struct notifier_block *this, unsigned long event,
699 void (*proc)(unsigned char *, unsigned char *, void *); 694 void (*proc)(unsigned char *, unsigned char *, void *);
700 unsigned char addr_buf[4], netmask_buf[4]; 695 unsigned char addr_buf[4], netmask_buf[4];
701 696
702 if(dev->open != uml_net_open) return(NOTIFY_DONE); 697 if(dev->open != uml_net_open)
698 return NOTIFY_DONE;
703 699
704 lp = dev->priv; 700 lp = dev->priv;
705 701
@@ -717,9 +713,10 @@ static int uml_inetaddr_event(struct notifier_block *this, unsigned long event,
717 memcpy(netmask_buf, &ifa->ifa_mask, sizeof(netmask_buf)); 713 memcpy(netmask_buf, &ifa->ifa_mask, sizeof(netmask_buf));
718 (*proc)(addr_buf, netmask_buf, &lp->user); 714 (*proc)(addr_buf, netmask_buf, &lp->user);
719 } 715 }
720 return(NOTIFY_DONE); 716 return NOTIFY_DONE;
721} 717}
722 718
719/* uml_net_init shouldn't be called twice on two CPUs at the same time */
723struct notifier_block uml_inetaddr_notifier = { 720struct notifier_block uml_inetaddr_notifier = {
724 .notifier_call = uml_inetaddr_event, 721 .notifier_call = uml_inetaddr_event,
725}; 722};
@@ -727,7 +724,7 @@ struct notifier_block uml_inetaddr_notifier = {
727static int uml_net_init(void) 724static int uml_net_init(void)
728{ 725{
729 struct list_head *ele; 726 struct list_head *ele;
730 struct uml_net_private *lp; 727 struct uml_net_private *lp;
731 struct in_device *ip; 728 struct in_device *ip;
732 struct in_ifaddr *in; 729 struct in_ifaddr *in;
733 730
@@ -738,18 +735,21 @@ static int uml_net_init(void)
738 * didn't get a chance to run for them. This fakes it so that 735 * didn't get a chance to run for them. This fakes it so that
739 * addresses which have already been set up get handled properly. 736 * addresses which have already been set up get handled properly.
740 */ 737 */
738 spin_lock(&opened_lock);
741 list_for_each(ele, &opened){ 739 list_for_each(ele, &opened){
742 lp = list_entry(ele, struct uml_net_private, list); 740 lp = list_entry(ele, struct uml_net_private, list);
743 ip = lp->dev->ip_ptr; 741 ip = lp->dev->ip_ptr;
744 if(ip == NULL) continue; 742 if(ip == NULL)
743 continue;
745 in = ip->ifa_list; 744 in = ip->ifa_list;
746 while(in != NULL){ 745 while(in != NULL){
747 uml_inetaddr_event(NULL, NETDEV_UP, in); 746 uml_inetaddr_event(NULL, NETDEV_UP, in);
748 in = in->ifa_next; 747 in = in->ifa_next;
749 } 748 }
750 } 749 }
750 spin_unlock(&opened_lock);
751 751
752 return(0); 752 return 0;
753} 753}
754 754
755__initcall(uml_net_init); 755__initcall(uml_net_init);
@@ -759,13 +759,16 @@ static void close_devices(void)
759 struct list_head *ele; 759 struct list_head *ele;
760 struct uml_net_private *lp; 760 struct uml_net_private *lp;
761 761
762 spin_lock(&opened_lock);
762 list_for_each(ele, &opened){ 763 list_for_each(ele, &opened){
763 lp = list_entry(ele, struct uml_net_private, list); 764 lp = list_entry(ele, struct uml_net_private, list);
764 free_irq(lp->dev->irq, lp->dev); 765 free_irq(lp->dev->irq, lp->dev);
765 if((lp->close != NULL) && (lp->fd >= 0)) 766 if((lp->close != NULL) && (lp->fd >= 0))
766 (*lp->close)(lp->fd, &lp->user); 767 (*lp->close)(lp->fd, &lp->user);
767 if(lp->remove != NULL) (*lp->remove)(&lp->user); 768 if(lp->remove != NULL)
769 (*lp->remove)(&lp->user);
768 } 770 }
771 spin_unlock(&opened_lock);
769} 772}
770 773
771__uml_exitcall(close_devices); 774__uml_exitcall(close_devices);
@@ -783,8 +786,8 @@ struct sk_buff *ether_adjust_skb(struct sk_buff *skb, int extra)
783 return(skb); 786 return(skb);
784} 787}
785 788
786void iter_addresses(void *d, void (*cb)(unsigned char *, unsigned char *, 789void iter_addresses(void *d, void (*cb)(unsigned char *, unsigned char *,
787 void *), 790 void *),
788 void *arg) 791 void *arg)
789{ 792{
790 struct net_device *dev = d; 793 struct net_device *dev = d;
@@ -809,11 +812,11 @@ int dev_netmask(void *d, void *m)
809 struct in_ifaddr *in; 812 struct in_ifaddr *in;
810 __be32 *mask_out = m; 813 __be32 *mask_out = m;
811 814
812 if(ip == NULL) 815 if(ip == NULL)
813 return(1); 816 return(1);
814 817
815 in = ip->ifa_list; 818 in = ip->ifa_list;
816 if(in == NULL) 819 if(in == NULL)
817 return(1); 820 return(1);
818 821
819 *mask_out = in->ifa_mask; 822 *mask_out = in->ifa_mask;
@@ -827,7 +830,7 @@ void *get_output_buffer(int *len_out)
827 ret = (void *) __get_free_pages(GFP_KERNEL, 0); 830 ret = (void *) __get_free_pages(GFP_KERNEL, 0);
828 if(ret) *len_out = PAGE_SIZE; 831 if(ret) *len_out = PAGE_SIZE;
829 else *len_out = 0; 832 else *len_out = 0;
830 return(ret); 833 return ret;
831} 834}
832 835
833void free_output_buffer(void *buffer) 836void free_output_buffer(void *buffer)
@@ -835,7 +838,7 @@ void free_output_buffer(void *buffer)
835 free_pages((unsigned long) buffer, 0); 838 free_pages((unsigned long) buffer, 0);
836} 839}
837 840
838int tap_setup_common(char *str, char *type, char **dev_name, char **mac_out, 841int tap_setup_common(char *str, char *type, char **dev_name, char **mac_out,
839 char **gate_addr) 842 char **gate_addr)
840{ 843{
841 char *remain; 844 char *remain;
@@ -854,14 +857,3 @@ unsigned short eth_protocol(struct sk_buff *skb)
854{ 857{
855 return(eth_type_trans(skb, skb->dev)); 858 return(eth_type_trans(skb, skb->dev));
856} 859}
857
858/*
859 * Overrides for Emacs so that we follow Linus's tabbing style.
860 * Emacs will notice this stuff at the end of the file and automatically
861 * adjust the settings for this buffer only. This must remain at the end
862 * of the file.
863 * ---------------------------------------------------------------------------
864 * Local variables:
865 * c-file-style: "linux"
866 * End:
867 */
diff --git a/arch/um/drivers/port_kern.c b/arch/um/drivers/port_kern.c
index 6dfe632f1c14..1c8efd95c421 100644
--- a/arch/um/drivers/port_kern.c
+++ b/arch/um/drivers/port_kern.c
@@ -1,4 +1,4 @@
1/* 1/*
2 * Copyright (C) 2001, 2002 Jeff Dike (jdike@karaya.com) 2 * Copyright (C) 2001, 2002 Jeff Dike (jdike@karaya.com)
3 * Licensed under the GPL 3 * Licensed under the GPL
4 */ 4 */
@@ -55,9 +55,9 @@ static irqreturn_t pipe_interrupt(int irq, void *data)
55 fd = os_rcv_fd(conn->socket[0], &conn->helper_pid); 55 fd = os_rcv_fd(conn->socket[0], &conn->helper_pid);
56 if(fd < 0){ 56 if(fd < 0){
57 if(fd == -EAGAIN) 57 if(fd == -EAGAIN)
58 return(IRQ_NONE); 58 return IRQ_NONE;
59 59
60 printk(KERN_ERR "pipe_interrupt : os_rcv_fd returned %d\n", 60 printk(KERN_ERR "pipe_interrupt : os_rcv_fd returned %d\n",
61 -fd); 61 -fd);
62 os_close_file(conn->fd); 62 os_close_file(conn->fd);
63 } 63 }
@@ -68,7 +68,7 @@ static irqreturn_t pipe_interrupt(int irq, void *data)
68 list_add(&conn->list, &conn->port->connections); 68 list_add(&conn->list, &conn->port->connections);
69 69
70 complete(&conn->port->done); 70 complete(&conn->port->done);
71 return(IRQ_HANDLED); 71 return IRQ_HANDLED;
72} 72}
73 73
74#define NO_WAITER_MSG \ 74#define NO_WAITER_MSG \
@@ -97,14 +97,14 @@ static int port_accept(struct port_list *port)
97 "connection\n"); 97 "connection\n");
98 goto out_close; 98 goto out_close;
99 } 99 }
100 *conn = ((struct connection) 100 *conn = ((struct connection)
101 { .list = LIST_HEAD_INIT(conn->list), 101 { .list = LIST_HEAD_INIT(conn->list),
102 .fd = fd, 102 .fd = fd,
103 .socket = { socket[0], socket[1] }, 103 .socket = { socket[0], socket[1] },
104 .telnetd_pid = pid, 104 .telnetd_pid = pid,
105 .port = port }); 105 .port = port });
106 106
107 if(um_request_irq(TELNETD_IRQ, socket[0], IRQ_READ, pipe_interrupt, 107 if(um_request_irq(TELNETD_IRQ, socket[0], IRQ_READ, pipe_interrupt,
108 IRQF_DISABLED | IRQF_SHARED | IRQF_SAMPLE_RANDOM, 108 IRQF_DISABLED | IRQF_SHARED | IRQF_SAMPLE_RANDOM,
109 "telnetd", conn)){ 109 "telnetd", conn)){
110 printk(KERN_ERR "port_accept : failed to get IRQ for " 110 printk(KERN_ERR "port_accept : failed to get IRQ for "
@@ -117,20 +117,20 @@ static int port_accept(struct port_list *port)
117 printk("No one waiting for port\n"); 117 printk("No one waiting for port\n");
118 } 118 }
119 list_add(&conn->list, &port->pending); 119 list_add(&conn->list, &port->pending);
120 return(1); 120 return 1;
121 121
122 out_free: 122 out_free:
123 kfree(conn); 123 kfree(conn);
124 out_close: 124 out_close:
125 os_close_file(fd); 125 os_close_file(fd);
126 if(pid != -1) 126 if(pid != -1)
127 os_kill_process(pid, 1); 127 os_kill_process(pid, 1);
128 out: 128 out:
129 return(ret); 129 return ret;
130} 130}
131 131
132DECLARE_MUTEX(ports_sem); 132static DECLARE_MUTEX(ports_sem);
133struct list_head ports = LIST_HEAD_INIT(ports); 133static LIST_HEAD(ports);
134 134
135void port_work_proc(struct work_struct *unused) 135void port_work_proc(struct work_struct *unused)
136{ 136{
@@ -158,8 +158,8 @@ static irqreturn_t port_interrupt(int irq, void *data)
158 158
159 port->has_connection = 1; 159 port->has_connection = 1;
160 schedule_work(&port_work); 160 schedule_work(&port_work);
161 return(IRQ_HANDLED); 161 return IRQ_HANDLED;
162} 162}
163 163
164void *port_data(int port_num) 164void *port_data(int port_num)
165{ 165{
@@ -185,14 +185,14 @@ void *port_data(int port_num)
185 port_num, -fd); 185 port_num, -fd);
186 goto out_free; 186 goto out_free;
187 } 187 }
188 if(um_request_irq(ACCEPT_IRQ, fd, IRQ_READ, port_interrupt, 188 if(um_request_irq(ACCEPT_IRQ, fd, IRQ_READ, port_interrupt,
189 IRQF_DISABLED | IRQF_SHARED | IRQF_SAMPLE_RANDOM, "port", 189 IRQF_DISABLED | IRQF_SHARED | IRQF_SAMPLE_RANDOM,
190 port)){ 190 "port", port)){
191 printk(KERN_ERR "Failed to get IRQ for port %d\n", port_num); 191 printk(KERN_ERR "Failed to get IRQ for port %d\n", port_num);
192 goto out_close; 192 goto out_close;
193 } 193 }
194 194
195 *port = ((struct port_list) 195 *port = ((struct port_list)
196 { .list = LIST_HEAD_INIT(port->list), 196 { .list = LIST_HEAD_INIT(port->list),
197 .wait_count = ATOMIC_INIT(0), 197 .wait_count = ATOMIC_INIT(0),
198 .has_connection = 0, 198 .has_connection = 0,
@@ -222,7 +222,7 @@ void *port_data(int port_num)
222 os_close_file(fd); 222 os_close_file(fd);
223 out: 223 out:
224 up(&ports_sem); 224 up(&ports_sem);
225 return(dev); 225 return dev;
226} 226}
227 227
228int port_wait(void *data) 228int port_wait(void *data)
@@ -232,15 +232,15 @@ int port_wait(void *data)
232 struct port_list *port = dev->port; 232 struct port_list *port = dev->port;
233 int fd; 233 int fd;
234 234
235 atomic_inc(&port->wait_count); 235 atomic_inc(&port->wait_count);
236 while(1){ 236 while(1){
237 fd = -ERESTARTSYS; 237 fd = -ERESTARTSYS;
238 if(wait_for_completion_interruptible(&port->done)) 238 if(wait_for_completion_interruptible(&port->done))
239 goto out; 239 goto out;
240 240
241 spin_lock(&port->lock); 241 spin_lock(&port->lock);
242 242
243 conn = list_entry(port->connections.next, struct connection, 243 conn = list_entry(port->connections.next, struct connection,
244 list); 244 list);
245 list_del(&conn->list); 245 list_del(&conn->list);
246 spin_unlock(&port->lock); 246 spin_unlock(&port->lock);
@@ -248,12 +248,12 @@ int port_wait(void *data)
248 os_shutdown_socket(conn->socket[0], 1, 1); 248 os_shutdown_socket(conn->socket[0], 1, 1);
249 os_close_file(conn->socket[0]); 249 os_close_file(conn->socket[0]);
250 os_shutdown_socket(conn->socket[1], 1, 1); 250 os_shutdown_socket(conn->socket[1], 1, 1);
251 os_close_file(conn->socket[1]); 251 os_close_file(conn->socket[1]);
252 252
253 /* This is done here because freeing an IRQ can't be done 253 /* This is done here because freeing an IRQ can't be done
254 * within the IRQ handler. So, pipe_interrupt always ups 254 * within the IRQ handler. So, pipe_interrupt always ups
255 * the semaphore regardless of whether it got a successful 255 * the semaphore regardless of whether it got a successful
256 * connection. Then we loop here throwing out failed 256 * connection. Then we loop here throwing out failed
257 * connections until a good one is found. 257 * connections until a good one is found.
258 */ 258 */
259 free_irq(TELNETD_IRQ, conn); 259 free_irq(TELNETD_IRQ, conn);
diff --git a/arch/um/drivers/port_user.c b/arch/um/drivers/port_user.c
index bc6afaf74c1a..80508023054f 100644
--- a/arch/um/drivers/port_user.c
+++ b/arch/um/drivers/port_user.c
@@ -1,4 +1,4 @@
1/* 1/*
2 * Copyright (C) 2001 Jeff Dike (jdike@karaya.com) 2 * Copyright (C) 2001 Jeff Dike (jdike@karaya.com)
3 * Licensed under the GPL 3 * Licensed under the GPL
4 */ 4 */
@@ -38,18 +38,18 @@ static void *port_init(char *str, int device, const struct chan_opts *opts)
38 if(*str != ':'){ 38 if(*str != ':'){
39 printk("port_init : channel type 'port' must specify a " 39 printk("port_init : channel type 'port' must specify a "
40 "port number\n"); 40 "port number\n");
41 return(NULL); 41 return NULL;
42 } 42 }
43 str++; 43 str++;
44 port = strtoul(str, &end, 0); 44 port = strtoul(str, &end, 0);
45 if((*end != '\0') || (end == str)){ 45 if((*end != '\0') || (end == str)){
46 printk("port_init : couldn't parse port '%s'\n", str); 46 printk("port_init : couldn't parse port '%s'\n", str);
47 return(NULL); 47 return NULL;
48 } 48 }
49 49
50 kern_data = port_data(port); 50 kern_data = port_data(port);
51 if(kern_data == NULL) 51 if(kern_data == NULL)
52 return(NULL); 52 return NULL;
53 53
54 data = um_kmalloc(sizeof(*data)); 54 data = um_kmalloc(sizeof(*data));
55 if(data == NULL) 55 if(data == NULL)
@@ -59,10 +59,10 @@ static void *port_init(char *str, int device, const struct chan_opts *opts)
59 .kernel_data = kern_data }); 59 .kernel_data = kern_data });
60 sprintf(data->dev, "%d", port); 60 sprintf(data->dev, "%d", port);
61 61
62 return(data); 62 return data;
63 err: 63 err:
64 port_kern_free(kern_data); 64 port_kern_free(kern_data);
65 return(NULL); 65 return NULL;
66} 66}
67 67
68static void port_free(void *d) 68static void port_free(void *d)
@@ -83,14 +83,14 @@ static int port_open(int input, int output, int primary, void *d,
83 if((fd >= 0) && data->raw){ 83 if((fd >= 0) && data->raw){
84 CATCH_EINTR(err = tcgetattr(fd, &data->tt)); 84 CATCH_EINTR(err = tcgetattr(fd, &data->tt));
85 if(err) 85 if(err)
86 return(err); 86 return err;
87 87
88 err = raw(fd); 88 err = raw(fd);
89 if(err) 89 if(err)
90 return(err); 90 return err;
91 } 91 }
92 *dev_out = data->dev; 92 *dev_out = data->dev;
93 return(fd); 93 return fd;
94} 94}
95 95
96static void port_close(int fd, void *d) 96static void port_close(int fd, void *d)
@@ -120,8 +120,8 @@ int port_listen_fd(int port)
120 int fd, err, arg; 120 int fd, err, arg;
121 121
122 fd = socket(PF_INET, SOCK_STREAM, 0); 122 fd = socket(PF_INET, SOCK_STREAM, 0);
123 if(fd == -1) 123 if(fd == -1)
124 return(-errno); 124 return -errno;
125 125
126 arg = 1; 126 arg = 1;
127 if(setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &arg, sizeof(arg)) < 0){ 127 if(setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &arg, sizeof(arg)) < 0){
@@ -136,7 +136,7 @@ int port_listen_fd(int port)
136 err = -errno; 136 err = -errno;
137 goto out; 137 goto out;
138 } 138 }
139 139
140 if(listen(fd, 1) < 0){ 140 if(listen(fd, 1) < 0){
141 err = -errno; 141 err = -errno;
142 goto out; 142 goto out;
@@ -146,10 +146,10 @@ int port_listen_fd(int port)
146 if(err < 0) 146 if(err < 0)
147 goto out; 147 goto out;
148 148
149 return(fd); 149 return fd;
150 out: 150 out:
151 os_close_file(fd); 151 os_close_file(fd);
152 return(err); 152 return err;
153} 153}
154 154
155struct port_pre_exec_data { 155struct port_pre_exec_data {
@@ -173,13 +173,13 @@ void port_pre_exec(void *arg)
173int port_connection(int fd, int *socket, int *pid_out) 173int port_connection(int fd, int *socket, int *pid_out)
174{ 174{
175 int new, err; 175 int new, err;
176 char *argv[] = { "/usr/sbin/in.telnetd", "-L", 176 char *argv[] = { "/usr/sbin/in.telnetd", "-L",
177 "/usr/lib/uml/port-helper", NULL }; 177 "/usr/lib/uml/port-helper", NULL };
178 struct port_pre_exec_data data; 178 struct port_pre_exec_data data;
179 179
180 new = os_accept_connection(fd); 180 new = os_accept_connection(fd);
181 if(new < 0) 181 if(new < 0)
182 return(new); 182 return new;
183 183
184 err = os_pipe(socket, 0, 0); 184 err = os_pipe(socket, 0, 0);
185 if(err < 0) 185 if(err < 0)
@@ -190,29 +190,18 @@ int port_connection(int fd, int *socket, int *pid_out)
190 .pipe_fd = socket[1] }); 190 .pipe_fd = socket[1] });
191 191
192 err = run_helper(port_pre_exec, &data, argv, NULL); 192 err = run_helper(port_pre_exec, &data, argv, NULL);
193 if(err < 0) 193 if(err < 0)
194 goto out_shutdown; 194 goto out_shutdown;
195 195
196 *pid_out = err; 196 *pid_out = err;
197 return(new); 197 return new;
198 198
199 out_shutdown: 199 out_shutdown:
200 os_shutdown_socket(socket[0], 1, 1); 200 os_shutdown_socket(socket[0], 1, 1);
201 os_close_file(socket[0]); 201 os_close_file(socket[0]);
202 os_shutdown_socket(socket[1], 1, 1); 202 os_shutdown_socket(socket[1], 1, 1);
203 os_close_file(socket[1]); 203 os_close_file(socket[1]);
204 out_close: 204 out_close:
205 os_close_file(new); 205 os_close_file(new);
206 return(err); 206 return err;
207} 207}
208
209/*
210 * Overrides for Emacs so that we follow Linus's tabbing style.
211 * Emacs will notice this stuff at the end of the file and automatically
212 * adjust the settings for this buffer only. This must remain at the end
213 * of the file.
214 * ---------------------------------------------------------------------------
215 * Local variables:
216 * c-file-style: "linux"
217 * End:
218 */
diff --git a/arch/um/drivers/random.c b/arch/um/drivers/random.c
index 73b2bdd6d2d3..e942e836f995 100644
--- a/arch/um/drivers/random.c
+++ b/arch/um/drivers/random.c
@@ -78,6 +78,7 @@ static const struct file_operations rng_chrdev_ops = {
78 .read = rng_dev_read, 78 .read = rng_dev_read,
79}; 79};
80 80
81/* rng_init shouldn't be called more than once at boot time */
81static struct miscdevice rng_miscdev = { 82static struct miscdevice rng_miscdev = {
82 RNG_MISCDEV_MINOR, 83 RNG_MISCDEV_MINOR,
83 RNG_MODULE_NAME, 84 RNG_MODULE_NAME,
diff --git a/arch/um/drivers/ssl.c b/arch/um/drivers/ssl.c
index ed9c59082d0d..fc22b9bd9153 100644
--- a/arch/um/drivers/ssl.c
+++ b/arch/um/drivers/ssl.c
@@ -38,6 +38,7 @@ static void ssl_announce(char *dev_name, int dev)
38 dev_name); 38 dev_name);
39} 39}
40 40
41/* Almost const, except that xterm_title may be changed in an initcall */
41static struct chan_opts opts = { 42static struct chan_opts opts = {
42 .announce = ssl_announce, 43 .announce = ssl_announce,
43 .xterm_title = "Serial Line #%d", 44 .xterm_title = "Serial Line #%d",
@@ -46,10 +47,12 @@ static struct chan_opts opts = {
46 .in_kernel = 1, 47 .in_kernel = 1,
47}; 48};
48 49
49static int ssl_config(char *str); 50static int ssl_config(char *str, char **error_out);
50static int ssl_get_config(char *dev, char *str, int size, char **error_out); 51static int ssl_get_config(char *dev, char *str, int size, char **error_out);
51static int ssl_remove(int n); 52static int ssl_remove(int n, char **error_out);
52 53
54
55/* Const, except for .mc.list */
53static struct line_driver driver = { 56static struct line_driver driver = {
54 .name = "UML serial line", 57 .name = "UML serial line",
55 .device_name = "ttyS", 58 .device_name = "ttyS",
@@ -61,9 +64,8 @@ static struct line_driver driver = {
61 .read_irq_name = "ssl", 64 .read_irq_name = "ssl",
62 .write_irq = SSL_WRITE_IRQ, 65 .write_irq = SSL_WRITE_IRQ,
63 .write_irq_name = "ssl-write", 66 .write_irq_name = "ssl-write",
64 .symlink_from = "serial",
65 .symlink_to = "tts",
66 .mc = { 67 .mc = {
68 .list = LIST_HEAD_INIT(driver.mc.list),
67 .name = "ssl", 69 .name = "ssl",
68 .config = ssl_config, 70 .config = ssl_config,
69 .get_config = ssl_get_config, 71 .get_config = ssl_get_config,
@@ -72,17 +74,16 @@ static struct line_driver driver = {
72 }, 74 },
73}; 75};
74 76
75/* The array is initialized by line_init, which is an initcall. The 77/* The array is initialized by line_init, at initcall time. The
76 * individual elements are protected by individual semaphores. 78 * elements are locked individually as needed.
77 */ 79 */
78static struct line serial_lines[NR_PORTS] = 80static struct line serial_lines[NR_PORTS] =
79 { [0 ... NR_PORTS - 1] = LINE_INIT(CONFIG_SSL_CHAN, &driver) }; 81 { [0 ... NR_PORTS - 1] = LINE_INIT(CONFIG_SSL_CHAN, &driver) };
80 82
81static struct lines lines = LINES_INIT(NR_PORTS); 83static int ssl_config(char *str, char **error_out)
82
83static int ssl_config(char *str)
84{ 84{
85 return line_config(serial_lines, ARRAY_SIZE(serial_lines), str, &opts); 85 return line_config(serial_lines, ARRAY_SIZE(serial_lines), str, &opts,
86 error_out);
86} 87}
87 88
88static int ssl_get_config(char *dev, char *str, int size, char **error_out) 89static int ssl_get_config(char *dev, char *str, int size, char **error_out)
@@ -91,9 +92,10 @@ static int ssl_get_config(char *dev, char *str, int size, char **error_out)
91 size, error_out); 92 size, error_out);
92} 93}
93 94
94static int ssl_remove(int n) 95static int ssl_remove(int n, char **error_out)
95{ 96{
96 return line_remove(serial_lines, ARRAY_SIZE(serial_lines), n); 97 return line_remove(serial_lines, ARRAY_SIZE(serial_lines), n,
98 error_out);
97} 99}
98 100
99static int ssl_open(struct tty_struct *tty, struct file *filp) 101static int ssl_open(struct tty_struct *tty, struct file *filp)
@@ -168,9 +170,10 @@ static int ssl_console_setup(struct console *co, char *options)
168{ 170{
169 struct line *line = &serial_lines[co->index]; 171 struct line *line = &serial_lines[co->index];
170 172
171 return console_open_chan(line, co, &opts); 173 return console_open_chan(line, co);
172} 174}
173 175
176/* No locking for register_console call - relies on single-threaded initcalls */
174static struct console ssl_cons = { 177static struct console ssl_cons = {
175 .name = "ttyS", 178 .name = "ttyS",
176 .write = ssl_console_write, 179 .write = ssl_console_write,
@@ -186,9 +189,8 @@ static int ssl_init(void)
186 189
187 printk(KERN_INFO "Initializing software serial port version %d\n", 190 printk(KERN_INFO "Initializing software serial port version %d\n",
188 ssl_version); 191 ssl_version);
189 ssl_driver = line_register_devfs(&lines, &driver, &ssl_ops, 192 ssl_driver = register_lines(&driver, &ssl_ops, serial_lines,
190 serial_lines, 193 ARRAY_SIZE(serial_lines));
191 ARRAY_SIZE(serial_lines));
192 194
193 lines_init(serial_lines, ARRAY_SIZE(serial_lines), &opts); 195 lines_init(serial_lines, ARRAY_SIZE(serial_lines), &opts);
194 196
@@ -212,7 +214,15 @@ __uml_exitcall(ssl_exit);
212 214
213static int ssl_chan_setup(char *str) 215static int ssl_chan_setup(char *str)
214{ 216{
215 return line_setup(serial_lines, ARRAY_SIZE(serial_lines), str); 217 char *error;
218 int ret;
219
220 ret = line_setup(serial_lines, ARRAY_SIZE(serial_lines), str, &error);
221 if(ret < 0)
222 printk(KERN_ERR "Failed to set up serial line with "
223 "configuration string \"%s\" : %s\n", str, error);
224
225 return 1;
216} 226}
217 227
218__setup("ssl", ssl_chan_setup); 228__setup("ssl", ssl_chan_setup);
diff --git a/arch/um/drivers/stdio_console.c b/arch/um/drivers/stdio_console.c
index 7a4897e27f42..7ff0b0fc37e7 100644
--- a/arch/um/drivers/stdio_console.c
+++ b/arch/um/drivers/stdio_console.c
@@ -30,8 +30,6 @@
30 30
31#define MAX_TTYS (16) 31#define MAX_TTYS (16)
32 32
33/* ----------------------------------------------------------------------------- */
34
35/* Referenced only by tty_driver below - presumably it's locked correctly 33/* Referenced only by tty_driver below - presumably it's locked correctly
36 * by the tty driver. 34 * by the tty driver.
37 */ 35 */
@@ -44,6 +42,7 @@ void stdio_announce(char *dev_name, int dev)
44 dev_name); 42 dev_name);
45} 43}
46 44
45/* Almost const, except that xterm_title may be changed in an initcall */
47static struct chan_opts opts = { 46static struct chan_opts opts = {
48 .announce = stdio_announce, 47 .announce = stdio_announce,
49 .xterm_title = "Virtual Console #%d", 48 .xterm_title = "Virtual Console #%d",
@@ -52,10 +51,12 @@ static struct chan_opts opts = {
52 .in_kernel = 1, 51 .in_kernel = 1,
53}; 52};
54 53
55static int con_config(char *str); 54static int con_config(char *str, char **error_out);
56static int con_get_config(char *dev, char *str, int size, char **error_out); 55static int con_get_config(char *dev, char *str, int size, char **error_out);
57static int con_remove(int n); 56static int con_remove(int n, char **con_remove);
57
58 58
59/* Const, except for .mc.list */
59static struct line_driver driver = { 60static struct line_driver driver = {
60 .name = "UML console", 61 .name = "UML console",
61 .device_name = "tty", 62 .device_name = "tty",
@@ -67,9 +68,8 @@ static struct line_driver driver = {
67 .read_irq_name = "console", 68 .read_irq_name = "console",
68 .write_irq = CONSOLE_WRITE_IRQ, 69 .write_irq = CONSOLE_WRITE_IRQ,
69 .write_irq_name = "console-write", 70 .write_irq_name = "console-write",
70 .symlink_from = "ttys",
71 .symlink_to = "vc",
72 .mc = { 71 .mc = {
72 .list = LIST_HEAD_INIT(driver.mc.list),
73 .name = "con", 73 .name = "con",
74 .config = con_config, 74 .config = con_config,
75 .get_config = con_get_config, 75 .get_config = con_get_config,
@@ -78,18 +78,16 @@ static struct line_driver driver = {
78 }, 78 },
79}; 79};
80 80
81static struct lines console_lines = LINES_INIT(MAX_TTYS); 81/* The array is initialized by line_init, at initcall time. The
82 82 * elements are locked individually as needed.
83/* The array is initialized by line_init, which is an initcall. The
84 * individual elements are protected by individual semaphores.
85 */ 83 */
86struct line vts[MAX_TTYS] = { LINE_INIT(CONFIG_CON_ZERO_CHAN, &driver), 84static struct line vts[MAX_TTYS] = { LINE_INIT(CONFIG_CON_ZERO_CHAN, &driver),
87 [ 1 ... MAX_TTYS - 1 ] = 85 [ 1 ... MAX_TTYS - 1 ] =
88 LINE_INIT(CONFIG_CON_CHAN, &driver) }; 86 LINE_INIT(CONFIG_CON_CHAN, &driver) };
89 87
90static int con_config(char *str) 88static int con_config(char *str, char **error_out)
91{ 89{
92 return line_config(vts, ARRAY_SIZE(vts), str, &opts); 90 return line_config(vts, ARRAY_SIZE(vts), str, &opts, error_out);
93} 91}
94 92
95static int con_get_config(char *dev, char *str, int size, char **error_out) 93static int con_get_config(char *dev, char *str, int size, char **error_out)
@@ -97,9 +95,9 @@ static int con_get_config(char *dev, char *str, int size, char **error_out)
97 return line_get_config(dev, vts, ARRAY_SIZE(vts), str, size, error_out); 95 return line_get_config(dev, vts, ARRAY_SIZE(vts), str, size, error_out);
98} 96}
99 97
100static int con_remove(int n) 98static int con_remove(int n, char **error_out)
101{ 99{
102 return line_remove(vts, ARRAY_SIZE(vts), n); 100 return line_remove(vts, ARRAY_SIZE(vts), n, error_out);
103} 101}
104 102
105static int con_open(struct tty_struct *tty, struct file *filp) 103static int con_open(struct tty_struct *tty, struct file *filp)
@@ -146,9 +144,10 @@ static int uml_console_setup(struct console *co, char *options)
146{ 144{
147 struct line *line = &vts[co->index]; 145 struct line *line = &vts[co->index];
148 146
149 return console_open_chan(line, co, &opts); 147 return console_open_chan(line, co);
150} 148}
151 149
150/* No locking for register_console call - relies on single-threaded initcalls */
152static struct console stdiocons = { 151static struct console stdiocons = {
153 .name = "tty", 152 .name = "tty",
154 .write = uml_console_write, 153 .write = uml_console_write,
@@ -156,16 +155,14 @@ static struct console stdiocons = {
156 .setup = uml_console_setup, 155 .setup = uml_console_setup,
157 .flags = CON_PRINTBUFFER, 156 .flags = CON_PRINTBUFFER,
158 .index = -1, 157 .index = -1,
159 .data = &vts,
160}; 158};
161 159
162int stdio_init(void) 160int stdio_init(void)
163{ 161{
164 char *new_title; 162 char *new_title;
165 163
166 console_driver = line_register_devfs(&console_lines, &driver, 164 console_driver = register_lines(&driver, &console_ops, vts,
167 &console_ops, vts, 165 ARRAY_SIZE(vts));
168 ARRAY_SIZE(vts));
169 if (console_driver == NULL) 166 if (console_driver == NULL)
170 return -1; 167 return -1;
171 printk(KERN_INFO "Initialized stdio console driver\n"); 168 printk(KERN_INFO "Initialized stdio console driver\n");
@@ -192,7 +189,15 @@ __uml_exitcall(console_exit);
192 189
193static int console_chan_setup(char *str) 190static int console_chan_setup(char *str)
194{ 191{
195 return line_setup(vts, ARRAY_SIZE(vts), str); 192 char *error;
193 int ret;
194
195 ret = line_setup(vts, ARRAY_SIZE(vts), str, &error);
196 if(ret < 0)
197 printk(KERN_ERR "Failed to set up console with "
198 "configuration string \"%s\" : %s\n", str, error);
199
200 return 1;
196} 201}
197__setup("con", console_chan_setup); 202__setup("con", console_chan_setup);
198__channel_help(console_chan_setup, "con"); 203__channel_help(console_chan_setup, "con");
diff --git a/arch/um/drivers/ubd_kern.c b/arch/um/drivers/ubd_kern.c
index 49c047b75cc5..f98d26e51381 100644
--- a/arch/um/drivers/ubd_kern.c
+++ b/arch/um/drivers/ubd_kern.c
@@ -56,6 +56,7 @@
56enum ubd_req { UBD_READ, UBD_WRITE }; 56enum ubd_req { UBD_READ, UBD_WRITE };
57 57
58struct io_thread_req { 58struct io_thread_req {
59 struct request *req;
59 enum ubd_req op; 60 enum ubd_req op;
60 int fds[2]; 61 int fds[2];
61 unsigned long offsets[2]; 62 unsigned long offsets[2];
@@ -106,10 +107,6 @@ static inline void ubd_set_bit(__u64 bit, unsigned char *data)
106 107
107#define DRIVER_NAME "uml-blkdev" 108#define DRIVER_NAME "uml-blkdev"
108 109
109/* Can be taken in interrupt context, and is passed to the block layer to lock
110 * the request queue. Kernel side code knows that. */
111static DEFINE_SPINLOCK(ubd_io_lock);
112
113static DEFINE_MUTEX(ubd_lock); 110static DEFINE_MUTEX(ubd_lock);
114 111
115/* XXX - this made sense in 2.4 days, now it's only used as a boolean, and 112/* XXX - this made sense in 2.4 days, now it's only used as a boolean, and
@@ -132,12 +129,8 @@ static struct block_device_operations ubd_blops = {
132 .getgeo = ubd_getgeo, 129 .getgeo = ubd_getgeo,
133}; 130};
134 131
135/* Protected by the queue_lock */
136static request_queue_t *ubd_queue;
137
138/* Protected by ubd_lock */ 132/* Protected by ubd_lock */
139static int fake_major = MAJOR_NR; 133static int fake_major = MAJOR_NR;
140
141static struct gendisk *ubd_gendisk[MAX_DEV]; 134static struct gendisk *ubd_gendisk[MAX_DEV];
142static struct gendisk *fake_gendisk[MAX_DEV]; 135static struct gendisk *fake_gendisk[MAX_DEV];
143 136
@@ -148,10 +141,6 @@ static struct gendisk *fake_gendisk[MAX_DEV];
148#define OPEN_FLAGS ((struct openflags) { .r = 1, .w = 1, .s = 0, .c = 0, \ 141#define OPEN_FLAGS ((struct openflags) { .r = 1, .w = 1, .s = 0, .c = 0, \
149 .cl = 1 }) 142 .cl = 1 })
150#endif 143#endif
151
152/* Not protected - changed only in ubd_setup_common and then only to
153 * to enable O_SYNC.
154 */
155static struct openflags global_openflags = OPEN_FLAGS; 144static struct openflags global_openflags = OPEN_FLAGS;
156 145
157struct cow { 146struct cow {
@@ -178,6 +167,8 @@ struct ubd {
178 unsigned no_cow:1; 167 unsigned no_cow:1;
179 struct cow cow; 168 struct cow cow;
180 struct platform_device pdev; 169 struct platform_device pdev;
170 struct request_queue *queue;
171 spinlock_t lock;
181}; 172};
182 173
183#define DEFAULT_COW { \ 174#define DEFAULT_COW { \
@@ -198,8 +189,10 @@ struct ubd {
198 .no_cow = 0, \ 189 .no_cow = 0, \
199 .shared = 0, \ 190 .shared = 0, \
200 .cow = DEFAULT_COW, \ 191 .cow = DEFAULT_COW, \
192 .lock = SPIN_LOCK_UNLOCKED, \
201} 193}
202 194
195/* Protected by ubd_lock */
203struct ubd ubd_devs[MAX_DEV] = { [ 0 ... MAX_DEV - 1 ] = DEFAULT_UBD }; 196struct ubd ubd_devs[MAX_DEV] = { [ 0 ... MAX_DEV - 1 ] = DEFAULT_UBD };
204 197
205/* Only changed by fake_ide_setup which is a setup */ 198/* Only changed by fake_ide_setup which is a setup */
@@ -242,7 +235,6 @@ static void make_ide_entries(char *dev_name)
242 235
243 ent = create_proc_entry("media", S_IFREG|S_IRUGO, dir); 236 ent = create_proc_entry("media", S_IFREG|S_IRUGO, dir);
244 if(!ent) return; 237 if(!ent) return;
245 ent->nlink = 1;
246 ent->data = NULL; 238 ent->data = NULL;
247 ent->read_proc = proc_ide_read_media; 239 ent->read_proc = proc_ide_read_media;
248 ent->write_proc = NULL; 240 ent->write_proc = NULL;
@@ -286,12 +278,12 @@ static int parse_unit(char **ptr)
286 * otherwise, the str pointer is used (and owned) inside ubd_devs array, so it 278 * otherwise, the str pointer is used (and owned) inside ubd_devs array, so it
287 * should not be freed on exit. 279 * should not be freed on exit.
288 */ 280 */
289static int ubd_setup_common(char *str, int *index_out) 281static int ubd_setup_common(char *str, int *index_out, char **error_out)
290{ 282{
291 struct ubd *ubd_dev; 283 struct ubd *ubd_dev;
292 struct openflags flags = global_openflags; 284 struct openflags flags = global_openflags;
293 char *backing_file; 285 char *backing_file;
294 int n, err, i; 286 int n, err = 0, i;
295 287
296 if(index_out) *index_out = -1; 288 if(index_out) *index_out = -1;
297 n = *str; 289 n = *str;
@@ -302,56 +294,55 @@ static int ubd_setup_common(char *str, int *index_out)
302 str++; 294 str++;
303 if(!strcmp(str, "sync")){ 295 if(!strcmp(str, "sync")){
304 global_openflags = of_sync(global_openflags); 296 global_openflags = of_sync(global_openflags);
305 return(0); 297 goto out1;
306 } 298 }
299
300 err = -EINVAL;
307 major = simple_strtoul(str, &end, 0); 301 major = simple_strtoul(str, &end, 0);
308 if((*end != '\0') || (end == str)){ 302 if((*end != '\0') || (end == str)){
309 printk(KERN_ERR 303 *error_out = "Didn't parse major number";
310 "ubd_setup : didn't parse major number\n"); 304 goto out1;
311 return(1);
312 } 305 }
313 306
314 err = 1; 307 mutex_lock(&ubd_lock);
315 mutex_lock(&ubd_lock); 308 if(fake_major != MAJOR_NR){
316 if(fake_major != MAJOR_NR){ 309 *error_out = "Can't assign a fake major twice";
317 printk(KERN_ERR "Can't assign a fake major twice\n"); 310 goto out1;
318 goto out1; 311 }
319 }
320 312
321 fake_major = major; 313 fake_major = major;
322 314
323 printk(KERN_INFO "Setting extra ubd major number to %d\n", 315 printk(KERN_INFO "Setting extra ubd major number to %d\n",
324 major); 316 major);
325 err = 0; 317 err = 0;
326 out1: 318 out1:
327 mutex_unlock(&ubd_lock); 319 mutex_unlock(&ubd_lock);
328 return(err); 320 return err;
329 } 321 }
330 322
331 n = parse_unit(&str); 323 n = parse_unit(&str);
332 if(n < 0){ 324 if(n < 0){
333 printk(KERN_ERR "ubd_setup : couldn't parse unit number " 325 *error_out = "Couldn't parse device number";
334 "'%s'\n", str); 326 return -EINVAL;
335 return(1);
336 } 327 }
337 if(n >= MAX_DEV){ 328 if(n >= MAX_DEV){
338 printk(KERN_ERR "ubd_setup : index %d out of range " 329 *error_out = "Device number out of range";
339 "(%d devices, from 0 to %d)\n", n, MAX_DEV, MAX_DEV - 1); 330 return 1;
340 return(1);
341 } 331 }
342 332
343 err = 1; 333 err = -EBUSY;
344 mutex_lock(&ubd_lock); 334 mutex_lock(&ubd_lock);
345 335
346 ubd_dev = &ubd_devs[n]; 336 ubd_dev = &ubd_devs[n];
347 if(ubd_dev->file != NULL){ 337 if(ubd_dev->file != NULL){
348 printk(KERN_ERR "ubd_setup : device already configured\n"); 338 *error_out = "Device is already configured";
349 goto out; 339 goto out;
350 } 340 }
351 341
352 if (index_out) 342 if (index_out)
353 *index_out = n; 343 *index_out = n;
354 344
345 err = -EINVAL;
355 for (i = 0; i < sizeof("rscd="); i++) { 346 for (i = 0; i < sizeof("rscd="); i++) {
356 switch (*str) { 347 switch (*str) {
357 case 'r': 348 case 'r':
@@ -370,47 +361,54 @@ static int ubd_setup_common(char *str, int *index_out)
370 str++; 361 str++;
371 goto break_loop; 362 goto break_loop;
372 default: 363 default:
373 printk(KERN_ERR "ubd_setup : Expected '=' or flag letter (r, s, c, or d)\n"); 364 *error_out = "Expected '=' or flag letter "
365 "(r, s, c, or d)";
374 goto out; 366 goto out;
375 } 367 }
376 str++; 368 str++;
377 } 369 }
378 370
379 if (*str == '=') 371 if (*str == '=')
380 printk(KERN_ERR "ubd_setup : Too many flags specified\n"); 372 *error_out = "Too many flags specified";
381 else 373 else
382 printk(KERN_ERR "ubd_setup : Expected '='\n"); 374 *error_out = "Missing '='";
383 goto out; 375 goto out;
384 376
385break_loop: 377break_loop:
386 err = 0;
387 backing_file = strchr(str, ','); 378 backing_file = strchr(str, ',');
388 379
389 if (!backing_file) { 380 if (backing_file == NULL)
390 backing_file = strchr(str, ':'); 381 backing_file = strchr(str, ':');
391 }
392 382
393 if(backing_file){ 383 if(backing_file != NULL){
394 if(ubd_dev->no_cow) 384 if(ubd_dev->no_cow){
395 printk(KERN_ERR "Can't specify both 'd' and a " 385 *error_out = "Can't specify both 'd' and a cow file";
396 "cow file\n"); 386 goto out;
387 }
397 else { 388 else {
398 *backing_file = '\0'; 389 *backing_file = '\0';
399 backing_file++; 390 backing_file++;
400 } 391 }
401 } 392 }
393 err = 0;
402 ubd_dev->file = str; 394 ubd_dev->file = str;
403 ubd_dev->cow.file = backing_file; 395 ubd_dev->cow.file = backing_file;
404 ubd_dev->boot_openflags = flags; 396 ubd_dev->boot_openflags = flags;
405out: 397out:
406 mutex_unlock(&ubd_lock); 398 mutex_unlock(&ubd_lock);
407 return(err); 399 return err;
408} 400}
409 401
410static int ubd_setup(char *str) 402static int ubd_setup(char *str)
411{ 403{
412 ubd_setup_common(str, NULL); 404 char *error;
413 return(1); 405 int err;
406
407 err = ubd_setup_common(str, NULL, &error);
408 if(err)
409 printk(KERN_ERR "Failed to initialize device with \"%s\" : "
410 "%s\n", str, error);
411 return 1;
414} 412}
415 413
416__setup("ubd", ubd_setup); 414__setup("ubd", ubd_setup);
@@ -422,7 +420,7 @@ __uml_help(ubd_setup,
422" use either a ':' or a ',': the first one allows writing things like;\n" 420" use either a ':' or a ',': the first one allows writing things like;\n"
423" ubd0=~/Uml/root_cow:~/Uml/root_backing_file\n" 421" ubd0=~/Uml/root_cow:~/Uml/root_backing_file\n"
424" while with a ',' the shell would not expand the 2nd '~'.\n" 422" while with a ',' the shell would not expand the 2nd '~'.\n"
425" When using only one filename, UML will detect whether to thread it like\n" 423" When using only one filename, UML will detect whether to treat it like\n"
426" a COW file or a backing file. To override this detection, add the 'd'\n" 424" a COW file or a backing file. To override this detection, add the 'd'\n"
427" flag:\n" 425" flag:\n"
428" ubd0d=BackingFile\n" 426" ubd0d=BackingFile\n"
@@ -471,12 +469,6 @@ static void do_ubd_request(request_queue_t * q);
471/* Only changed by ubd_init, which is an initcall. */ 469/* Only changed by ubd_init, which is an initcall. */
472int thread_fd = -1; 470int thread_fd = -1;
473 471
474/* Changed by ubd_handler, which is serialized because interrupts only
475 * happen on CPU 0.
476 * XXX: currently unused.
477 */
478static int intr_count = 0;
479
480/* call ubd_finish if you need to serialize */ 472/* call ubd_finish if you need to serialize */
481static void __ubd_finish(struct request *req, int error) 473static void __ubd_finish(struct request *req, int error)
482{ 474{
@@ -499,36 +491,38 @@ static void __ubd_finish(struct request *req, int error)
499 * spin_lock_irq()/spin_lock_irqsave() */ 491 * spin_lock_irq()/spin_lock_irqsave() */
500static inline void ubd_finish(struct request *req, int error) 492static inline void ubd_finish(struct request *req, int error)
501{ 493{
502 spin_lock(&ubd_io_lock); 494 struct ubd *dev = req->rq_disk->private_data;
495
496 spin_lock(&dev->lock);
503 __ubd_finish(req, error); 497 __ubd_finish(req, error);
504 spin_unlock(&ubd_io_lock); 498 spin_unlock(&dev->lock);
505} 499}
506 500
507/* XXX - move this inside ubd_intr. */ 501/* XXX - move this inside ubd_intr. */
508/* Called without ubd_io_lock held, and only in interrupt context. */ 502/* Called without dev->lock held, and only in interrupt context. */
509static void ubd_handler(void) 503static void ubd_handler(void)
510{ 504{
511 struct io_thread_req req; 505 struct io_thread_req req;
512 struct request *rq = elv_next_request(ubd_queue); 506 struct request *rq;
507 struct ubd *dev;
513 int n; 508 int n;
514 509
515 do_ubd = 0; 510 do_ubd = 0;
516 intr_count++;
517 n = os_read_file(thread_fd, &req, sizeof(req)); 511 n = os_read_file(thread_fd, &req, sizeof(req));
518 if(n != sizeof(req)){ 512 if(n != sizeof(req)){
519 printk(KERN_ERR "Pid %d - spurious interrupt in ubd_handler, " 513 printk(KERN_ERR "Pid %d - spurious interrupt in ubd_handler, "
520 "err = %d\n", os_getpid(), -n); 514 "err = %d\n", os_getpid(), -n);
521 spin_lock(&ubd_io_lock);
522 end_request(rq, 0);
523 spin_unlock(&ubd_io_lock);
524 return; 515 return;
525 } 516 }
526 517
518 rq = req.req;
519 dev = rq->rq_disk->private_data;
520
527 ubd_finish(rq, req.error); 521 ubd_finish(rq, req.error);
528 reactivate_fd(thread_fd, UBD_IRQ); 522 reactivate_fd(thread_fd, UBD_IRQ);
529 spin_lock(&ubd_io_lock); 523 spin_lock(&dev->lock);
530 do_ubd_request(ubd_queue); 524 do_ubd_request(dev->queue);
531 spin_unlock(&ubd_io_lock); 525 spin_unlock(&dev->lock);
532} 526}
533 527
534static irqreturn_t ubd_intr(int irq, void *dev) 528static irqreturn_t ubd_intr(int irq, void *dev)
@@ -632,8 +626,7 @@ static int ubd_open_dev(struct ubd *ubd_dev)
632} 626}
633 627
634static int ubd_disk_register(int major, u64 size, int unit, 628static int ubd_disk_register(int major, u64 size, int unit,
635 struct gendisk **disk_out) 629 struct gendisk **disk_out)
636
637{ 630{
638 struct gendisk *disk; 631 struct gendisk *disk;
639 632
@@ -659,7 +652,7 @@ static int ubd_disk_register(int major, u64 size, int unit,
659 } 652 }
660 653
661 disk->private_data = &ubd_devs[unit]; 654 disk->private_data = &ubd_devs[unit];
662 disk->queue = ubd_queue; 655 disk->queue = ubd_devs[unit].queue;
663 add_disk(disk); 656 add_disk(disk);
664 657
665 *disk_out = disk; 658 *disk_out = disk;
@@ -668,28 +661,39 @@ static int ubd_disk_register(int major, u64 size, int unit,
668 661
669#define ROUND_BLOCK(n) ((n + ((1 << 9) - 1)) & (-1 << 9)) 662#define ROUND_BLOCK(n) ((n + ((1 << 9) - 1)) & (-1 << 9))
670 663
671static int ubd_add(int n) 664static int ubd_add(int n, char **error_out)
672{ 665{
673 struct ubd *ubd_dev = &ubd_devs[n]; 666 struct ubd *ubd_dev = &ubd_devs[n];
674 int err; 667 int err = 0;
675 668
676 err = -ENODEV;
677 if(ubd_dev->file == NULL) 669 if(ubd_dev->file == NULL)
678 goto out; 670 goto out;
679 671
680 err = ubd_file_size(ubd_dev, &ubd_dev->size); 672 err = ubd_file_size(ubd_dev, &ubd_dev->size);
681 if(err < 0) 673 if(err < 0){
674 *error_out = "Couldn't determine size of device's file";
682 goto out; 675 goto out;
676 }
683 677
684 ubd_dev->size = ROUND_BLOCK(ubd_dev->size); 678 ubd_dev->size = ROUND_BLOCK(ubd_dev->size);
685 679
686 err = ubd_disk_register(MAJOR_NR, ubd_dev->size, n, &ubd_gendisk[n]); 680 err = -ENOMEM;
687 if(err) 681 ubd_dev->queue = blk_init_queue(do_ubd_request, &ubd_dev->lock);
682 if (ubd_dev->queue == NULL) {
683 *error_out = "Failed to initialize device queue";
688 goto out; 684 goto out;
685 }
686 ubd_dev->queue->queuedata = ubd_dev;
687
688 err = ubd_disk_register(MAJOR_NR, ubd_dev->size, n, &ubd_gendisk[n]);
689 if(err){
690 *error_out = "Failed to register device";
691 goto out_cleanup;
692 }
689 693
690 if(fake_major != MAJOR_NR) 694 if(fake_major != MAJOR_NR)
691 ubd_disk_register(fake_major, ubd_dev->size, n, 695 ubd_disk_register(fake_major, ubd_dev->size, n,
692 &fake_gendisk[n]); 696 &fake_gendisk[n]);
693 697
694 /* perhaps this should also be under the "if (fake_major)" above */ 698 /* perhaps this should also be under the "if (fake_major)" above */
695 /* using the fake_disk->disk_name and also the fakehd_set name */ 699 /* using the fake_disk->disk_name and also the fakehd_set name */
@@ -699,30 +703,37 @@ static int ubd_add(int n)
699 err = 0; 703 err = 0;
700out: 704out:
701 return err; 705 return err;
706
707out_cleanup:
708 blk_cleanup_queue(ubd_dev->queue);
709 goto out;
702} 710}
703 711
704static int ubd_config(char *str) 712static int ubd_config(char *str, char **error_out)
705{ 713{
706 int n, ret; 714 int n, ret;
707 715
716 /* This string is possibly broken up and stored, so it's only
717 * freed if ubd_setup_common fails, or if only general options
718 * were set.
719 */
708 str = kstrdup(str, GFP_KERNEL); 720 str = kstrdup(str, GFP_KERNEL);
709 if (str == NULL) { 721 if (str == NULL) {
710 printk(KERN_ERR "ubd_config failed to strdup string\n"); 722 *error_out = "Failed to allocate memory";
711 ret = 1; 723 return -ENOMEM;
712 goto out;
713 } 724 }
714 ret = ubd_setup_common(str, &n); 725
715 if (ret) { 726 ret = ubd_setup_common(str, &n, error_out);
716 ret = -1; 727 if (ret)
717 goto err_free; 728 goto err_free;
718 } 729
719 if (n == -1) { 730 if (n == -1) {
720 ret = 0; 731 ret = 0;
721 goto err_free; 732 goto err_free;
722 } 733 }
723 734
724 mutex_lock(&ubd_lock); 735 mutex_lock(&ubd_lock);
725 ret = ubd_add(n); 736 ret = ubd_add(n, error_out);
726 if (ret) 737 if (ret)
727 ubd_devs[n].file = NULL; 738 ubd_devs[n].file = NULL;
728 mutex_unlock(&ubd_lock); 739 mutex_unlock(&ubd_lock);
@@ -777,7 +788,7 @@ static int ubd_id(char **str, int *start_out, int *end_out)
777 return n; 788 return n;
778} 789}
779 790
780static int ubd_remove(int n) 791static int ubd_remove(int n, char **error_out)
781{ 792{
782 struct ubd *ubd_dev; 793 struct ubd *ubd_dev;
783 int err = -ENODEV; 794 int err = -ENODEV;
@@ -807,6 +818,7 @@ static int ubd_remove(int n)
807 fake_gendisk[n] = NULL; 818 fake_gendisk[n] = NULL;
808 } 819 }
809 820
821 blk_cleanup_queue(ubd_dev->queue);
810 platform_device_unregister(&ubd_dev->pdev); 822 platform_device_unregister(&ubd_dev->pdev);
811 *ubd_dev = ((struct ubd) DEFAULT_UBD); 823 *ubd_dev = ((struct ubd) DEFAULT_UBD);
812 err = 0; 824 err = 0;
@@ -815,8 +827,11 @@ out:
815 return err; 827 return err;
816} 828}
817 829
818/* All these are called by mconsole in process context and without ubd-specific locks. */ 830/* All these are called by mconsole in process context and without
831 * ubd-specific locks. The structure itself is const except for .list.
832 */
819static struct mc_device ubd_mc = { 833static struct mc_device ubd_mc = {
834 .list = LIST_HEAD_INIT(ubd_mc.list),
820 .name = "ubd", 835 .name = "ubd",
821 .config = ubd_config, 836 .config = ubd_config,
822 .get_config = ubd_get_config, 837 .get_config = ubd_get_config,
@@ -836,13 +851,17 @@ static int __init ubd0_init(void)
836{ 851{
837 struct ubd *ubd_dev = &ubd_devs[0]; 852 struct ubd *ubd_dev = &ubd_devs[0];
838 853
854 mutex_lock(&ubd_lock);
839 if(ubd_dev->file == NULL) 855 if(ubd_dev->file == NULL)
840 ubd_dev->file = "root_fs"; 856 ubd_dev->file = "root_fs";
857 mutex_unlock(&ubd_lock);
858
841 return(0); 859 return(0);
842} 860}
843 861
844__initcall(ubd0_init); 862__initcall(ubd0_init);
845 863
864/* Used in ubd_init, which is an initcall */
846static struct platform_driver ubd_driver = { 865static struct platform_driver ubd_driver = {
847 .driver = { 866 .driver = {
848 .name = DRIVER_NAME, 867 .name = DRIVER_NAME,
@@ -851,17 +870,12 @@ static struct platform_driver ubd_driver = {
851 870
852static int __init ubd_init(void) 871static int __init ubd_init(void)
853{ 872{
854 int i; 873 char *error;
874 int i, err;
855 875
856 if (register_blkdev(MAJOR_NR, "ubd")) 876 if (register_blkdev(MAJOR_NR, "ubd"))
857 return -1; 877 return -1;
858 878
859 ubd_queue = blk_init_queue(do_ubd_request, &ubd_io_lock);
860 if (!ubd_queue) {
861 unregister_blkdev(MAJOR_NR, "ubd");
862 return -1;
863 }
864
865 if (fake_major != MAJOR_NR) { 879 if (fake_major != MAJOR_NR) {
866 char name[sizeof("ubd_nnn\0")]; 880 char name[sizeof("ubd_nnn\0")];
867 881
@@ -870,8 +884,14 @@ static int __init ubd_init(void)
870 return -1; 884 return -1;
871 } 885 }
872 platform_driver_register(&ubd_driver); 886 platform_driver_register(&ubd_driver);
873 for (i = 0; i < MAX_DEV; i++) 887 mutex_lock(&ubd_lock);
874 ubd_add(i); 888 for (i = 0; i < MAX_DEV; i++){
889 err = ubd_add(i, &error);
890 if(err)
891 printk(KERN_ERR "Failed to initialize ubd device %d :"
892 "%s\n", i, error);
893 }
894 mutex_unlock(&ubd_lock);
875 return 0; 895 return 0;
876} 896}
877 897
@@ -1003,7 +1023,7 @@ static void cowify_req(struct io_thread_req *req, unsigned long *bitmap,
1003 req->bitmap_words, bitmap_len); 1023 req->bitmap_words, bitmap_len);
1004} 1024}
1005 1025
1006/* Called with ubd_io_lock held */ 1026/* Called with dev->lock held */
1007static int prepare_request(struct request *req, struct io_thread_req *io_req) 1027static int prepare_request(struct request *req, struct io_thread_req *io_req)
1008{ 1028{
1009 struct gendisk *disk = req->rq_disk; 1029 struct gendisk *disk = req->rq_disk;
@@ -1022,6 +1042,7 @@ static int prepare_request(struct request *req, struct io_thread_req *io_req)
1022 offset = ((__u64) req->sector) << 9; 1042 offset = ((__u64) req->sector) << 9;
1023 len = req->current_nr_sectors << 9; 1043 len = req->current_nr_sectors << 9;
1024 1044
1045 io_req->req = req;
1025 io_req->fds[0] = (ubd_dev->cow.file != NULL) ? ubd_dev->cow.fd : ubd_dev->fd; 1046 io_req->fds[0] = (ubd_dev->cow.file != NULL) ? ubd_dev->cow.fd : ubd_dev->fd;
1026 io_req->fds[1] = ubd_dev->fd; 1047 io_req->fds[1] = ubd_dev->fd;
1027 io_req->cow_offset = -1; 1048 io_req->cow_offset = -1;
@@ -1043,7 +1064,7 @@ static int prepare_request(struct request *req, struct io_thread_req *io_req)
1043 return(0); 1064 return(0);
1044} 1065}
1045 1066
1046/* Called with ubd_io_lock held */ 1067/* Called with dev->lock held */
1047static void do_ubd_request(request_queue_t *q) 1068static void do_ubd_request(request_queue_t *q)
1048{ 1069{
1049 struct io_thread_req io_req; 1070 struct io_thread_req io_req;
@@ -1102,7 +1123,7 @@ static int ubd_ioctl(struct inode * inode, struct file * file,
1102 sizeof(ubd_id))) 1123 sizeof(ubd_id)))
1103 return(-EFAULT); 1124 return(-EFAULT);
1104 return(0); 1125 return(0);
1105 1126
1106 case CDROMVOLREAD: 1127 case CDROMVOLREAD:
1107 if(copy_from_user(&volume, (char __user *) arg, sizeof(volume))) 1128 if(copy_from_user(&volume, (char __user *) arg, sizeof(volume)))
1108 return(-EFAULT); 1129 return(-EFAULT);
diff --git a/arch/um/include/chan_kern.h b/arch/um/include/chan_kern.h
index 9003a343e148..c4b41bb1035f 100644
--- a/arch/um/include/chan_kern.h
+++ b/arch/um/include/chan_kern.h
@@ -30,14 +30,13 @@ struct chan {
30extern void chan_interrupt(struct list_head *chans, struct delayed_work *task, 30extern void chan_interrupt(struct list_head *chans, struct delayed_work *task,
31 struct tty_struct *tty, int irq); 31 struct tty_struct *tty, int irq);
32extern int parse_chan_pair(char *str, struct line *line, int device, 32extern int parse_chan_pair(char *str, struct line *line, int device,
33 const struct chan_opts *opts); 33 const struct chan_opts *opts, char **error_out);
34extern int open_chan(struct list_head *chans); 34extern int open_chan(struct list_head *chans);
35extern int write_chan(struct list_head *chans, const char *buf, int len, 35extern int write_chan(struct list_head *chans, const char *buf, int len,
36 int write_irq); 36 int write_irq);
37extern int console_write_chan(struct list_head *chans, const char *buf, 37extern int console_write_chan(struct list_head *chans, const char *buf,
38 int len); 38 int len);
39extern int console_open_chan(struct line *line, struct console *co, 39extern int console_open_chan(struct line *line, struct console *co);
40 const struct chan_opts *opts);
41extern void deactivate_chan(struct list_head *chans, int irq); 40extern void deactivate_chan(struct list_head *chans, int irq);
42extern void reactivate_chan(struct list_head *chans, int irq); 41extern void reactivate_chan(struct list_head *chans, int irq);
43extern void chan_enable_winch(struct list_head *chans, struct tty_struct *tty); 42extern void chan_enable_winch(struct list_head *chans, struct tty_struct *tty);
diff --git a/arch/um/include/chan_user.h b/arch/um/include/chan_user.h
index a795547a1dbd..38f16d812e7c 100644
--- a/arch/um/include/chan_user.h
+++ b/arch/um/include/chan_user.h
@@ -1,4 +1,4 @@
1/* 1/*
2 * Copyright (C) 2000, 2001 Jeff Dike (jdike@karaya.com) 2 * Copyright (C) 2000, 2001 Jeff Dike (jdike@karaya.com)
3 * Licensed under the GPL 3 * Licensed under the GPL
4 */ 4 */
@@ -9,11 +9,11 @@
9#include "init.h" 9#include "init.h"
10 10
11struct chan_opts { 11struct chan_opts {
12 void (*announce)(char *dev_name, int dev); 12 void (*const announce)(char *dev_name, int dev);
13 char *xterm_title; 13 char *xterm_title;
14 int raw; 14 const int raw;
15 unsigned long tramp_stack; 15 const unsigned long tramp_stack;
16 int in_kernel; 16 const int in_kernel;
17}; 17};
18 18
19enum chan_init_pri { INIT_STATIC, INIT_ALL, INIT_ONE }; 19enum chan_init_pri { INIT_STATIC, INIT_ALL, INIT_ONE };
@@ -54,14 +54,3 @@ __uml_help(fn, prefix "[0-9]*=<channel description>\n" \
54); 54);
55 55
56#endif 56#endif
57
58/*
59 * Overrides for Emacs so that we follow Linus's tabbing style.
60 * Emacs will notice this stuff at the end of the file and automatically
61 * adjust the settings for this buffer only. This must remain at the end
62 * of the file.
63 * ---------------------------------------------------------------------------
64 * Local variables:
65 * c-file-style: "linux"
66 * End:
67 */
diff --git a/arch/um/include/kern_util.h b/arch/um/include/kern_util.h
index cec9fcc57bf5..173af029d12b 100644
--- a/arch/um/include/kern_util.h
+++ b/arch/um/include/kern_util.h
@@ -61,7 +61,6 @@ extern int set_signals(int enable);
61extern void force_sigbus(void); 61extern void force_sigbus(void);
62extern int pid_to_processor_id(int pid); 62extern int pid_to_processor_id(int pid);
63extern void deliver_signals(void *t); 63extern void deliver_signals(void *t);
64extern int next_syscall_index(int max);
65extern int next_trap_index(int max); 64extern int next_trap_index(int max);
66extern void default_idle(void); 65extern void default_idle(void);
67extern void finish_fork(void); 66extern void finish_fork(void);
@@ -88,7 +87,6 @@ extern void timer_irq(union uml_pt_regs *regs);
88extern void unprotect_stack(unsigned long stack); 87extern void unprotect_stack(unsigned long stack);
89extern void do_uml_exitcalls(void); 88extern void do_uml_exitcalls(void);
90extern int attach_debugger(int idle_pid, int pid, int stop); 89extern int attach_debugger(int idle_pid, int pid, int stop);
91extern void bad_segv(struct faultinfo fi, unsigned long ip);
92extern int config_gdb(char *str); 90extern int config_gdb(char *str);
93extern int remove_gdb(void); 91extern int remove_gdb(void);
94extern char *uml_strdup(char *string); 92extern char *uml_strdup(char *string);
@@ -104,8 +102,6 @@ extern int clear_user_proc(void *buf, int size);
104extern int copy_to_user_proc(void *to, void *from, int size); 102extern int copy_to_user_proc(void *to, void *from, int size);
105extern int copy_from_user_proc(void *to, void *from, int size); 103extern int copy_from_user_proc(void *to, void *from, int size);
106extern int strlen_user_proc(char *str); 104extern int strlen_user_proc(char *str);
107extern void bus_handler(int sig, union uml_pt_regs *regs);
108extern void winch(int sig, union uml_pt_regs *regs);
109extern long execute_syscall(void *r); 105extern long execute_syscall(void *r);
110extern int smp_sigio_handler(void); 106extern int smp_sigio_handler(void);
111extern void *get_current(void); 107extern void *get_current(void);
@@ -120,7 +116,6 @@ extern void time_init_kern(void);
120 116
121/* Are we disallowed to sleep? Used to choose between GFP_KERNEL and GFP_ATOMIC. */ 117/* Are we disallowed to sleep? Used to choose between GFP_KERNEL and GFP_ATOMIC. */
122extern int __cant_sleep(void); 118extern int __cant_sleep(void);
123extern void segv_handler(int sig, union uml_pt_regs *regs);
124extern void sigio_handler(int sig, union uml_pt_regs *regs); 119extern void sigio_handler(int sig, union uml_pt_regs *regs);
125 120
126#endif 121#endif
diff --git a/arch/um/include/line.h b/arch/um/include/line.h
index 5f232ae89fbb..1223f2c844b4 100644
--- a/arch/um/include/line.h
+++ b/arch/um/include/line.h
@@ -11,36 +11,37 @@
11#include "linux/tty.h" 11#include "linux/tty.h"
12#include "linux/interrupt.h" 12#include "linux/interrupt.h"
13#include "linux/spinlock.h" 13#include "linux/spinlock.h"
14#include "linux/mutex.h"
14#include "chan_user.h" 15#include "chan_user.h"
15#include "mconsole_kern.h" 16#include "mconsole_kern.h"
16 17
18/* There's only one modifiable field in this - .mc.list */
17struct line_driver { 19struct line_driver {
18 char *name; 20 const char *name;
19 char *device_name; 21 const char *device_name;
20 short major; 22 const short major;
21 short minor_start; 23 const short minor_start;
22 short type; 24 const short type;
23 short subtype; 25 const short subtype;
24 int read_irq; 26 const int read_irq;
25 char *read_irq_name; 27 const char *read_irq_name;
26 int write_irq; 28 const int write_irq;
27 char *write_irq_name; 29 const char *write_irq_name;
28 char *symlink_from;
29 char *symlink_to;
30 struct mc_device mc; 30 struct mc_device mc;
31}; 31};
32 32
33struct line { 33struct line {
34 struct tty_struct *tty; 34 struct tty_struct *tty;
35 spinlock_t count_lock;
36 int valid;
37
35 char *init_str; 38 char *init_str;
36 int init_pri; 39 int init_pri;
37 struct list_head chan_list; 40 struct list_head chan_list;
38 int valid; 41
39 int count;
40 int throttled;
41 /*This lock is actually, mostly, local to*/ 42 /*This lock is actually, mostly, local to*/
42 spinlock_t lock; 43 spinlock_t lock;
43 44 int throttled;
44 /* Yes, this is a real circular buffer. 45 /* Yes, this is a real circular buffer.
45 * XXX: And this should become a struct kfifo! 46 * XXX: And this should become a struct kfifo!
46 * 47 *
@@ -57,22 +58,17 @@ struct line {
57}; 58};
58 59
59#define LINE_INIT(str, d) \ 60#define LINE_INIT(str, d) \
60 { .init_str = str, \ 61 { .count_lock = SPIN_LOCK_UNLOCKED, \
62 .init_str = str, \
61 .init_pri = INIT_STATIC, \ 63 .init_pri = INIT_STATIC, \
62 .valid = 1, \ 64 .valid = 1, \
63 .lock = SPIN_LOCK_UNLOCKED, \ 65 .lock = SPIN_LOCK_UNLOCKED, \
64 .driver = d } 66 .driver = d }
65 67
66struct lines {
67 int num;
68};
69
70#define LINES_INIT(n) { .num = n }
71
72extern void line_close(struct tty_struct *tty, struct file * filp); 68extern void line_close(struct tty_struct *tty, struct file * filp);
73extern int line_open(struct line *lines, struct tty_struct *tty); 69extern int line_open(struct line *lines, struct tty_struct *tty);
74extern int line_setup(struct line *lines, unsigned int sizeof_lines, 70extern int line_setup(struct line *lines, unsigned int sizeof_lines,
75 char *init); 71 char *init, char **error_out);
76extern int line_write(struct tty_struct *tty, const unsigned char *buf, 72extern int line_write(struct tty_struct *tty, const unsigned char *buf,
77 int len); 73 int len);
78extern void line_put_char(struct tty_struct *tty, unsigned char ch); 74extern void line_put_char(struct tty_struct *tty, unsigned char ch);
@@ -90,17 +86,18 @@ extern char *add_xterm_umid(char *base);
90extern int line_setup_irq(int fd, int input, int output, struct line *line, 86extern int line_setup_irq(int fd, int input, int output, struct line *line,
91 void *data); 87 void *data);
92extern void line_close_chan(struct line *line); 88extern void line_close_chan(struct line *line);
93extern struct tty_driver * line_register_devfs(struct lines *set, 89extern struct tty_driver *register_lines(struct line_driver *line_driver,
94 struct line_driver *line_driver, 90 const struct tty_operations *driver,
95 const struct tty_operations *driver, 91 struct line *lines, int nlines);
96 struct line *lines, int nlines);
97extern void lines_init(struct line *lines, int nlines, struct chan_opts *opts); 92extern void lines_init(struct line *lines, int nlines, struct chan_opts *opts);
98extern void close_lines(struct line *lines, int nlines); 93extern void close_lines(struct line *lines, int nlines);
99 94
100extern int line_config(struct line *lines, unsigned int sizeof_lines, 95extern int line_config(struct line *lines, unsigned int sizeof_lines,
101 char *str, const struct chan_opts *opts); 96 char *str, const struct chan_opts *opts,
97 char **error_out);
102extern int line_id(char **str, int *start_out, int *end_out); 98extern int line_id(char **str, int *start_out, int *end_out);
103extern int line_remove(struct line *lines, unsigned int sizeof_lines, int n); 99extern int line_remove(struct line *lines, unsigned int sizeof_lines, int n,
100 char **error_out);
104extern int line_get_config(char *dev, struct line *lines, 101extern int line_get_config(char *dev, struct line *lines,
105 unsigned int sizeof_lines, char *str, 102 unsigned int sizeof_lines, char *str,
106 int size, char **error_out); 103 int size, char **error_out);
diff --git a/arch/um/include/mconsole_kern.h b/arch/um/include/mconsole_kern.h
index 1ea6d928e1cd..d2fe07e78958 100644
--- a/arch/um/include/mconsole_kern.h
+++ b/arch/um/include/mconsole_kern.h
@@ -18,10 +18,10 @@ struct mconsole_entry {
18struct mc_device { 18struct mc_device {
19 struct list_head list; 19 struct list_head list;
20 char *name; 20 char *name;
21 int (*config)(char *); 21 int (*config)(char *, char **);
22 int (*get_config)(char *, char *, int, char **); 22 int (*get_config)(char *, char *, int, char **);
23 int (*id)(char **, int *, int *); 23 int (*id)(char **, int *, int *);
24 int (*remove)(int); 24 int (*remove)(int, char **);
25}; 25};
26 26
27#define CONFIG_CHUNK(str, size, current, chunk, end) \ 27#define CONFIG_CHUNK(str, size, current, chunk, end) \
@@ -50,14 +50,3 @@ static inline void mconsole_register_dev(struct mc_device *new)
50#endif 50#endif
51 51
52#endif 52#endif
53
54/*
55 * Overrides for Emacs so that we follow Linus's tabbing style.
56 * Emacs will notice this stuff at the end of the file and automatically
57 * adjust the settings for this buffer only. This must remain at the end
58 * of the file.
59 * ---------------------------------------------------------------------------
60 * Local variables:
61 * c-file-style: "linux"
62 * End:
63 */
diff --git a/arch/um/include/net_kern.h b/arch/um/include/net_kern.h
index 218f8b47fdcd..125ab42df18a 100644
--- a/arch/um/include/net_kern.h
+++ b/arch/um/include/net_kern.h
@@ -1,4 +1,4 @@
1/* 1/*
2 * Copyright (C) 2002 Jeff Dike (jdike@karaya.com) 2 * Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
3 * Licensed under the GPL 3 * Licensed under the GPL
4 */ 4 */
@@ -36,7 +36,7 @@ struct uml_net_private {
36 void (*remove)(void *); 36 void (*remove)(void *);
37 int (*read)(int, struct sk_buff **skb, struct uml_net_private *); 37 int (*read)(int, struct sk_buff **skb, struct uml_net_private *);
38 int (*write)(int, struct sk_buff **skb, struct uml_net_private *); 38 int (*write)(int, struct sk_buff **skb, struct uml_net_private *);
39 39
40 void (*add_address)(unsigned char *, unsigned char *, void *); 40 void (*add_address)(unsigned char *, unsigned char *, void *);
41 void (*delete_address)(unsigned char *, unsigned char *, void *); 41 void (*delete_address)(unsigned char *, unsigned char *, void *);
42 int (*set_mtu)(int mtu, void *); 42 int (*set_mtu)(int mtu, void *);
@@ -52,18 +52,18 @@ struct net_kern_info {
52 52
53struct transport { 53struct transport {
54 struct list_head list; 54 struct list_head list;
55 char *name; 55 const char *name;
56 int (*setup)(char *, char **, void *); 56 int (* const setup)(char *, char **, void *);
57 const struct net_user_info *user; 57 const struct net_user_info *user;
58 const struct net_kern_info *kern; 58 const struct net_kern_info *kern;
59 int private_size; 59 const int private_size;
60 int setup_size; 60 const int setup_size;
61}; 61};
62 62
63extern struct net_device *ether_init(int); 63extern struct net_device *ether_init(int);
64extern unsigned short ether_protocol(struct sk_buff *); 64extern unsigned short ether_protocol(struct sk_buff *);
65extern struct sk_buff *ether_adjust_skb(struct sk_buff *skb, int extra); 65extern struct sk_buff *ether_adjust_skb(struct sk_buff *skb, int extra);
66extern int tap_setup_common(char *str, char *type, char **dev_name, 66extern int tap_setup_common(char *str, char *type, char **dev_name,
67 char **mac_out, char **gate_addr); 67 char **mac_out, char **gate_addr);
68extern void register_transport(struct transport *new); 68extern void register_transport(struct transport *new);
69extern unsigned short eth_protocol(struct sk_buff *skb); 69extern unsigned short eth_protocol(struct sk_buff *skb);
diff --git a/arch/um/include/os.h b/arch/um/include/os.h
index 13a86bd383d3..8629bd191492 100644
--- a/arch/um/include/os.h
+++ b/arch/um/include/os.h
@@ -137,7 +137,6 @@ extern int os_new_tty_pgrp(int fd, int pid);
137extern int os_get_ifname(int fd, char *namebuf); 137extern int os_get_ifname(int fd, char *namebuf);
138extern int os_set_slip(int fd); 138extern int os_set_slip(int fd);
139extern int os_set_owner(int fd, int pid); 139extern int os_set_owner(int fd, int pid);
140extern int os_sigio_async(int master, int slave);
141extern int os_mode_fd(int fd, int mode); 140extern int os_mode_fd(int fd, int mode);
142 141
143extern int os_seek_file(int fd, __u64 offset); 142extern int os_seek_file(int fd, __u64 offset);
@@ -341,4 +340,6 @@ extern void maybe_sigio_broken(int fd, int read);
341extern void sig_handler_common_skas(int sig, void *sc_ptr); 340extern void sig_handler_common_skas(int sig, void *sc_ptr);
342extern void user_signal(int sig, union uml_pt_regs *regs, int pid); 341extern void user_signal(int sig, union uml_pt_regs *regs, int pid);
343 342
343extern int os_arch_prctl(int pid, int code, unsigned long *addr);
344
344#endif 345#endif
diff --git a/arch/um/include/sigio.h b/arch/um/include/sigio.h
index fe99ea163c2e..434f1a9ae4b3 100644
--- a/arch/um/include/sigio.h
+++ b/arch/um/include/sigio.h
@@ -12,14 +12,3 @@ extern void sigio_lock(void);
12extern void sigio_unlock(void); 12extern void sigio_unlock(void);
13 13
14#endif 14#endif
15
16/*
17 * Overrides for Emacs so that we follow Linus's tabbing style.
18 * Emacs will notice this stuff at the end of the file and automatically
19 * adjust the settings for this buffer only. This must remain at the end
20 * of the file.
21 * ---------------------------------------------------------------------------
22 * Local variables:
23 * c-file-style: "linux"
24 * End:
25 */
diff --git a/arch/um/include/tempfile.h b/arch/um/include/tempfile.h
index e36d9e0f5105..d441eac936b9 100644
--- a/arch/um/include/tempfile.h
+++ b/arch/um/include/tempfile.h
@@ -9,13 +9,3 @@
9extern int make_tempfile(const char *template, char **tempname, int do_unlink); 9extern int make_tempfile(const char *template, char **tempname, int do_unlink);
10 10
11#endif 11#endif
12/*
13 * Overrides for Emacs so that we follow Linus's tabbing style.
14 * Emacs will notice this stuff at the end of the file and automatically
15 * adjust the settings for this buffer only. This must remain at the end
16 * of the file.
17 * ---------------------------------------------------------------------------
18 * Local variables:
19 * c-file-style: "linux"
20 * End:
21 */
diff --git a/arch/um/include/umid.h b/arch/um/include/umid.h
deleted file mode 100644
index 11373c851f15..000000000000
--- a/arch/um/include/umid.h
+++ /dev/null
@@ -1,22 +0,0 @@
1/*
2 * Copyright (C) 2001 Jeff Dike (jdike@karaya.com)
3 * Licensed under the GPL
4 */
5
6#ifndef __UMID_H__
7#define __UMID_H__
8
9extern int umid_file_name(char *name, char *buf, int len);
10
11#endif
12
13/*
14 * Overrides for Emacs so that we follow Linus's tabbing style.
15 * Emacs will notice this stuff at the end of the file and automatically
16 * adjust the settings for this buffer only. This must remain at the end
17 * of the file.
18 * ---------------------------------------------------------------------------
19 * Local variables:
20 * c-file-style: "linux"
21 * End:
22 */
diff --git a/arch/um/kernel/Makefile b/arch/um/kernel/Makefile
index 6fa63a2a89e3..c5cf4a0827b0 100644
--- a/arch/um/kernel/Makefile
+++ b/arch/um/kernel/Makefile
@@ -7,7 +7,7 @@ extra-y := vmlinux.lds
7clean-files := 7clean-files :=
8 8
9obj-y = config.o exec.o exitcode.o init_task.o irq.o ksyms.o mem.o \ 9obj-y = config.o exec.o exitcode.o init_task.o irq.o ksyms.o mem.o \
10 physmem.o process.o ptrace.o reboot.o resource.o sigio.o \ 10 physmem.o process.o ptrace.o reboot.o sigio.o \
11 signal.o smp.o syscall.o sysrq.o time.o tlb.o trap.o uaccess.o \ 11 signal.o smp.o syscall.o sysrq.o time.o tlb.o trap.o uaccess.o \
12 um_arch.o umid.o 12 um_arch.o umid.o
13 13
diff --git a/arch/um/kernel/exec.c b/arch/um/kernel/exec.c
index 8d56ec6cca79..121166400e25 100644
--- a/arch/um/kernel/exec.c
+++ b/arch/um/kernel/exec.c
@@ -39,9 +39,9 @@ static long execve1(char *file, char __user * __user *argv,
39 char __user *__user *env) 39 char __user *__user *env)
40{ 40{
41 long error; 41 long error;
42#ifdef CONFIG_TTY_LOG
42 struct tty_struct *tty; 43 struct tty_struct *tty;
43 44
44#ifdef CONFIG_TTY_LOG
45 mutex_lock(&tty_mutex); 45 mutex_lock(&tty_mutex);
46 tty = get_current_tty(); 46 tty = get_current_tty();
47 if (tty) 47 if (tty)
diff --git a/arch/um/kernel/irq.c b/arch/um/kernel/irq.c
index 5c1e611f628d..50a288bb875a 100644
--- a/arch/um/kernel/irq.c
+++ b/arch/um/kernel/irq.c
@@ -79,7 +79,7 @@ skip:
79 return 0; 79 return 0;
80} 80}
81 81
82struct irq_fd *active_fds = NULL; 82static struct irq_fd *active_fds = NULL;
83static struct irq_fd **last_irq_ptr = &active_fds; 83static struct irq_fd **last_irq_ptr = &active_fds;
84 84
85extern void free_irqs(void); 85extern void free_irqs(void);
@@ -124,8 +124,8 @@ int activate_fd(int irq, int fd, int type, void *dev_id)
124 if (err < 0) 124 if (err < 0)
125 goto out; 125 goto out;
126 126
127 new_fd = um_kmalloc(sizeof(*new_fd));
128 err = -ENOMEM; 127 err = -ENOMEM;
128 new_fd = kmalloc(sizeof(struct irq_fd), GFP_KERNEL);
129 if (new_fd == NULL) 129 if (new_fd == NULL)
130 goto out; 130 goto out;
131 131
@@ -176,9 +176,8 @@ int activate_fd(int irq, int fd, int type, void *dev_id)
176 */ 176 */
177 spin_unlock_irqrestore(&irq_lock, flags); 177 spin_unlock_irqrestore(&irq_lock, flags);
178 kfree(tmp_pfd); 178 kfree(tmp_pfd);
179 tmp_pfd = NULL;
180 179
181 tmp_pfd = um_kmalloc(n); 180 tmp_pfd = kmalloc(n, GFP_KERNEL);
182 if (tmp_pfd == NULL) 181 if (tmp_pfd == NULL)
183 goto out_kfree; 182 goto out_kfree;
184 183
diff --git a/arch/um/kernel/mem.c b/arch/um/kernel/mem.c
index c95855ba6ab5..e85d65deea0d 100644
--- a/arch/um/kernel/mem.c
+++ b/arch/um/kernel/mem.c
@@ -24,8 +24,9 @@
24#include "init.h" 24#include "init.h"
25#include "kern_constants.h" 25#include "kern_constants.h"
26 26
27/* Changed during early boot */ 27/* allocated in paging_init, zeroed in mem_init, and unchanged thereafter */
28unsigned long *empty_zero_page = NULL; 28unsigned long *empty_zero_page = NULL;
29/* allocated in paging_init and unchanged thereafter */
29unsigned long *empty_bad_page = NULL; 30unsigned long *empty_bad_page = NULL;
30pgd_t swapper_pg_dir[PTRS_PER_PGD]; 31pgd_t swapper_pg_dir[PTRS_PER_PGD];
31unsigned long long highmem; 32unsigned long long highmem;
@@ -65,8 +66,8 @@ void mem_init(void)
65{ 66{
66 max_low_pfn = (high_physmem - uml_physmem) >> PAGE_SHIFT; 67 max_low_pfn = (high_physmem - uml_physmem) >> PAGE_SHIFT;
67 68
68 /* clear the zero-page */ 69 /* clear the zero-page */
69 memset((void *) empty_zero_page, 0, PAGE_SIZE); 70 memset((void *) empty_zero_page, 0, PAGE_SIZE);
70 71
71 /* Map in the area just after the brk now that kmalloc is about 72 /* Map in the area just after the brk now that kmalloc is about
72 * to be turned on. 73 * to be turned on.
@@ -253,8 +254,10 @@ struct page *arch_validate(struct page *page, gfp_t mask, int order)
253 int i; 254 int i;
254 255
255 again: 256 again:
256 if(page == NULL) return(page); 257 if(page == NULL)
257 if(PageHighMem(page)) return(page); 258 return page;
259 if(PageHighMem(page))
260 return page;
258 261
259 addr = (unsigned long) page_address(page); 262 addr = (unsigned long) page_address(page);
260 for(i = 0; i < (1 << order); i++){ 263 for(i = 0; i < (1 << order); i++){
@@ -263,13 +266,15 @@ struct page *arch_validate(struct page *page, gfp_t mask, int order)
263 sizeof(zero), 266 sizeof(zero),
264 &current->thread.fault_addr, 267 &current->thread.fault_addr,
265 &current->thread.fault_catcher)){ 268 &current->thread.fault_catcher)){
266 if(!(mask & __GFP_WAIT)) return(NULL); 269 if(!(mask & __GFP_WAIT))
270 return NULL;
267 else break; 271 else break;
268 } 272 }
269 addr += PAGE_SIZE; 273 addr += PAGE_SIZE;
270 } 274 }
271 275
272 if(i == (1 << order)) return(page); 276 if(i == (1 << order))
277 return page;
273 page = alloc_pages(mask, order); 278 page = alloc_pages(mask, order);
274 goto again; 279 goto again;
275} 280}
@@ -283,7 +288,6 @@ void free_initmem(void)
283} 288}
284 289
285#ifdef CONFIG_BLK_DEV_INITRD 290#ifdef CONFIG_BLK_DEV_INITRD
286
287void free_initrd_mem(unsigned long start, unsigned long end) 291void free_initrd_mem(unsigned long start, unsigned long end)
288{ 292{
289 if (start < end) 293 if (start < end)
@@ -296,37 +300,36 @@ void free_initrd_mem(unsigned long start, unsigned long end)
296 totalram_pages++; 300 totalram_pages++;
297 } 301 }
298} 302}
299
300#endif 303#endif
301 304
302void show_mem(void) 305void show_mem(void)
303{ 306{
304 int pfn, total = 0, reserved = 0; 307 int pfn, total = 0, reserved = 0;
305 int shared = 0, cached = 0; 308 int shared = 0, cached = 0;
306 int highmem = 0; 309 int highmem = 0;
307 struct page *page; 310 struct page *page;
308 311
309 printk("Mem-info:\n"); 312 printk("Mem-info:\n");
310 show_free_areas(); 313 show_free_areas();
311 printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10)); 314 printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10));
312 pfn = max_mapnr; 315 pfn = max_mapnr;
313 while(pfn-- > 0) { 316 while(pfn-- > 0) {
314 page = pfn_to_page(pfn); 317 page = pfn_to_page(pfn);
315 total++; 318 total++;
316 if(PageHighMem(page)) 319 if(PageHighMem(page))
317 highmem++; 320 highmem++;
318 if(PageReserved(page)) 321 if(PageReserved(page))
319 reserved++; 322 reserved++;
320 else if(PageSwapCache(page)) 323 else if(PageSwapCache(page))
321 cached++; 324 cached++;
322 else if(page_count(page)) 325 else if(page_count(page))
323 shared += page_count(page) - 1; 326 shared += page_count(page) - 1;
324 } 327 }
325 printk("%d pages of RAM\n", total); 328 printk("%d pages of RAM\n", total);
326 printk("%d pages of HIGHMEM\n", highmem); 329 printk("%d pages of HIGHMEM\n", highmem);
327 printk("%d reserved pages\n", reserved); 330 printk("%d reserved pages\n", reserved);
328 printk("%d pages shared\n", shared); 331 printk("%d pages shared\n", shared);
329 printk("%d pages swap cached\n", cached); 332 printk("%d pages swap cached\n", cached);
330} 333}
331 334
332/* 335/*
@@ -362,28 +365,7 @@ pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address)
362struct page *pte_alloc_one(struct mm_struct *mm, unsigned long address) 365struct page *pte_alloc_one(struct mm_struct *mm, unsigned long address)
363{ 366{
364 struct page *pte; 367 struct page *pte;
365 368
366 pte = alloc_page(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO); 369 pte = alloc_page(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO);
367 return pte; 370 return pte;
368} 371}
369
370struct iomem_region *iomem_regions = NULL;
371int iomem_size = 0;
372
373extern int parse_iomem(char *str, int *add) __init;
374
375__uml_setup("iomem=", parse_iomem,
376"iomem=<name>,<file>\n"
377" Configure <file> as an IO memory region named <name>.\n\n"
378);
379
380/*
381 * Overrides for Emacs so that we follow Linus's tabbing style.
382 * Emacs will notice this stuff at the end of the file and automatically
383 * adjust the settings for this buffer only. This must remain at the end
384 * of the file.
385 * ---------------------------------------------------------------------------
386 * Local variables:
387 * c-file-style: "linux"
388 * End:
389 */
diff --git a/arch/um/kernel/physmem.c b/arch/um/kernel/physmem.c
index abafa64b8727..638f3b5f6094 100644
--- a/arch/um/kernel/physmem.c
+++ b/arch/um/kernel/physmem.c
@@ -40,7 +40,7 @@ static struct rb_node **find_rb(void *virt)
40 while(*n != NULL){ 40 while(*n != NULL){
41 d = rb_entry(*n, struct phys_desc, rb); 41 d = rb_entry(*n, struct phys_desc, rb);
42 if(d->virt == virt) 42 if(d->virt == virt)
43 return(n); 43 return n;
44 44
45 if(d->virt > virt) 45 if(d->virt > virt)
46 n = &(*n)->rb_left; 46 n = &(*n)->rb_left;
@@ -48,7 +48,7 @@ static struct rb_node **find_rb(void *virt)
48 n = &(*n)->rb_right; 48 n = &(*n)->rb_right;
49 } 49 }
50 50
51 return(n); 51 return n;
52} 52}
53 53
54static struct phys_desc *find_phys_mapping(void *virt) 54static struct phys_desc *find_phys_mapping(void *virt)
@@ -56,9 +56,9 @@ static struct phys_desc *find_phys_mapping(void *virt)
56 struct rb_node **n = find_rb(virt); 56 struct rb_node **n = find_rb(virt);
57 57
58 if(*n == NULL) 58 if(*n == NULL)
59 return(NULL); 59 return NULL;
60 60
61 return(rb_entry(*n, struct phys_desc, rb)); 61 return rb_entry(*n, struct phys_desc, rb);
62} 62}
63 63
64static void insert_phys_mapping(struct phys_desc *desc) 64static void insert_phys_mapping(struct phys_desc *desc)
@@ -89,10 +89,10 @@ static struct desc_mapping *find_mapping(int fd)
89 list_for_each(ele, &descriptor_mappings){ 89 list_for_each(ele, &descriptor_mappings){
90 desc = list_entry(ele, struct desc_mapping, list); 90 desc = list_entry(ele, struct desc_mapping, list);
91 if(desc->fd == fd) 91 if(desc->fd == fd)
92 return(desc); 92 return desc;
93 } 93 }
94 94
95 return(NULL); 95 return NULL;
96} 96}
97 97
98static struct desc_mapping *descriptor_mapping(int fd) 98static struct desc_mapping *descriptor_mapping(int fd)
@@ -101,11 +101,11 @@ static struct desc_mapping *descriptor_mapping(int fd)
101 101
102 desc = find_mapping(fd); 102 desc = find_mapping(fd);
103 if(desc != NULL) 103 if(desc != NULL)
104 return(desc); 104 return desc;
105 105
106 desc = kmalloc(sizeof(*desc), GFP_ATOMIC); 106 desc = kmalloc(sizeof(*desc), GFP_ATOMIC);
107 if(desc == NULL) 107 if(desc == NULL)
108 return(NULL); 108 return NULL;
109 109
110 *desc = ((struct desc_mapping) 110 *desc = ((struct desc_mapping)
111 { .fd = fd, 111 { .fd = fd,
@@ -113,7 +113,7 @@ static struct desc_mapping *descriptor_mapping(int fd)
113 .pages = LIST_HEAD_INIT(desc->pages) }); 113 .pages = LIST_HEAD_INIT(desc->pages) });
114 list_add(&desc->list, &descriptor_mappings); 114 list_add(&desc->list, &descriptor_mappings);
115 115
116 return(desc); 116 return desc;
117} 117}
118 118
119int physmem_subst_mapping(void *virt, int fd, __u64 offset, int w) 119int physmem_subst_mapping(void *virt, int fd, __u64 offset, int w)
@@ -125,11 +125,11 @@ int physmem_subst_mapping(void *virt, int fd, __u64 offset, int w)
125 125
126 fd_maps = descriptor_mapping(fd); 126 fd_maps = descriptor_mapping(fd);
127 if(fd_maps == NULL) 127 if(fd_maps == NULL)
128 return(-ENOMEM); 128 return -ENOMEM;
129 129
130 phys = __pa(virt); 130 phys = __pa(virt);
131 desc = find_phys_mapping(virt); 131 desc = find_phys_mapping(virt);
132 if(desc != NULL) 132 if(desc != NULL)
133 panic("Address 0x%p is already substituted\n", virt); 133 panic("Address 0x%p is already substituted\n", virt);
134 134
135 err = -ENOMEM; 135 err = -ENOMEM;
@@ -155,7 +155,7 @@ int physmem_subst_mapping(void *virt, int fd, __u64 offset, int w)
155 rb_erase(&desc->rb, &phys_mappings); 155 rb_erase(&desc->rb, &phys_mappings);
156 kfree(desc); 156 kfree(desc);
157 out: 157 out:
158 return(err); 158 return err;
159} 159}
160 160
161static int physmem_fd = -1; 161static int physmem_fd = -1;
@@ -182,10 +182,10 @@ int physmem_remove_mapping(void *virt)
182 virt = (void *) ((unsigned long) virt & PAGE_MASK); 182 virt = (void *) ((unsigned long) virt & PAGE_MASK);
183 desc = find_phys_mapping(virt); 183 desc = find_phys_mapping(virt);
184 if(desc == NULL) 184 if(desc == NULL)
185 return(0); 185 return 0;
186 186
187 remove_mapping(desc); 187 remove_mapping(desc);
188 return(1); 188 return 1;
189} 189}
190 190
191void physmem_forget_descriptor(int fd) 191void physmem_forget_descriptor(int fd)
@@ -239,9 +239,9 @@ void arch_free_page(struct page *page, int order)
239 239
240int is_remapped(void *virt) 240int is_remapped(void *virt)
241{ 241{
242 struct phys_desc *desc = find_phys_mapping(virt); 242 struct phys_desc *desc = find_phys_mapping(virt);
243 243
244 return(desc != NULL); 244 return desc != NULL;
245} 245}
246 246
247/* Changed during early boot */ 247/* Changed during early boot */
@@ -276,7 +276,7 @@ int init_maps(unsigned long physmem, unsigned long iomem, unsigned long highmem)
276 else map = alloc_bootmem_low_pages(total_len); 276 else map = alloc_bootmem_low_pages(total_len);
277 277
278 if(map == NULL) 278 if(map == NULL)
279 return(-ENOMEM); 279 return -ENOMEM;
280 280
281 for(i = 0; i < total_pages; i++){ 281 for(i = 0; i < total_pages; i++){
282 p = &map[i]; 282 p = &map[i];
@@ -286,7 +286,7 @@ int init_maps(unsigned long physmem, unsigned long iomem, unsigned long highmem)
286 } 286 }
287 287
288 max_mapnr = total_pages; 288 max_mapnr = total_pages;
289 return(0); 289 return 0;
290} 290}
291 291
292/* Changed during early boot */ 292/* Changed during early boot */
@@ -296,7 +296,7 @@ unsigned long get_kmem_end(void)
296{ 296{
297 if(kmem_top == 0) 297 if(kmem_top == 0)
298 kmem_top = CHOOSE_MODE(kmem_end_tt, kmem_end_skas); 298 kmem_top = CHOOSE_MODE(kmem_end_tt, kmem_end_skas);
299 return(kmem_top); 299 return kmem_top;
300} 300}
301 301
302void map_memory(unsigned long virt, unsigned long phys, unsigned long len, 302void map_memory(unsigned long virt, unsigned long phys, unsigned long len,
@@ -379,7 +379,7 @@ int phys_mapping(unsigned long phys, __u64 *offset_out)
379 *offset_out = phys - iomem_size; 379 *offset_out = phys - iomem_size;
380 } 380 }
381 381
382 return(fd); 382 return fd;
383} 383}
384 384
385static int __init uml_mem_setup(char *line, int *add) 385static int __init uml_mem_setup(char *line, int *add)
@@ -398,6 +398,23 @@ __uml_setup("mem=", uml_mem_setup,
398" Example: mem=64M\n\n" 398" Example: mem=64M\n\n"
399); 399);
400 400
401extern int __init parse_iomem(char *str, int *add);
402
403__uml_setup("iomem=", parse_iomem,
404"iomem=<name>,<file>\n"
405" Configure <file> as an IO memory region named <name>.\n\n"
406);
407
408/*
409 * This list is constructed in parse_iomem and addresses filled in in
410 * setup_iomem, both of which run during early boot. Afterwards, it's
411 * unchanged.
412 */
413struct iomem_region *iomem_regions = NULL;
414
415/* Initialized in parse_iomem */
416int iomem_size = 0;
417
401unsigned long find_iomem(char *driver, unsigned long *len_out) 418unsigned long find_iomem(char *driver, unsigned long *len_out)
402{ 419{
403 struct iomem_region *region = iomem_regions; 420 struct iomem_region *region = iomem_regions;
@@ -405,13 +422,13 @@ unsigned long find_iomem(char *driver, unsigned long *len_out)
405 while(region != NULL){ 422 while(region != NULL){
406 if(!strcmp(region->driver, driver)){ 423 if(!strcmp(region->driver, driver)){
407 *len_out = region->size; 424 *len_out = region->size;
408 return(region->virt); 425 return region->virt;
409 } 426 }
410 427
411 region = region->next; 428 region = region->next;
412 } 429 }
413 430
414 return(0); 431 return 0;
415} 432}
416 433
417int setup_iomem(void) 434int setup_iomem(void)
@@ -435,18 +452,7 @@ int setup_iomem(void)
435 region = region->next; 452 region = region->next;
436 } 453 }
437 454
438 return(0); 455 return 0;
439} 456}
440 457
441__initcall(setup_iomem); 458__initcall(setup_iomem);
442
443/*
444 * Overrides for Emacs so that we follow Linus's tabbing style.
445 * Emacs will notice this stuff at the end of the file and automatically
446 * adjust the settings for this buffer only. This must remain at the end
447 * of the file.
448 * ---------------------------------------------------------------------------
449 * Local variables:
450 * c-file-style: "linux"
451 * End:
452 */
diff --git a/arch/um/kernel/ptrace.c b/arch/um/kernel/ptrace.c
index 9a77fb3c269d..627742d89434 100644
--- a/arch/um/kernel/ptrace.c
+++ b/arch/um/kernel/ptrace.c
@@ -18,6 +18,7 @@
18#include "kern_util.h" 18#include "kern_util.h"
19#include "skas_ptrace.h" 19#include "skas_ptrace.h"
20#include "sysdep/ptrace.h" 20#include "sysdep/ptrace.h"
21#include "os.h"
21 22
22static inline void set_singlestepping(struct task_struct *child, int on) 23static inline void set_singlestepping(struct task_struct *child, int on)
23{ 24{
@@ -241,6 +242,12 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
241 break; 242 break;
242 } 243 }
243#endif 244#endif
245#ifdef PTRACE_ARCH_PRCTL
246 case PTRACE_ARCH_PRCTL:
247 /* XXX Calls ptrace on the host - needs some SMP thinking */
248 ret = arch_prctl_skas(child, data, (void *) addr);
249 break;
250#endif
244 default: 251 default:
245 ret = ptrace_request(child, request, addr, data); 252 ret = ptrace_request(child, request, addr, data);
246 break; 253 break;
diff --git a/arch/um/kernel/resource.c b/arch/um/kernel/resource.c
deleted file mode 100644
index 32188e12e8af..000000000000
--- a/arch/um/kernel/resource.c
+++ /dev/null
@@ -1,23 +0,0 @@
1/*
2 * Copyright (C) 2000 Jeff Dike (jdike@karaya.com)
3 * Licensed under the GPL
4 */
5
6#include "linux/pci.h"
7
8unsigned long resource_fixup(struct pci_dev * dev, struct resource * res,
9 unsigned long start, unsigned long size)
10{
11 return start;
12}
13
14/*
15 * Overrides for Emacs so that we follow Linus's tabbing style.
16 * Emacs will notice this stuff at the end of the file and automatically
17 * adjust the settings for this buffer only. This must remain at the end
18 * of the file.
19 * ---------------------------------------------------------------------------
20 * Local variables:
21 * c-file-style: "linux"
22 * End:
23 */
diff --git a/arch/um/kernel/sigio.c b/arch/um/kernel/sigio.c
index 2b0ab438301c..89f9866a1354 100644
--- a/arch/um/kernel/sigio.c
+++ b/arch/um/kernel/sigio.c
@@ -23,7 +23,7 @@ static irqreturn_t sigio_interrupt(int irq, void *data)
23 23
24 os_read_file(sigio_irq_fd, &c, sizeof(c)); 24 os_read_file(sigio_irq_fd, &c, sizeof(c));
25 reactivate_fd(sigio_irq_fd, SIGIO_WRITE_IRQ); 25 reactivate_fd(sigio_irq_fd, SIGIO_WRITE_IRQ);
26 return(IRQ_HANDLED); 26 return IRQ_HANDLED;
27} 27}
28 28
29int write_sigio_irq(int fd) 29int write_sigio_irq(int fd)
@@ -36,12 +36,13 @@ int write_sigio_irq(int fd)
36 if(err){ 36 if(err){
37 printk("write_sigio_irq : um_request_irq failed, err = %d\n", 37 printk("write_sigio_irq : um_request_irq failed, err = %d\n",
38 err); 38 err);
39 return(-1); 39 return -1;
40 } 40 }
41 sigio_irq_fd = fd; 41 sigio_irq_fd = fd;
42 return(0); 42 return 0;
43} 43}
44 44
45/* These are called from os-Linux/sigio.c to protect its pollfds arrays. */
45static DEFINE_SPINLOCK(sigio_spinlock); 46static DEFINE_SPINLOCK(sigio_spinlock);
46 47
47void sigio_lock(void) 48void sigio_lock(void)
diff --git a/arch/um/kernel/skas/mem.c b/arch/um/kernel/skas/mem.c
index 0d2cce621134..7c18dfcd7d8e 100644
--- a/arch/um/kernel/skas/mem.c
+++ b/arch/um/kernel/skas/mem.c
@@ -14,13 +14,9 @@ unsigned long set_task_sizes_skas(unsigned long *task_size_out)
14 unsigned long host_task_size = ROUND_4M((unsigned long) 14 unsigned long host_task_size = ROUND_4M((unsigned long)
15 &host_task_size); 15 &host_task_size);
16 16
17#ifdef CONFIG_HOST_TASK_SIZE
18 *host_size_out = ROUND_4M(CONFIG_HOST_TASK_SIZE);
19 *task_size_out = CONFIG_HOST_TASK_SIZE;
20#else
21 if (!skas_needs_stub) 17 if (!skas_needs_stub)
22 *task_size_out = host_task_size; 18 *task_size_out = host_task_size;
23 else *task_size_out = CONFIG_STUB_START & PGDIR_MASK; 19 else *task_size_out = CONFIG_STUB_START & PGDIR_MASK;
24#endif 20
25 return host_task_size; 21 return host_task_size;
26} 22}
diff --git a/arch/um/kernel/syscall.c b/arch/um/kernel/syscall.c
index f5ed8624648b..2828c5283227 100644
--- a/arch/um/kernel/syscall.c
+++ b/arch/um/kernel/syscall.c
@@ -149,22 +149,6 @@ long sys_olduname(struct oldold_utsname __user * name)
149 return error; 149 return error;
150} 150}
151 151
152DEFINE_SPINLOCK(syscall_lock);
153
154static int syscall_index = 0;
155
156int next_syscall_index(int limit)
157{
158 int ret;
159
160 spin_lock(&syscall_lock);
161 ret = syscall_index;
162 if(++syscall_index == limit)
163 syscall_index = 0;
164 spin_unlock(&syscall_lock);
165 return(ret);
166}
167
168int kernel_execve(const char *filename, char *const argv[], char *const envp[]) 152int kernel_execve(const char *filename, char *const argv[], char *const envp[])
169{ 153{
170 mm_segment_t fs; 154 mm_segment_t fs;
diff --git a/arch/um/kernel/sysrq.c b/arch/um/kernel/sysrq.c
index 239c98054dec..f9e02b31a97a 100644
--- a/arch/um/kernel/sysrq.c
+++ b/arch/um/kernel/sysrq.c
@@ -50,7 +50,7 @@ void dump_stack(void)
50EXPORT_SYMBOL(dump_stack); 50EXPORT_SYMBOL(dump_stack);
51 51
52/*Stolen from arch/i386/kernel/traps.c */ 52/*Stolen from arch/i386/kernel/traps.c */
53static int kstack_depth_to_print = 24; 53static const int kstack_depth_to_print = 24;
54 54
55/* This recently started being used in arch-independent code too, as in 55/* This recently started being used in arch-independent code too, as in
56 * kernel/sched.c.*/ 56 * kernel/sched.c.*/
diff --git a/arch/um/kernel/time.c b/arch/um/kernel/time.c
index 2e354b3ca060..b1f8b0752419 100644
--- a/arch/um/kernel/time.c
+++ b/arch/um/kernel/time.c
@@ -35,31 +35,31 @@ unsigned long long sched_clock(void)
35 return (unsigned long long)jiffies_64 * (1000000000 / HZ); 35 return (unsigned long long)jiffies_64 * (1000000000 / HZ);
36} 36}
37 37
38static unsigned long long prev_nsecs; 38static unsigned long long prev_nsecs[NR_CPUS];
39#ifdef CONFIG_UML_REAL_TIME_CLOCK 39#ifdef CONFIG_UML_REAL_TIME_CLOCK
40static long long delta; /* Deviation per interval */ 40static long long delta[NR_CPUS]; /* Deviation per interval */
41#endif 41#endif
42 42
43void timer_irq(union uml_pt_regs *regs) 43void timer_irq(union uml_pt_regs *regs)
44{ 44{
45 unsigned long long ticks = 0; 45 unsigned long long ticks = 0;
46
47#ifdef CONFIG_UML_REAL_TIME_CLOCK 46#ifdef CONFIG_UML_REAL_TIME_CLOCK
48 if(prev_nsecs){ 47 int c = cpu();
48 if(prev_nsecs[c]){
49 /* We've had 1 tick */ 49 /* We've had 1 tick */
50 unsigned long long nsecs = os_nsecs(); 50 unsigned long long nsecs = os_nsecs();
51 51
52 delta += nsecs - prev_nsecs; 52 delta[c] += nsecs - prev_nsecs[c];
53 prev_nsecs = nsecs; 53 prev_nsecs[c] = nsecs;
54 54
55 /* Protect against the host clock being set backwards */ 55 /* Protect against the host clock being set backwards */
56 if(delta < 0) 56 if(delta[c] < 0)
57 delta = 0; 57 delta[c] = 0;
58 58
59 ticks += (delta * HZ) / BILLION; 59 ticks += (delta[c] * HZ) / BILLION;
60 delta -= (ticks * BILLION) / HZ; 60 delta[c] -= (ticks * BILLION) / HZ;
61 } 61 }
62 else prev_nsecs = os_nsecs(); 62 else prev_nsecs[c] = os_nsecs();
63#else 63#else
64 ticks = 1; 64 ticks = 1;
65#endif 65#endif
@@ -69,8 +69,8 @@ void timer_irq(union uml_pt_regs *regs)
69 } 69 }
70} 70}
71 71
72/* Protects local_offset */
72static DEFINE_SPINLOCK(timer_spinlock); 73static DEFINE_SPINLOCK(timer_spinlock);
73
74static unsigned long long local_offset = 0; 74static unsigned long long local_offset = 0;
75 75
76static inline unsigned long long get_time(void) 76static inline unsigned long long get_time(void)
diff --git a/arch/um/kernel/trap.c b/arch/um/kernel/trap.c
index b5f124a2f6ae..26f15c458574 100644
--- a/arch/um/kernel/trap.c
+++ b/arch/um/kernel/trap.c
@@ -128,7 +128,18 @@ out_of_memory:
128 goto out; 128 goto out;
129} 129}
130 130
131void segv_handler(int sig, union uml_pt_regs *regs) 131static void bad_segv(struct faultinfo fi, unsigned long ip)
132{
133 struct siginfo si;
134
135 si.si_signo = SIGSEGV;
136 si.si_code = SEGV_ACCERR;
137 si.si_addr = (void __user *) FAULT_ADDRESS(fi);
138 current->thread.arch.faultinfo = fi;
139 force_sig_info(SIGSEGV, &si, current);
140}
141
142static void segv_handler(int sig, union uml_pt_regs *regs)
132{ 143{
133 struct faultinfo * fi = UPT_FAULTINFO(regs); 144 struct faultinfo * fi = UPT_FAULTINFO(regs);
134 145
@@ -205,17 +216,6 @@ unsigned long segv(struct faultinfo fi, unsigned long ip, int is_user, void *sc)
205 return(0); 216 return(0);
206} 217}
207 218
208void bad_segv(struct faultinfo fi, unsigned long ip)
209{
210 struct siginfo si;
211
212 si.si_signo = SIGSEGV;
213 si.si_code = SEGV_ACCERR;
214 si.si_addr = (void __user *) FAULT_ADDRESS(fi);
215 current->thread.arch.faultinfo = fi;
216 force_sig_info(SIGSEGV, &si, current);
217}
218
219void relay_signal(int sig, union uml_pt_regs *regs) 219void relay_signal(int sig, union uml_pt_regs *regs)
220{ 220{
221 if(arch_handle_signal(sig, regs)) 221 if(arch_handle_signal(sig, regs))
@@ -232,14 +232,14 @@ void relay_signal(int sig, union uml_pt_regs *regs)
232 force_sig(sig, current); 232 force_sig(sig, current);
233} 233}
234 234
235void bus_handler(int sig, union uml_pt_regs *regs) 235static void bus_handler(int sig, union uml_pt_regs *regs)
236{ 236{
237 if(current->thread.fault_catcher != NULL) 237 if(current->thread.fault_catcher != NULL)
238 do_longjmp(current->thread.fault_catcher, 1); 238 do_longjmp(current->thread.fault_catcher, 1);
239 else relay_signal(sig, regs); 239 else relay_signal(sig, regs);
240} 240}
241 241
242void winch(int sig, union uml_pt_regs *regs) 242static void winch(int sig, union uml_pt_regs *regs)
243{ 243{
244 do_IRQ(WINCH_IRQ, regs); 244 do_IRQ(WINCH_IRQ, regs);
245} 245}
diff --git a/arch/um/kernel/tt/gdb.c b/arch/um/kernel/tt/gdb.c
index 786e4edd86c5..8eba8f7dca68 100644
--- a/arch/um/kernel/tt/gdb.c
+++ b/arch/um/kernel/tt/gdb.c
@@ -139,7 +139,7 @@ static void config_gdb_cb(void *arg)
139 init_proxy(debugger_pid, 0, 0); 139 init_proxy(debugger_pid, 0, 0);
140} 140}
141 141
142int gdb_config(char *str) 142int gdb_config(char *str, char **error_out)
143{ 143{
144 struct gdb_data data; 144 struct gdb_data data;
145 145
@@ -154,7 +154,7 @@ void remove_gdb_cb(void *unused)
154 exit_debugger_cb(NULL); 154 exit_debugger_cb(NULL);
155} 155}
156 156
157int gdb_remove(int unused) 157int gdb_remove(int unused, char **error_out)
158{ 158{
159 initial_thread_cb(remove_gdb_cb, NULL); 159 initial_thread_cb(remove_gdb_cb, NULL);
160 return 0; 160 return 0;
diff --git a/arch/um/kernel/tt/gdb_kern.c b/arch/um/kernel/tt/gdb_kern.c
index 68e1bf63cd0a..03b06bc00771 100644
--- a/arch/um/kernel/tt/gdb_kern.c
+++ b/arch/um/kernel/tt/gdb_kern.c
@@ -8,10 +8,11 @@
8 8
9#ifdef CONFIG_MCONSOLE 9#ifdef CONFIG_MCONSOLE
10 10
11extern int gdb_config(char *str); 11extern int gdb_config(char *str, char **error_out);
12extern int gdb_remove(int n); 12extern int gdb_remove(int n, char **error_out);
13 13
14static struct mc_device gdb_mc = { 14static struct mc_device gdb_mc = {
15 .list = INIT_LIST_HEAD(gdb_mc.list),
15 .name = "gdb", 16 .name = "gdb",
16 .config = gdb_config, 17 .config = gdb_config,
17 .remove = gdb_remove, 18 .remove = gdb_remove,
diff --git a/arch/um/kernel/um_arch.c b/arch/um/kernel/um_arch.c
index 66f43c906821..84e57f6da1d3 100644
--- a/arch/um/kernel/um_arch.c
+++ b/arch/um/kernel/um_arch.c
@@ -30,7 +30,6 @@
30#include "kern.h" 30#include "kern.h"
31#include "mem_user.h" 31#include "mem_user.h"
32#include "mem.h" 32#include "mem.h"
33#include "umid.h"
34#include "initrd.h" 33#include "initrd.h"
35#include "init.h" 34#include "init.h"
36#include "os.h" 35#include "os.h"
diff --git a/arch/um/kernel/umid.c b/arch/um/kernel/umid.c
index 4eaee823bfd2..039e16efcd55 100644
--- a/arch/um/kernel/umid.c
+++ b/arch/um/kernel/umid.c
@@ -16,8 +16,10 @@ static int __init set_umid_arg(char *name, int *add)
16{ 16{
17 int err; 17 int err;
18 18
19 if(umid_inited) 19 if(umid_inited){
20 printf("umid already set\n");
20 return 0; 21 return 0;
22 }
21 23
22 *add = 0; 24 *add = 0;
23 err = set_umid(name); 25 err = set_umid(name);
diff --git a/arch/um/os-Linux/aio.c b/arch/um/os-Linux/aio.c
index f897140cc4ae..6ff12743a0bd 100644
--- a/arch/um/os-Linux/aio.c
+++ b/arch/um/os-Linux/aio.c
@@ -24,9 +24,6 @@ struct aio_thread_req {
24 struct aio_context *aio; 24 struct aio_context *aio;
25}; 25};
26 26
27static int aio_req_fd_r = -1;
28static int aio_req_fd_w = -1;
29
30#if defined(HAVE_AIO_ABI) 27#if defined(HAVE_AIO_ABI)
31#include <linux/aio_abi.h> 28#include <linux/aio_abi.h>
32 29
@@ -111,6 +108,7 @@ static int do_aio(aio_context_t ctx, enum aio_type type, int fd, char *buf,
111 return err; 108 return err;
112} 109}
113 110
111/* Initialized in an initcall and unchanged thereafter */
114static aio_context_t ctx = 0; 112static aio_context_t ctx = 0;
115 113
116static int aio_thread(void *arg) 114static int aio_thread(void *arg)
@@ -137,7 +135,7 @@ static int aio_thread(void *arg)
137 err = os_write_file(reply_fd, &reply, sizeof(reply)); 135 err = os_write_file(reply_fd, &reply, sizeof(reply));
138 if(err != sizeof(reply)) 136 if(err != sizeof(reply))
139 printk("aio_thread - write failed, fd = %d, " 137 printk("aio_thread - write failed, fd = %d, "
140 "err = %d\n", aio_req_fd_r, -err); 138 "err = %d\n", reply_fd, -err);
141 } 139 }
142 } 140 }
143 return 0; 141 return 0;
@@ -182,6 +180,11 @@ out:
182 return err; 180 return err;
183} 181}
184 182
183/* These are initialized in initcalls and not changed */
184static int aio_req_fd_r = -1;
185static int aio_req_fd_w = -1;
186static int aio_pid = -1;
187
185static int not_aio_thread(void *arg) 188static int not_aio_thread(void *arg)
186{ 189{
187 struct aio_thread_req req; 190 struct aio_thread_req req;
@@ -208,14 +211,12 @@ static int not_aio_thread(void *arg)
208 err = os_write_file(req.aio->reply_fd, &reply, sizeof(reply)); 211 err = os_write_file(req.aio->reply_fd, &reply, sizeof(reply));
209 if(err != sizeof(reply)) 212 if(err != sizeof(reply))
210 printk("not_aio_thread - write failed, fd = %d, " 213 printk("not_aio_thread - write failed, fd = %d, "
211 "err = %d\n", aio_req_fd_r, -err); 214 "err = %d\n", req.aio->reply_fd, -err);
212 } 215 }
213 216
214 return 0; 217 return 0;
215} 218}
216 219
217static int aio_pid = -1;
218
219static int init_aio_24(void) 220static int init_aio_24(void)
220{ 221{
221 unsigned long stack; 222 unsigned long stack;
@@ -308,6 +309,7 @@ static int submit_aio_26(enum aio_type type, int io_fd, char *buf, int len,
308} 309}
309#endif 310#endif
310 311
312/* Initialized in an initcall and unchanged thereafter */
311static int aio_24 = DEFAULT_24_AIO; 313static int aio_24 = DEFAULT_24_AIO;
312 314
313static int __init set_aio_24(char *name, int *add) 315static int __init set_aio_24(char *name, int *add)
diff --git a/arch/um/os-Linux/elf_aux.c b/arch/um/os-Linux/elf_aux.c
index 5a99dd3fbed0..3a8d7e3aae0a 100644
--- a/arch/um/os-Linux/elf_aux.c
+++ b/arch/um/os-Linux/elf_aux.c
@@ -21,12 +21,11 @@ typedef Elf32_auxv_t elf_auxv_t;
21typedef Elf64_auxv_t elf_auxv_t; 21typedef Elf64_auxv_t elf_auxv_t;
22#endif 22#endif
23 23
24/* These are initialized very early in boot and never changed */
24char * elf_aux_platform; 25char * elf_aux_platform;
25long elf_aux_hwcap; 26long elf_aux_hwcap;
26
27unsigned long vsyscall_ehdr; 27unsigned long vsyscall_ehdr;
28unsigned long vsyscall_end; 28unsigned long vsyscall_end;
29
30unsigned long __kernel_vsyscall; 29unsigned long __kernel_vsyscall;
31 30
32__init void scan_elf_aux( char **envp) 31__init void scan_elf_aux( char **envp)
diff --git a/arch/um/os-Linux/file.c b/arch/um/os-Linux/file.c
index 189fa677085a..371b4335f46d 100644
--- a/arch/um/os-Linux/file.c
+++ b/arch/um/os-Linux/file.c
@@ -162,25 +162,6 @@ int os_set_owner(int fd, int pid)
162 return 0; 162 return 0;
163} 163}
164 164
165/* FIXME? moved wholesale from sigio_user.c to get fcntls out of that file */
166int os_sigio_async(int master, int slave)
167{
168 int flags;
169
170 flags = fcntl(master, F_GETFL);
171 if(flags < 0)
172 return -errno;
173
174 if((fcntl(master, F_SETFL, flags | O_NONBLOCK | O_ASYNC) < 0) ||
175 (fcntl(master, F_SETOWN, os_getpid()) < 0))
176 return -errno;
177
178 if((fcntl(slave, F_SETFL, flags | O_NONBLOCK) < 0))
179 return -errno;
180
181 return(0);
182}
183
184int os_mode_fd(int fd, int mode) 165int os_mode_fd(int fd, int mode)
185{ 166{
186 int err; 167 int err;
diff --git a/arch/um/os-Linux/irq.c b/arch/um/os-Linux/irq.c
index d46b818c1311..d1b61d474e0a 100644
--- a/arch/um/os-Linux/irq.c
+++ b/arch/um/os-Linux/irq.c
@@ -20,6 +20,10 @@
20#include "os.h" 20#include "os.h"
21#include "um_malloc.h" 21#include "um_malloc.h"
22 22
23/*
24 * Locked by irq_lock in arch/um/kernel/irq.c. Changed by os_create_pollfd
25 * and os_free_irq_by_cb, which are called under irq_lock.
26 */
23static struct pollfd *pollfds = NULL; 27static struct pollfd *pollfds = NULL;
24static int pollfds_num = 0; 28static int pollfds_num = 0;
25static int pollfds_size = 0; 29static int pollfds_size = 0;
@@ -58,7 +62,7 @@ int os_create_pollfd(int fd, int events, void *tmp_pfd, int size_tmpfds)
58 if (pollfds_num == pollfds_size) { 62 if (pollfds_num == pollfds_size) {
59 if (size_tmpfds <= pollfds_size * sizeof(pollfds[0])) { 63 if (size_tmpfds <= pollfds_size * sizeof(pollfds[0])) {
60 /* return min size needed for new pollfds area */ 64 /* return min size needed for new pollfds area */
61 return((pollfds_size + 1) * sizeof(pollfds[0])); 65 return (pollfds_size + 1) * sizeof(pollfds[0]);
62 } 66 }
63 67
64 if (pollfds != NULL) { 68 if (pollfds != NULL) {
diff --git a/arch/um/os-Linux/mem.c b/arch/um/os-Linux/mem.c
index 4203681e508d..f1ea169db85e 100644
--- a/arch/um/os-Linux/mem.c
+++ b/arch/um/os-Linux/mem.c
@@ -20,7 +20,13 @@
20 20
21#include <sys/param.h> 21#include <sys/param.h>
22 22
23/* Modified by which_tmpdir, which is called during early boot */
23static char *default_tmpdir = "/tmp"; 24static char *default_tmpdir = "/tmp";
25
26/*
27 * Modified when creating the physical memory file and when checking
28 * the tmp filesystem for usability, both happening during early boot.
29 */
24static char *tempdir = NULL; 30static char *tempdir = NULL;
25 31
26static void __init find_tempdir(void) 32static void __init find_tempdir(void)
@@ -29,7 +35,8 @@ static void __init find_tempdir(void)
29 int i; 35 int i;
30 char *dir = NULL; 36 char *dir = NULL;
31 37
32 if(tempdir != NULL) return; /* We've already been called */ 38 if(tempdir != NULL) /* We've already been called */
39 return;
33 for(i = 0; dirs[i]; i++){ 40 for(i = 0; dirs[i]; i++){
34 dir = getenv(dirs[i]); 41 dir = getenv(dirs[i]);
35 if((dir != NULL) && (*dir != '\0')) 42 if((dir != NULL) && (*dir != '\0'))
@@ -83,6 +90,7 @@ static int next(int fd, char *buf, int size, char c)
83 return 1; 90 return 1;
84} 91}
85 92
93/* which_tmpdir is called only during early boot */
86static int checked_tmpdir = 0; 94static int checked_tmpdir = 0;
87 95
88/* Look for a tmpfs mounted at /dev/shm. I couldn't find a cleaner 96/* Look for a tmpfs mounted at /dev/shm. I couldn't find a cleaner
@@ -186,7 +194,7 @@ int make_tempfile(const char *template, char **out_tempname, int do_unlink)
186 } else { 194 } else {
187 free(tempname); 195 free(tempname);
188 } 196 }
189 return(fd); 197 return fd;
190out: 198out:
191 free(tempname); 199 free(tempname);
192 return -1; 200 return -1;
@@ -231,7 +239,7 @@ int create_tmp_file(unsigned long long len)
231 exit(1); 239 exit(1);
232 } 240 }
233 241
234 return(fd); 242 return fd;
235} 243}
236 244
237int create_mem_file(unsigned long long len) 245int create_mem_file(unsigned long long len)
@@ -245,7 +253,7 @@ int create_mem_file(unsigned long long len)
245 errno = -err; 253 errno = -err;
246 perror("exec_close"); 254 perror("exec_close");
247 } 255 }
248 return(fd); 256 return fd;
249} 257}
250 258
251 259
diff --git a/arch/um/os-Linux/start_up.c b/arch/um/os-Linux/start_up.c
index 7fe92680c7dd..5178eba9afa5 100644
--- a/arch/um/os-Linux/start_up.c
+++ b/arch/um/os-Linux/start_up.c
@@ -54,7 +54,7 @@ static int ptrace_child(void *arg)
54 perror("ptrace"); 54 perror("ptrace");
55 os_kill_process(pid, 0); 55 os_kill_process(pid, 0);
56 } 56 }
57 os_stop_process(pid); 57 kill(pid, SIGSTOP);
58 58
59 /*This syscall will be intercepted by the parent. Don't call more than 59 /*This syscall will be intercepted by the parent. Don't call more than
60 * once, please.*/ 60 * once, please.*/
@@ -73,6 +73,34 @@ static int ptrace_child(void *arg)
73 _exit(ret); 73 _exit(ret);
74} 74}
75 75
76static void fatal_perror(char *str)
77{
78 perror(str);
79 exit(1);
80}
81
82static void fatal(char *fmt, ...)
83{
84 va_list list;
85
86 va_start(list, fmt);
87 vprintf(fmt, list);
88 va_end(list);
89 fflush(stdout);
90
91 exit(1);
92}
93
94static void non_fatal(char *fmt, ...)
95{
96 va_list list;
97
98 va_start(list, fmt);
99 vprintf(fmt, list);
100 va_end(list);
101 fflush(stdout);
102}
103
76static int start_ptraced_child(void **stack_out) 104static int start_ptraced_child(void **stack_out)
77{ 105{
78 void *stack; 106 void *stack;
@@ -82,20 +110,20 @@ static int start_ptraced_child(void **stack_out)
82 stack = mmap(NULL, PAGE_SIZE, PROT_READ | PROT_WRITE | PROT_EXEC, 110 stack = mmap(NULL, PAGE_SIZE, PROT_READ | PROT_WRITE | PROT_EXEC,
83 MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); 111 MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
84 if(stack == MAP_FAILED) 112 if(stack == MAP_FAILED)
85 panic("check_ptrace : mmap failed, errno = %d", errno); 113 fatal_perror("check_ptrace : mmap failed");
86 sp = (unsigned long) stack + PAGE_SIZE - sizeof(void *); 114 sp = (unsigned long) stack + PAGE_SIZE - sizeof(void *);
87 pid = clone(ptrace_child, (void *) sp, SIGCHLD, NULL); 115 pid = clone(ptrace_child, (void *) sp, SIGCHLD, NULL);
88 if(pid < 0) 116 if(pid < 0)
89 panic("start_ptraced_child : clone failed, errno = %d", errno); 117 fatal_perror("start_ptraced_child : clone failed");
90 CATCH_EINTR(n = waitpid(pid, &status, WUNTRACED)); 118 CATCH_EINTR(n = waitpid(pid, &status, WUNTRACED));
91 if(n < 0) 119 if(n < 0)
92 panic("check_ptrace : clone failed, errno = %d", errno); 120 fatal_perror("check_ptrace : clone failed");
93 if(!WIFSTOPPED(status) || (WSTOPSIG(status) != SIGSTOP)) 121 if(!WIFSTOPPED(status) || (WSTOPSIG(status) != SIGSTOP))
94 panic("check_ptrace : expected SIGSTOP, got status = %d", 122 fatal("check_ptrace : expected SIGSTOP, got status = %d",
95 status); 123 status);
96 124
97 *stack_out = stack; 125 *stack_out = stack;
98 return(pid); 126 return pid;
99} 127}
100 128
101/* When testing for SYSEMU support, if it is one of the broken versions, we 129/* When testing for SYSEMU support, if it is one of the broken versions, we
@@ -105,34 +133,34 @@ static int start_ptraced_child(void **stack_out)
105 * must work anyway! 133 * must work anyway!
106 */ 134 */
107static int stop_ptraced_child(int pid, void *stack, int exitcode, 135static int stop_ptraced_child(int pid, void *stack, int exitcode,
108 int mustpanic) 136 int mustexit)
109{ 137{
110 int status, n, ret = 0; 138 int status, n, ret = 0;
111 139
112 if(ptrace(PTRACE_CONT, pid, 0, 0) < 0) 140 if(ptrace(PTRACE_CONT, pid, 0, 0) < 0)
113 panic("check_ptrace : ptrace failed, errno = %d", errno); 141 fatal_perror("stop_ptraced_child : ptrace failed");
114 CATCH_EINTR(n = waitpid(pid, &status, 0)); 142 CATCH_EINTR(n = waitpid(pid, &status, 0));
115 if(!WIFEXITED(status) || (WEXITSTATUS(status) != exitcode)) { 143 if(!WIFEXITED(status) || (WEXITSTATUS(status) != exitcode)) {
116 int exit_with = WEXITSTATUS(status); 144 int exit_with = WEXITSTATUS(status);
117 if (exit_with == 2) 145 if (exit_with == 2)
118 printf("check_ptrace : child exited with status 2. " 146 non_fatal("check_ptrace : child exited with status 2. "
119 "Serious trouble happening! Try updating your " 147 "Serious trouble happening! Try updating "
120 "host skas patch!\nDisabling SYSEMU support."); 148 "your host skas patch!\nDisabling SYSEMU "
121 printf("check_ptrace : child exited with exitcode %d, while " 149 "support.");
122 "expecting %d; status 0x%x", exit_with, 150 non_fatal("check_ptrace : child exited with exitcode %d, while "
123 exitcode, status); 151 "expecting %d; status 0x%x\n", exit_with,
124 if (mustpanic) 152 exitcode, status);
125 panic("\n"); 153 if (mustexit)
126 else 154 exit(1);
127 printf("\n");
128 ret = -1; 155 ret = -1;
129 } 156 }
130 157
131 if(munmap(stack, PAGE_SIZE) < 0) 158 if(munmap(stack, PAGE_SIZE) < 0)
132 panic("check_ptrace : munmap failed, errno = %d", errno); 159 fatal_perror("check_ptrace : munmap failed");
133 return ret; 160 return ret;
134} 161}
135 162
163/* Changed only during early boot */
136int ptrace_faultinfo = 1; 164int ptrace_faultinfo = 1;
137int ptrace_ldt = 1; 165int ptrace_ldt = 1;
138int proc_mm = 1; 166int proc_mm = 1;
@@ -160,6 +188,7 @@ __uml_setup("mode=skas0", mode_skas0_cmd_param,
160 " specify mode=tt. Note that this was recently added - on \n" 188 " specify mode=tt. Note that this was recently added - on \n"
161 " older kernels you must use simply \"skas0\".\n\n"); 189 " older kernels you must use simply \"skas0\".\n\n");
162 190
191/* Changed only during early boot */
163static int force_sysemu_disabled = 0; 192static int force_sysemu_disabled = 0;
164 193
165static int __init nosysemu_cmd_param(char *str, int* add) 194static int __init nosysemu_cmd_param(char *str, int* add)
@@ -180,9 +209,9 @@ __uml_setup("nosysemu", nosysemu_cmd_param,
180static void __init check_sysemu(void) 209static void __init check_sysemu(void)
181{ 210{
182 void *stack; 211 void *stack;
183 int pid, n, status, count=0; 212 int pid, n, status, count=0;
184 213
185 printf("Checking syscall emulation patch for ptrace..."); 214 non_fatal("Checking syscall emulation patch for ptrace...");
186 sysemu_supported = 0; 215 sysemu_supported = 0;
187 pid = start_ptraced_child(&stack); 216 pid = start_ptraced_child(&stack);
188 217
@@ -191,31 +220,30 @@ static void __init check_sysemu(void)
191 220
192 CATCH_EINTR(n = waitpid(pid, &status, WUNTRACED)); 221 CATCH_EINTR(n = waitpid(pid, &status, WUNTRACED));
193 if (n < 0) 222 if (n < 0)
194 panic("check_sysemu : wait failed, errno = %d", errno); 223 fatal_perror("check_sysemu : wait failed");
195 if(!WIFSTOPPED(status) || (WSTOPSIG(status) != SIGTRAP)) 224 if(!WIFSTOPPED(status) || (WSTOPSIG(status) != SIGTRAP))
196 panic("check_sysemu : expected SIGTRAP, " 225 fatal("check_sysemu : expected SIGTRAP, got status = %d",
197 "got status = %d", status); 226 status);
198 227
199 n = ptrace(PTRACE_POKEUSR, pid, PT_SYSCALL_RET_OFFSET, 228 n = ptrace(PTRACE_POKEUSR, pid, PT_SYSCALL_RET_OFFSET,
200 os_getpid()); 229 os_getpid());
201 if(n < 0) 230 if(n < 0)
202 panic("check_sysemu : failed to modify system " 231 fatal_perror("check_sysemu : failed to modify system call "
203 "call return, errno = %d", errno); 232 "return");
204 233
205 if (stop_ptraced_child(pid, stack, 0, 0) < 0) 234 if (stop_ptraced_child(pid, stack, 0, 0) < 0)
206 goto fail_stopped; 235 goto fail_stopped;
207 236
208 sysemu_supported = 1; 237 sysemu_supported = 1;
209 printf("OK\n"); 238 non_fatal("OK\n");
210 set_using_sysemu(!force_sysemu_disabled); 239 set_using_sysemu(!force_sysemu_disabled);
211 240
212 printf("Checking advanced syscall emulation patch for ptrace..."); 241 non_fatal("Checking advanced syscall emulation patch for ptrace...");
213 pid = start_ptraced_child(&stack); 242 pid = start_ptraced_child(&stack);
214 243
215 if(ptrace(PTRACE_OLDSETOPTIONS, pid, 0, 244 if((ptrace(PTRACE_OLDSETOPTIONS, pid, 0,
216 (void *) PTRACE_O_TRACESYSGOOD) < 0) 245 (void *) PTRACE_O_TRACESYSGOOD) < 0))
217 panic("check_ptrace: PTRACE_OLDSETOPTIONS failed, errno = %d", 246 fatal_perror("check_ptrace: PTRACE_OLDSETOPTIONS failed");
218 errno);
219 247
220 while(1){ 248 while(1){
221 count++; 249 count++;
@@ -223,29 +251,30 @@ static void __init check_sysemu(void)
223 goto fail; 251 goto fail;
224 CATCH_EINTR(n = waitpid(pid, &status, WUNTRACED)); 252 CATCH_EINTR(n = waitpid(pid, &status, WUNTRACED));
225 if(n < 0) 253 if(n < 0)
226 panic("check_ptrace : wait failed, errno = %d", errno); 254 fatal_perror("check_ptrace : wait failed");
255
227 if(WIFSTOPPED(status) && (WSTOPSIG(status) == (SIGTRAP|0x80))){ 256 if(WIFSTOPPED(status) && (WSTOPSIG(status) == (SIGTRAP|0x80))){
228 if (!count) 257 if (!count)
229 panic("check_ptrace : SYSEMU_SINGLESTEP " 258 fatal("check_ptrace : SYSEMU_SINGLESTEP "
230 "doesn't singlestep"); 259 "doesn't singlestep");
231 n = ptrace(PTRACE_POKEUSR, pid, PT_SYSCALL_RET_OFFSET, 260 n = ptrace(PTRACE_POKEUSR, pid, PT_SYSCALL_RET_OFFSET,
232 os_getpid()); 261 os_getpid());
233 if(n < 0) 262 if(n < 0)
234 panic("check_sysemu : failed to modify system " 263 fatal_perror("check_sysemu : failed to modify "
235 "call return, errno = %d", errno); 264 "system call return");
236 break; 265 break;
237 } 266 }
238 else if(WIFSTOPPED(status) && (WSTOPSIG(status) == SIGTRAP)) 267 else if(WIFSTOPPED(status) && (WSTOPSIG(status) == SIGTRAP))
239 count++; 268 count++;
240 else 269 else
241 panic("check_ptrace : expected SIGTRAP or " 270 fatal("check_ptrace : expected SIGTRAP or "
242 "(SIGTRAP|0x80), got status = %d", status); 271 "(SIGTRAP | 0x80), got status = %d", status);
243 } 272 }
244 if (stop_ptraced_child(pid, stack, 0, 0) < 0) 273 if (stop_ptraced_child(pid, stack, 0, 0) < 0)
245 goto fail_stopped; 274 goto fail_stopped;
246 275
247 sysemu_supported = 2; 276 sysemu_supported = 2;
248 printf("OK\n"); 277 non_fatal("OK\n");
249 278
250 if ( !force_sysemu_disabled ) 279 if ( !force_sysemu_disabled )
251 set_using_sysemu(sysemu_supported); 280 set_using_sysemu(sysemu_supported);
@@ -254,7 +283,7 @@ static void __init check_sysemu(void)
254fail: 283fail:
255 stop_ptraced_child(pid, stack, 1, 0); 284 stop_ptraced_child(pid, stack, 1, 0);
256fail_stopped: 285fail_stopped:
257 printf("missing\n"); 286 non_fatal("missing\n");
258} 287}
259 288
260static void __init check_ptrace(void) 289static void __init check_ptrace(void)
@@ -262,22 +291,25 @@ static void __init check_ptrace(void)
262 void *stack; 291 void *stack;
263 int pid, syscall, n, status; 292 int pid, syscall, n, status;
264 293
265 printf("Checking that ptrace can change system call numbers..."); 294 non_fatal("Checking that ptrace can change system call numbers...");
266 pid = start_ptraced_child(&stack); 295 pid = start_ptraced_child(&stack);
267 296
268 if(ptrace(PTRACE_OLDSETOPTIONS, pid, 0, (void *)PTRACE_O_TRACESYSGOOD) < 0) 297 if((ptrace(PTRACE_OLDSETOPTIONS, pid, 0,
269 panic("check_ptrace: PTRACE_OLDSETOPTIONS failed, errno = %d", errno); 298 (void *) PTRACE_O_TRACESYSGOOD) < 0))
299 fatal_perror("check_ptrace: PTRACE_OLDSETOPTIONS failed");
270 300
271 while(1){ 301 while(1){
272 if(ptrace(PTRACE_SYSCALL, pid, 0, 0) < 0) 302 if(ptrace(PTRACE_SYSCALL, pid, 0, 0) < 0)
273 panic("check_ptrace : ptrace failed, errno = %d", 303 fatal_perror("check_ptrace : ptrace failed");
274 errno); 304
275 CATCH_EINTR(n = waitpid(pid, &status, WUNTRACED)); 305 CATCH_EINTR(n = waitpid(pid, &status, WUNTRACED));
276 if(n < 0) 306 if(n < 0)
277 panic("check_ptrace : wait failed, errno = %d", errno); 307 fatal_perror("check_ptrace : wait failed");
278 if(!WIFSTOPPED(status) || (WSTOPSIG(status) != (SIGTRAP|0x80))) 308
279 panic("check_ptrace : expected (SIGTRAP|0x80), " 309 if(!WIFSTOPPED(status) ||
280 "got status = %d", status); 310 (WSTOPSIG(status) != (SIGTRAP | 0x80)))
311 fatal("check_ptrace : expected (SIGTRAP|0x80), "
312 "got status = %d", status);
281 313
282 syscall = ptrace(PTRACE_PEEKUSR, pid, PT_SYSCALL_NR_OFFSET, 314 syscall = ptrace(PTRACE_PEEKUSR, pid, PT_SYSCALL_NR_OFFSET,
283 0); 315 0);
@@ -285,13 +317,13 @@ static void __init check_ptrace(void)
285 n = ptrace(PTRACE_POKEUSR, pid, PT_SYSCALL_NR_OFFSET, 317 n = ptrace(PTRACE_POKEUSR, pid, PT_SYSCALL_NR_OFFSET,
286 __NR_getppid); 318 __NR_getppid);
287 if(n < 0) 319 if(n < 0)
288 panic("check_ptrace : failed to modify system " 320 fatal_perror("check_ptrace : failed to modify "
289 "call, errno = %d", errno); 321 "system call");
290 break; 322 break;
291 } 323 }
292 } 324 }
293 stop_ptraced_child(pid, stack, 0, 1); 325 stop_ptraced_child(pid, stack, 0, 1);
294 printf("OK\n"); 326 non_fatal("OK\n");
295 check_sysemu(); 327 check_sysemu();
296} 328}
297 329
@@ -350,22 +382,22 @@ static inline void check_skas3_ptrace_faultinfo(void)
350 void *stack; 382 void *stack;
351 int pid, n; 383 int pid, n;
352 384
353 printf(" - PTRACE_FAULTINFO..."); 385 non_fatal(" - PTRACE_FAULTINFO...");
354 pid = start_ptraced_child(&stack); 386 pid = start_ptraced_child(&stack);
355 387
356 n = ptrace(PTRACE_FAULTINFO, pid, 0, &fi); 388 n = ptrace(PTRACE_FAULTINFO, pid, 0, &fi);
357 if (n < 0) { 389 if (n < 0) {
358 ptrace_faultinfo = 0; 390 ptrace_faultinfo = 0;
359 if(errno == EIO) 391 if(errno == EIO)
360 printf("not found\n"); 392 non_fatal("not found\n");
361 else 393 else
362 perror("not found"); 394 perror("not found");
363 } 395 }
364 else { 396 else {
365 if (!ptrace_faultinfo) 397 if (!ptrace_faultinfo)
366 printf("found but disabled on command line\n"); 398 non_fatal("found but disabled on command line\n");
367 else 399 else
368 printf("found\n"); 400 non_fatal("found\n");
369 } 401 }
370 402
371 init_registers(pid); 403 init_registers(pid);
@@ -383,13 +415,13 @@ static inline void check_skas3_ptrace_ldt(void)
383 .ptr = ldtbuf, 415 .ptr = ldtbuf,
384 .bytecount = sizeof(ldtbuf)}; 416 .bytecount = sizeof(ldtbuf)};
385 417
386 printf(" - PTRACE_LDT..."); 418 non_fatal(" - PTRACE_LDT...");
387 pid = start_ptraced_child(&stack); 419 pid = start_ptraced_child(&stack);
388 420
389 n = ptrace(PTRACE_LDT, pid, 0, (unsigned long) &ldt_op); 421 n = ptrace(PTRACE_LDT, pid, 0, (unsigned long) &ldt_op);
390 if (n < 0) { 422 if (n < 0) {
391 if(errno == EIO) 423 if(errno == EIO)
392 printf("not found\n"); 424 non_fatal("not found\n");
393 else { 425 else {
394 perror("not found"); 426 perror("not found");
395 } 427 }
@@ -397,9 +429,9 @@ static inline void check_skas3_ptrace_ldt(void)
397 } 429 }
398 else { 430 else {
399 if(ptrace_ldt) 431 if(ptrace_ldt)
400 printf("found\n"); 432 non_fatal("found\n");
401 else 433 else
402 printf("found, but use is disabled\n"); 434 non_fatal("found, but use is disabled\n");
403 } 435 }
404 436
405 stop_ptraced_child(pid, stack, 1, 1); 437 stop_ptraced_child(pid, stack, 1, 1);
@@ -414,22 +446,22 @@ static inline void check_skas3_ptrace_ldt(void)
414 446
415static inline void check_skas3_proc_mm(void) 447static inline void check_skas3_proc_mm(void)
416{ 448{
417 printf(" - /proc/mm..."); 449 non_fatal(" - /proc/mm...");
418 if (os_access("/proc/mm", OS_ACC_W_OK) < 0) { 450 if (access("/proc/mm", W_OK) < 0) {
419 proc_mm = 0; 451 proc_mm = 0;
420 printf("not found\n"); 452 perror("not found");
421 } 453 }
422 else { 454 else {
423 if (!proc_mm) 455 if (!proc_mm)
424 printf("found but disabled on command line\n"); 456 non_fatal("found but disabled on command line\n");
425 else 457 else
426 printf("found\n"); 458 non_fatal("found\n");
427 } 459 }
428} 460}
429 461
430int can_do_skas(void) 462int can_do_skas(void)
431{ 463{
432 printf("Checking for the skas3 patch in the host:\n"); 464 non_fatal("Checking for the skas3 patch in the host:\n");
433 465
434 check_skas3_proc_mm(); 466 check_skas3_proc_mm();
435 check_skas3_ptrace_faultinfo(); 467 check_skas3_ptrace_faultinfo();
@@ -443,16 +475,16 @@ int can_do_skas(void)
443#else 475#else
444int can_do_skas(void) 476int can_do_skas(void)
445{ 477{
446 return(0); 478 return 0;
447} 479}
448#endif 480#endif
449 481
450int __init parse_iomem(char *str, int *add) 482int __init parse_iomem(char *str, int *add)
451{ 483{
452 struct iomem_region *new; 484 struct iomem_region *new;
453 struct uml_stat buf; 485 struct stat64 buf;
454 char *file, *driver; 486 char *file, *driver;
455 int fd, err, size; 487 int fd, size;
456 488
457 driver = str; 489 driver = str;
458 file = strchr(str,','); 490 file = strchr(str,',');
@@ -462,15 +494,14 @@ int __init parse_iomem(char *str, int *add)
462 } 494 }
463 *file = '\0'; 495 *file = '\0';
464 file++; 496 file++;
465 fd = os_open_file(file, of_rdwr(OPENFLAGS()), 0); 497 fd = open(file, O_RDWR, 0);
466 if(fd < 0){ 498 if(fd < 0){
467 os_print_error(fd, "parse_iomem - Couldn't open io file"); 499 os_print_error(fd, "parse_iomem - Couldn't open io file");
468 goto out; 500 goto out;
469 } 501 }
470 502
471 err = os_stat_fd(fd, &buf); 503 if(fstat64(fd, &buf) < 0){
472 if(err < 0){ 504 perror("parse_iomem - cannot stat_fd file");
473 os_print_error(err, "parse_iomem - cannot stat_fd file");
474 goto out_close; 505 goto out_close;
475 } 506 }
476 507
@@ -480,7 +511,7 @@ int __init parse_iomem(char *str, int *add)
480 goto out_close; 511 goto out_close;
481 } 512 }
482 513
483 size = (buf.ust_size + UM_KERN_PAGE_SIZE) & ~(UM_KERN_PAGE_SIZE - 1); 514 size = (buf.st_size + UM_KERN_PAGE_SIZE) & ~(UM_KERN_PAGE_SIZE - 1);
484 515
485 *new = ((struct iomem_region) { .next = iomem_regions, 516 *new = ((struct iomem_region) { .next = iomem_regions,
486 .driver = driver, 517 .driver = driver,
@@ -491,11 +522,11 @@ int __init parse_iomem(char *str, int *add)
491 iomem_regions = new; 522 iomem_regions = new;
492 iomem_size += new->size + UM_KERN_PAGE_SIZE; 523 iomem_size += new->size + UM_KERN_PAGE_SIZE;
493 524
494 return(0); 525 return 0;
495 out_close: 526 out_close:
496 os_close_file(fd); 527 close(fd);
497 out: 528 out:
498 return(1); 529 return 1;
499} 530}
500 531
501 532
@@ -526,6 +557,24 @@ static void openpty_cb(void *arg)
526 info->err = -errno; 557 info->err = -errno;
527} 558}
528 559
560static int async_pty(int master, int slave)
561{
562 int flags;
563
564 flags = fcntl(master, F_GETFL);
565 if(flags < 0)
566 return -errno;
567
568 if((fcntl(master, F_SETFL, flags | O_NONBLOCK | O_ASYNC) < 0) ||
569 (fcntl(master, F_SETOWN, os_getpid()) < 0))
570 return -errno;
571
572 if((fcntl(slave, F_SETFL, flags | O_NONBLOCK) < 0))
573 return -errno;
574
575 return(0);
576}
577
529static void __init check_one_sigio(void (*proc)(int, int)) 578static void __init check_one_sigio(void (*proc)(int, int))
530{ 579{
531 struct sigaction old, new; 580 struct sigaction old, new;
@@ -551,7 +600,7 @@ static void __init check_one_sigio(void (*proc)(int, int))
551 if (err < 0) 600 if (err < 0)
552 panic("check_sigio : __raw failed, errno = %d\n", -err); 601 panic("check_sigio : __raw failed, errno = %d\n", -err);
553 602
554 err = os_sigio_async(master, slave); 603 err = async_pty(master, slave);
555 if(err < 0) 604 if(err < 0)
556 panic("tty_fds : sigio_async failed, err = %d\n", -err); 605 panic("tty_fds : sigio_async failed, err = %d\n", -err);
557 606
diff --git a/arch/um/os-Linux/sys-i386/registers.c b/arch/um/os-Linux/sys-i386/registers.c
index 7cd0369e02b3..79cd93c8c5ed 100644
--- a/arch/um/os-Linux/sys-i386/registers.c
+++ b/arch/um/os-Linux/sys-i386/registers.c
@@ -34,27 +34,27 @@ void init_thread_registers(union uml_pt_regs *to)
34int save_fp_registers(int pid, unsigned long *fp_regs) 34int save_fp_registers(int pid, unsigned long *fp_regs)
35{ 35{
36 if(ptrace(PTRACE_GETFPREGS, pid, 0, fp_regs) < 0) 36 if(ptrace(PTRACE_GETFPREGS, pid, 0, fp_regs) < 0)
37 return(-errno); 37 return -errno;
38 return(0); 38 return 0;
39} 39}
40 40
41int restore_fp_registers(int pid, unsigned long *fp_regs) 41int restore_fp_registers(int pid, unsigned long *fp_regs)
42{ 42{
43 if(ptrace(PTRACE_SETFPREGS, pid, 0, fp_regs) < 0) 43 if(ptrace(PTRACE_SETFPREGS, pid, 0, fp_regs) < 0)
44 return(-errno); 44 return -errno;
45 return(0); 45 return 0;
46} 46}
47 47
48static int move_registers(int pid, int int_op, union uml_pt_regs *regs, 48static int move_registers(int pid, int int_op, union uml_pt_regs *regs,
49 int fp_op, unsigned long *fp_regs) 49 int fp_op, unsigned long *fp_regs)
50{ 50{
51 if(ptrace(int_op, pid, 0, regs->skas.regs) < 0) 51 if(ptrace(int_op, pid, 0, regs->skas.regs) < 0)
52 return(-errno); 52 return -errno;
53 53
54 if(ptrace(fp_op, pid, 0, fp_regs) < 0) 54 if(ptrace(fp_op, pid, 0, fp_regs) < 0)
55 return(-errno); 55 return -errno;
56 56
57 return(0); 57 return 0;
58} 58}
59 59
60void save_registers(int pid, union uml_pt_regs *regs) 60void save_registers(int pid, union uml_pt_regs *regs)
diff --git a/arch/um/os-Linux/sys-x86_64/Makefile b/arch/um/os-Linux/sys-x86_64/Makefile
index f67842a7735b..7955e061a678 100644
--- a/arch/um/os-Linux/sys-x86_64/Makefile
+++ b/arch/um/os-Linux/sys-x86_64/Makefile
@@ -3,7 +3,7 @@
3# Licensed under the GPL 3# Licensed under the GPL
4# 4#
5 5
6obj-$(CONFIG_MODE_SKAS) = registers.o signal.o 6obj-$(CONFIG_MODE_SKAS) = registers.o prctl.o signal.o
7 7
8USER_OBJS := $(obj-y) 8USER_OBJS := $(obj-y)
9 9
diff --git a/arch/um/os-Linux/sys-x86_64/prctl.c b/arch/um/os-Linux/sys-x86_64/prctl.c
new file mode 100644
index 000000000000..9d34eddb517f
--- /dev/null
+++ b/arch/um/os-Linux/sys-x86_64/prctl.c
@@ -0,0 +1,12 @@
1/*
2 * Copyright (C) 2007 Jeff Dike (jdike@{addtoit.com,linux.intel.com})
3 * Licensed under the GPL
4 */
5
6#include <sys/ptrace.h>
7#include <linux/ptrace.h>
8
9int os_arch_prctl(int pid, int code, unsigned long *addr)
10{
11 return ptrace(PTRACE_ARCH_PRCTL, pid, (unsigned long) addr, code);
12}
diff --git a/arch/um/os-Linux/sys-x86_64/registers.c b/arch/um/os-Linux/sys-x86_64/registers.c
index cb8e8a263280..a2d7e0c603f7 100644
--- a/arch/um/os-Linux/sys-x86_64/registers.c
+++ b/arch/um/os-Linux/sys-x86_64/registers.c
@@ -27,12 +27,12 @@ static int move_registers(int pid, int int_op, int fp_op,
27 union uml_pt_regs *regs) 27 union uml_pt_regs *regs)
28{ 28{
29 if(ptrace(int_op, pid, 0, regs->skas.regs) < 0) 29 if(ptrace(int_op, pid, 0, regs->skas.regs) < 0)
30 return(-errno); 30 return -errno;
31 31
32 if(ptrace(fp_op, pid, 0, regs->skas.fp) < 0) 32 if(ptrace(fp_op, pid, 0, regs->skas.fp) < 0)
33 return(-errno); 33 return -errno;
34 34
35 return(0); 35 return 0;
36} 36}
37 37
38void save_registers(int pid, union uml_pt_regs *regs) 38void save_registers(int pid, union uml_pt_regs *regs)
diff --git a/arch/um/os-Linux/umid.c b/arch/um/os-Linux/umid.c
index 48092b95c8ab..b462863f7172 100644
--- a/arch/um/os-Linux/umid.c
+++ b/arch/um/os-Linux/umid.c
@@ -18,7 +18,7 @@
18#define UMID_LEN 64 18#define UMID_LEN 64
19 19
20/* Changed by set_umid, which is run early in boot */ 20/* Changed by set_umid, which is run early in boot */
21char umid[UMID_LEN] = { 0 }; 21static char umid[UMID_LEN] = { 0 };
22 22
23/* Changed by set_uml_dir and make_uml_dir, which are run early in boot */ 23/* Changed by set_uml_dir and make_uml_dir, which are run early in boot */
24static char *uml_dir = UML_DIR; 24static char *uml_dir = UML_DIR;
@@ -235,6 +235,7 @@ int __init set_umid(char *name)
235 return 0; 235 return 0;
236} 236}
237 237
238/* Changed in make_umid, which is called during early boot */
238static int umid_setup = 0; 239static int umid_setup = 0;
239 240
240int __init make_umid(void) 241int __init make_umid(void)
diff --git a/arch/um/sys-x86_64/ptrace.c b/arch/um/sys-x86_64/ptrace.c
index 147bbf05cbc2..55b66e09a98c 100644
--- a/arch/um/sys-x86_64/ptrace.c
+++ b/arch/um/sys-x86_64/ptrace.c
@@ -71,8 +71,6 @@ int poke_user(struct task_struct *child, long addr, long data)
71 71
72 if (addr < MAX_REG_OFFSET) 72 if (addr < MAX_REG_OFFSET)
73 return putreg(child, addr, data); 73 return putreg(child, addr, data);
74
75#if 0 /* Need x86_64 debugregs handling */
76 else if((addr >= offsetof(struct user, u_debugreg[0])) && 74 else if((addr >= offsetof(struct user, u_debugreg[0])) &&
77 (addr <= offsetof(struct user, u_debugreg[7]))){ 75 (addr <= offsetof(struct user, u_debugreg[7]))){
78 addr -= offsetof(struct user, u_debugreg[0]); 76 addr -= offsetof(struct user, u_debugreg[0]);
@@ -81,7 +79,6 @@ int poke_user(struct task_struct *child, long addr, long data)
81 child->thread.arch.debugregs[addr] = data; 79 child->thread.arch.debugregs[addr] = data;
82 return 0; 80 return 0;
83 } 81 }
84#endif
85 return -EIO; 82 return -EIO;
86} 83}
87 84
@@ -119,14 +116,12 @@ int peek_user(struct task_struct *child, long addr, long data)
119 if(addr < MAX_REG_OFFSET){ 116 if(addr < MAX_REG_OFFSET){
120 tmp = getreg(child, addr); 117 tmp = getreg(child, addr);
121 } 118 }
122#if 0 /* Need x86_64 debugregs handling */
123 else if((addr >= offsetof(struct user, u_debugreg[0])) && 119 else if((addr >= offsetof(struct user, u_debugreg[0])) &&
124 (addr <= offsetof(struct user, u_debugreg[7]))){ 120 (addr <= offsetof(struct user, u_debugreg[7]))){
125 addr -= offsetof(struct user, u_debugreg[0]); 121 addr -= offsetof(struct user, u_debugreg[0]);
126 addr = addr >> 2; 122 addr = addr >> 2;
127 tmp = child->thread.arch.debugregs[addr]; 123 tmp = child->thread.arch.debugregs[addr];
128 } 124 }
129#endif
130 return put_user(tmp, (unsigned long *) data); 125 return put_user(tmp, (unsigned long *) data);
131} 126}
132 127
diff --git a/arch/um/sys-x86_64/syscalls.c b/arch/um/sys-x86_64/syscalls.c
index 73ce4463f70c..01b91f9fa789 100644
--- a/arch/um/sys-x86_64/syscalls.c
+++ b/arch/um/sys-x86_64/syscalls.c
@@ -16,6 +16,7 @@
16#include "asm/prctl.h" /* XXX This should get the constants from libc */ 16#include "asm/prctl.h" /* XXX This should get the constants from libc */
17#include "choose-mode.h" 17#include "choose-mode.h"
18#include "kern.h" 18#include "kern.h"
19#include "os.h"
19 20
20asmlinkage long sys_uname64(struct new_utsname __user * name) 21asmlinkage long sys_uname64(struct new_utsname __user * name)
21{ 22{
@@ -58,40 +59,69 @@ static long arch_prctl_tt(int code, unsigned long addr)
58 59
59#ifdef CONFIG_MODE_SKAS 60#ifdef CONFIG_MODE_SKAS
60 61
61/* XXX: Must also call arch_prctl in the host, beside saving the segment bases! */ 62long arch_prctl_skas(struct task_struct *task, int code,
62static long arch_prctl_skas(int code, unsigned long addr) 63 unsigned long __user *addr)
63{ 64{
64 long ret = 0; 65 unsigned long *ptr = addr, tmp;
66 long ret;
67 int pid = task->mm->context.skas.id.u.pid;
65 68
69 /*
70 * With ARCH_SET_FS (and ARCH_SET_GS is treated similarly to
71 * be safe), we need to call arch_prctl on the host because
72 * setting %fs may result in something else happening (like a
73 * GDT or thread.fs being set instead). So, we let the host
74 * fiddle the registers and thread struct and restore the
75 * registers afterwards.
76 *
77 * So, the saved registers are stored to the process (this
78 * needed because a stub may have been the last thing to run),
79 * arch_prctl is run on the host, then the registers are read
80 * back.
81 */
66 switch(code){ 82 switch(code){
67 case ARCH_SET_FS: 83 case ARCH_SET_FS:
68 current->thread.regs.regs.skas.regs[FS_BASE / sizeof(unsigned long)] = addr;
69 break;
70 case ARCH_SET_GS: 84 case ARCH_SET_GS:
71 current->thread.regs.regs.skas.regs[GS_BASE / sizeof(unsigned long)] = addr; 85 restore_registers(pid, &current->thread.regs.regs);
86 break;
87 case ARCH_GET_FS:
88 case ARCH_GET_GS:
89 /*
90 * With these two, we read to a local pointer and
91 * put_user it to the userspace pointer that we were
92 * given. If addr isn't valid (because it hasn't been
93 * faulted in or is just bogus), we want put_user to
94 * fault it in (or return -EFAULT) instead of having
95 * the host return -EFAULT.
96 */
97 ptr = &tmp;
98 }
99
100 ret = os_arch_prctl(pid, code, ptr);
101 if(ret)
102 return ret;
103
104 switch(code){
105 case ARCH_SET_FS:
106 case ARCH_SET_GS:
107 save_registers(pid, &current->thread.regs.regs);
72 break; 108 break;
73 case ARCH_GET_FS: 109 case ARCH_GET_FS:
74 ret = put_user(current->thread.regs.regs.skas. 110 ret = put_user(tmp, addr);
75 regs[FS_BASE / sizeof(unsigned long)],
76 (unsigned long __user *)addr);
77 break; 111 break;
78 case ARCH_GET_GS: 112 case ARCH_GET_GS:
79 ret = put_user(current->thread.regs.regs.skas. 113 ret = put_user(tmp, addr);
80 regs[GS_BASE / sizeof(unsigned long)],
81 (unsigned long __user *)addr);
82 break; 114 break;
83 default:
84 ret = -EINVAL;
85 break;
86 } 115 }
87 116
88 return(ret); 117 return ret;
89} 118}
90#endif 119#endif
91 120
92long sys_arch_prctl(int code, unsigned long addr) 121long sys_arch_prctl(int code, unsigned long addr)
93{ 122{
94 return(CHOOSE_MODE_PROC(arch_prctl_tt, arch_prctl_skas, code, addr)); 123 return CHOOSE_MODE_PROC(arch_prctl_tt, arch_prctl_skas, current, code,
124 (unsigned long __user *) addr);
95} 125}
96 126
97long sys_clone(unsigned long clone_flags, unsigned long newsp, 127long sys_clone(unsigned long clone_flags, unsigned long newsp,
@@ -105,5 +135,14 @@ long sys_clone(unsigned long clone_flags, unsigned long newsp,
105 ret = do_fork(clone_flags, newsp, &current->thread.regs, 0, parent_tid, 135 ret = do_fork(clone_flags, newsp, &current->thread.regs, 0, parent_tid,
106 child_tid); 136 child_tid);
107 current->thread.forking = 0; 137 current->thread.forking = 0;
108 return(ret); 138 return ret;
139}
140
141void arch_switch_to_skas(struct task_struct *from, struct task_struct *to)
142{
143 if(to->thread.arch.fs == 0)
144 return;
145
146 arch_prctl_skas(to, ARCH_SET_FS, (void __user *) to->thread.arch.fs);
109} 147}
148
diff --git a/arch/um/sys-x86_64/tls.c b/arch/um/sys-x86_64/tls.c
index ce1bf1b81c43..febbc94be25f 100644
--- a/arch/um/sys-x86_64/tls.c
+++ b/arch/um/sys-x86_64/tls.c
@@ -1,14 +1,17 @@
1#include "linux/sched.h" 1#include "linux/sched.h"
2 2
3void debug_arch_force_load_TLS(void)
4{
5}
6
7void clear_flushed_tls(struct task_struct *task) 3void clear_flushed_tls(struct task_struct *task)
8{ 4{
9} 5}
10 6
11int arch_copy_tls(struct task_struct *t) 7int arch_copy_tls(struct task_struct *t)
12{ 8{
9 /*
10 * If CLONE_SETTLS is set, we need to save the thread id
11 * (which is argument 5, child_tid, of clone) so it can be set
12 * during context switches.
13 */
14 t->thread.arch.fs = t->thread.regs.regs.skas.regs[R8 / sizeof(long)];
15
13 return 0; 16 return 0;
14} 17}
diff --git a/arch/v850/Kconfig b/arch/v850/Kconfig
index f0d4d72e560f..dbfab8fc9b49 100644
--- a/arch/v850/Kconfig
+++ b/arch/v850/Kconfig
@@ -10,6 +10,9 @@ mainmenu "uClinux/v850 (w/o MMU) Kernel Configuration"
10config MMU 10config MMU
11 bool 11 bool
12 default n 12 default n
13config ZONE_DMA
14 bool
15 default y
13config RWSEM_GENERIC_SPINLOCK 16config RWSEM_GENERIC_SPINLOCK
14 bool 17 bool
15 default y 18 default y
diff --git a/arch/v850/kernel/anna.c b/arch/v850/kernel/anna.c
index 40892d3e3c24..0e429041a117 100644
--- a/arch/v850/kernel/anna.c
+++ b/arch/v850/kernel/anna.c
@@ -114,7 +114,7 @@ static struct v850e_intc_irq_init irq_inits[] = {
114 { "ST", IRQ_INTST(0), IRQ_INTST_NUM, 3, 5 }, 114 { "ST", IRQ_INTST(0), IRQ_INTST_NUM, 3, 5 },
115 { 0 } 115 { 0 }
116}; 116};
117#define NUM_IRQ_INITS ((sizeof irq_inits / sizeof irq_inits[0]) - 1) 117#define NUM_IRQ_INITS (ARRAY_SIZE(irq_inits) - 1)
118 118
119static struct hw_interrupt_type hw_itypes[NUM_IRQ_INITS]; 119static struct hw_interrupt_type hw_itypes[NUM_IRQ_INITS];
120 120
diff --git a/arch/v850/kernel/as85ep1.c b/arch/v850/kernel/as85ep1.c
index 5352f8a5aa07..18437bc5c3ad 100644
--- a/arch/v850/kernel/as85ep1.c
+++ b/arch/v850/kernel/as85ep1.c
@@ -142,7 +142,7 @@ static struct v850e_intc_irq_init irq_inits[] = {
142 { "ST", IRQ_INTST(0), IRQ_INTST_NUM, 3, 5 }, 142 { "ST", IRQ_INTST(0), IRQ_INTST_NUM, 3, 5 },
143 { 0 } 143 { 0 }
144}; 144};
145#define NUM_IRQ_INITS ((sizeof irq_inits / sizeof irq_inits[0]) - 1) 145#define NUM_IRQ_INITS (ARRAY_SIZE(irq_inits) - 1)
146 146
147static struct hw_interrupt_type hw_itypes[NUM_IRQ_INITS]; 147static struct hw_interrupt_type hw_itypes[NUM_IRQ_INITS];
148 148
diff --git a/arch/v850/kernel/fpga85e2c.c b/arch/v850/kernel/fpga85e2c.c
index cb04a6954ccb..5c4923558a75 100644
--- a/arch/v850/kernel/fpga85e2c.c
+++ b/arch/v850/kernel/fpga85e2c.c
@@ -138,7 +138,7 @@ struct v850e_intc_irq_init irq_inits[] = {
138 { "RPU", IRQ_RPU(0), IRQ_RPU_NUM, 1, 6 }, 138 { "RPU", IRQ_RPU(0), IRQ_RPU_NUM, 1, 6 },
139 { 0 } 139 { 0 }
140}; 140};
141#define NUM_IRQ_INITS ((sizeof irq_inits / sizeof irq_inits[0]) - 1) 141#define NUM_IRQ_INITS (ARRAY_SIZE(irq_inits) - 1)
142 142
143struct hw_interrupt_type hw_itypes[NUM_IRQ_INITS]; 143struct hw_interrupt_type hw_itypes[NUM_IRQ_INITS];
144 144
diff --git a/arch/v850/kernel/gbus_int.c b/arch/v850/kernel/gbus_int.c
index 25d636e79e6a..b2bcc251f65b 100644
--- a/arch/v850/kernel/gbus_int.c
+++ b/arch/v850/kernel/gbus_int.c
@@ -16,6 +16,7 @@
16#include <linux/irq.h> 16#include <linux/irq.h>
17#include <linux/interrupt.h> 17#include <linux/interrupt.h>
18#include <linux/signal.h> 18#include <linux/signal.h>
19#include <linux/kernel.h>
19 20
20#include <asm/machdep.h> 21#include <asm/machdep.h>
21 22
@@ -36,7 +37,7 @@ struct used_gint {
36 { 1, GBUS_INT_PRIORITY_HIGH }, 37 { 1, GBUS_INT_PRIORITY_HIGH },
37 { 3, GBUS_INT_PRIORITY_LOW } 38 { 3, GBUS_INT_PRIORITY_LOW }
38}; 39};
39#define NUM_USED_GINTS (sizeof used_gint / sizeof used_gint[0]) 40#define NUM_USED_GINTS ARRAY_SIZE(used_gint)
40 41
41/* A table of which GINT is used by each GBUS interrupts (they are 42/* A table of which GINT is used by each GBUS interrupts (they are
42 assigned based on priority). */ 43 assigned based on priority). */
@@ -231,8 +232,7 @@ struct gbus_int_irq_init gbus_irq_inits[] __initdata = {
231 { "GBUS_INT", IRQ_GBUS_INT(0), IRQ_GBUS_INT_NUM, 1, 6}, 232 { "GBUS_INT", IRQ_GBUS_INT(0), IRQ_GBUS_INT_NUM, 1, 6},
232 { 0 } 233 { 0 }
233}; 234};
234#define NUM_GBUS_IRQ_INITS \ 235#define NUM_GBUS_IRQ_INITS (ARRAY_SIZE(gbus_irq_inits) - 1)
235 ((sizeof gbus_irq_inits / sizeof gbus_irq_inits[0]) - 1)
236 236
237static struct hw_interrupt_type gbus_hw_itypes[NUM_GBUS_IRQ_INITS]; 237static struct hw_interrupt_type gbus_hw_itypes[NUM_GBUS_IRQ_INITS];
238 238
diff --git a/arch/v850/kernel/ma.c b/arch/v850/kernel/ma.c
index 2aa8ab0f7edc..143774de75e1 100644
--- a/arch/v850/kernel/ma.c
+++ b/arch/v850/kernel/ma.c
@@ -43,7 +43,7 @@ static struct v850e_intc_irq_init irq_inits[] = {
43 { "ST", IRQ_INTST(0), IRQ_INTST_NUM, 4, 5 }, 43 { "ST", IRQ_INTST(0), IRQ_INTST_NUM, 4, 5 },
44 { 0 } 44 { 0 }
45}; 45};
46#define NUM_IRQ_INITS ((sizeof irq_inits / sizeof irq_inits[0]) - 1) 46#define NUM_IRQ_INITS (ARRAY_SIZE(irq_inits) - 1)
47 47
48static struct hw_interrupt_type hw_itypes[NUM_IRQ_INITS]; 48static struct hw_interrupt_type hw_itypes[NUM_IRQ_INITS];
49 49
diff --git a/arch/v850/kernel/me2.c b/arch/v850/kernel/me2.c
index 14b0c8858aa4..38be5c194f6b 100644
--- a/arch/v850/kernel/me2.c
+++ b/arch/v850/kernel/me2.c
@@ -44,7 +44,7 @@ static struct v850e_intc_irq_init irq_inits[] = {
44 { "UBTITO", IRQ_INTUBTITO(0), IRQ_INTUBTITO_NUM, 5, 4 }, 44 { "UBTITO", IRQ_INTUBTITO(0), IRQ_INTUBTITO_NUM, 5, 4 },
45 { 0 } 45 { 0 }
46}; 46};
47#define NUM_IRQ_INITS ((sizeof irq_inits / sizeof irq_inits[0]) - 1) 47#define NUM_IRQ_INITS (ARRAY_SIZE(irq_inits) - 1)
48 48
49static struct hw_interrupt_type hw_itypes[NUM_IRQ_INITS]; 49static struct hw_interrupt_type hw_itypes[NUM_IRQ_INITS];
50 50
diff --git a/arch/v850/kernel/rte_cb.c b/arch/v850/kernel/rte_cb.c
index 0f7f6cd705a2..43018e1edebd 100644
--- a/arch/v850/kernel/rte_cb.c
+++ b/arch/v850/kernel/rte_cb.c
@@ -15,6 +15,7 @@
15#include <linux/irq.h> 15#include <linux/irq.h>
16#include <linux/fs.h> 16#include <linux/fs.h>
17#include <linux/module.h> 17#include <linux/module.h>
18#include <linux/kernel.h>
18 19
19#include <asm/machdep.h> 20#include <asm/machdep.h>
20#include <asm/v850e_uart.h> 21#include <asm/v850e_uart.h>
@@ -176,8 +177,7 @@ static struct gbus_int_irq_init gbus_irq_inits[] = {
176#endif 177#endif
177 { 0 } 178 { 0 }
178}; 179};
179#define NUM_GBUS_IRQ_INITS \ 180#define NUM_GBUS_IRQ_INITS (ARRAY_SIZE(gbus_irq_inits) - 1)
180 ((sizeof gbus_irq_inits / sizeof gbus_irq_inits[0]) - 1)
181 181
182static struct hw_interrupt_type gbus_hw_itypes[NUM_GBUS_IRQ_INITS]; 182static struct hw_interrupt_type gbus_hw_itypes[NUM_GBUS_IRQ_INITS];
183 183
diff --git a/arch/v850/kernel/rte_mb_a_pci.c b/arch/v850/kernel/rte_mb_a_pci.c
index 35213fa9f7d8..35a4bd5515cb 100644
--- a/arch/v850/kernel/rte_mb_a_pci.c
+++ b/arch/v850/kernel/rte_mb_a_pci.c
@@ -70,8 +70,7 @@ static struct mb_pci_dev_irq mb_pci_dev_irqs[] = {
70 /* PCI slot 2 */ 70 /* PCI slot 2 */
71 { 9, IRQ_MB_A_PCI2(0), 1 } 71 { 9, IRQ_MB_A_PCI2(0), 1 }
72}; 72};
73#define NUM_MB_PCI_DEV_IRQS \ 73#define NUM_MB_PCI_DEV_IRQS ARRAY_SIZE(mb_pci_dev_irqs)
74 (sizeof mb_pci_dev_irqs / sizeof mb_pci_dev_irqs[0])
75 74
76 75
77/* PCI configuration primitives. */ 76/* PCI configuration primitives. */
diff --git a/arch/v850/kernel/rte_me2_cb.c b/arch/v850/kernel/rte_me2_cb.c
index 3be355a029e2..46803d48dffe 100644
--- a/arch/v850/kernel/rte_me2_cb.c
+++ b/arch/v850/kernel/rte_me2_cb.c
@@ -170,8 +170,7 @@ static struct cb_pic_irq_init cb_pic_irq_inits[] = {
170 { "CB_EXTTM2", IRQ_CB_EXTTM2, 1, 1, 6 }, 170 { "CB_EXTTM2", IRQ_CB_EXTTM2, 1, 1, 6 },
171 { 0 } 171 { 0 }
172}; 172};
173#define NUM_CB_PIC_IRQ_INITS \ 173#define NUM_CB_PIC_IRQ_INITS (ARRAY_SIZE(cb_pic_irq_inits) - 1)
174 ((sizeof cb_pic_irq_inits / sizeof cb_pic_irq_inits[0]) - 1)
175 174
176static struct hw_interrupt_type cb_pic_hw_itypes[NUM_CB_PIC_IRQ_INITS]; 175static struct hw_interrupt_type cb_pic_hw_itypes[NUM_CB_PIC_IRQ_INITS];
177static unsigned char cb_pic_active_irqs = 0; 176static unsigned char cb_pic_active_irqs = 0;
diff --git a/arch/v850/kernel/teg.c b/arch/v850/kernel/teg.c
index 290d50665016..699248f92aae 100644
--- a/arch/v850/kernel/teg.c
+++ b/arch/v850/kernel/teg.c
@@ -43,7 +43,7 @@ static struct v850e_intc_irq_init irq_inits[] = {
43 { "ST", IRQ_INTST(0), IRQ_INTST_NUM, 1, 5 }, 43 { "ST", IRQ_INTST(0), IRQ_INTST_NUM, 1, 5 },
44 { 0 } 44 { 0 }
45}; 45};
46#define NUM_IRQ_INITS ((sizeof irq_inits / sizeof irq_inits[0]) - 1) 46#define NUM_IRQ_INITS (ARRAY_SIZE(irq_inits) - 1)
47 47
48static struct hw_interrupt_type hw_itypes[NUM_IRQ_INITS]; 48static struct hw_interrupt_type hw_itypes[NUM_IRQ_INITS];
49 49
diff --git a/arch/v850/kernel/time.c b/arch/v850/kernel/time.c
index cd06f47c0ea7..486e3a441c86 100644
--- a/arch/v850/kernel/time.c
+++ b/arch/v850/kernel/time.c
@@ -28,14 +28,6 @@
28#define TICK_SIZE (tick_nsec / 1000) 28#define TICK_SIZE (tick_nsec / 1000)
29 29
30/* 30/*
31 * Scheduler clock - returns current time in nanosec units.
32 */
33unsigned long long sched_clock(void)
34{
35 return (unsigned long long)jiffies * (1000000000 / HZ);
36}
37
38/*
39 * timer_interrupt() needs to keep up the real-time clock, 31 * timer_interrupt() needs to keep up the real-time clock,
40 * as well as call the "do_timer()" routine every clocktick 32 * as well as call the "do_timer()" routine every clocktick
41 */ 33 */
diff --git a/arch/v850/kernel/vmlinux.lds.S b/arch/v850/kernel/vmlinux.lds.S
index 3a5fd07fe064..356308221251 100644
--- a/arch/v850/kernel/vmlinux.lds.S
+++ b/arch/v850/kernel/vmlinux.lds.S
@@ -190,12 +190,16 @@
190 __root_fs_image_start = . ; \ 190 __root_fs_image_start = . ; \
191 *(.root) \ 191 *(.root) \
192 __root_fs_image_end = . ; 192 __root_fs_image_end = . ;
193
194#ifdef CONFIG_BLK_DEV_INITRD
193/* The initramfs archive. */ 195/* The initramfs archive. */
194#define INITRAMFS_CONTENTS \ 196#define INITRAMFS_CONTENTS \
195 . = ALIGN (4) ; \ 197 . = ALIGN (4) ; \
196 ___initramfs_start = . ; \ 198 ___initramfs_start = . ; \
197 *(.init.ramfs) \ 199 *(.init.ramfs) \
198 ___initramfs_end = . ; 200 ___initramfs_end = . ;
201#endif
202
199/* Where the initial bootmap (bitmap for the boot-time memory allocator) 203/* Where the initial bootmap (bitmap for the boot-time memory allocator)
200 should be place. */ 204 should be place. */
201#define BOOTMAP_CONTENTS \ 205#define BOOTMAP_CONTENTS \
diff --git a/arch/x86_64/Kconfig b/arch/x86_64/Kconfig
index d4275537b25b..02dd39457bcf 100644
--- a/arch/x86_64/Kconfig
+++ b/arch/x86_64/Kconfig
@@ -44,6 +44,10 @@ config MMU
44 bool 44 bool
45 default y 45 default y
46 46
47config ZONE_DMA
48 bool
49 default y
50
47config ISA 51config ISA
48 bool 52 bool
49 53
diff --git a/arch/x86_64/ia32/ia32_binfmt.c b/arch/x86_64/ia32/ia32_binfmt.c
index 5ce0bd486bbf..6efe04f3cbca 100644
--- a/arch/x86_64/ia32/ia32_binfmt.c
+++ b/arch/x86_64/ia32/ia32_binfmt.c
@@ -300,12 +300,10 @@ int ia32_setup_arg_pages(struct linux_binprm *bprm, unsigned long stack_top,
300 bprm->loader += stack_base; 300 bprm->loader += stack_base;
301 bprm->exec += stack_base; 301 bprm->exec += stack_base;
302 302
303 mpnt = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL); 303 mpnt = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL);
304 if (!mpnt) 304 if (!mpnt)
305 return -ENOMEM; 305 return -ENOMEM;
306 306
307 memset(mpnt, 0, sizeof(*mpnt));
308
309 down_write(&mm->mmap_sem); 307 down_write(&mm->mmap_sem);
310 { 308 {
311 mpnt->vm_mm = mm; 309 mpnt->vm_mm = mm;
diff --git a/arch/x86_64/ia32/ia32entry.S b/arch/x86_64/ia32/ia32entry.S
index b4aa875e175b..5f32cf4de5fb 100644
--- a/arch/x86_64/ia32/ia32entry.S
+++ b/arch/x86_64/ia32/ia32entry.S
@@ -515,7 +515,7 @@ ia32_sys_call_table:
515 .quad sys32_vm86_warning /* vm86old */ 515 .quad sys32_vm86_warning /* vm86old */
516 .quad compat_sys_wait4 516 .quad compat_sys_wait4
517 .quad sys_swapoff /* 115 */ 517 .quad sys_swapoff /* 115 */
518 .quad sys32_sysinfo 518 .quad compat_sys_sysinfo
519 .quad sys32_ipc 519 .quad sys32_ipc
520 .quad sys_fsync 520 .quad sys_fsync
521 .quad stub32_sigreturn 521 .quad stub32_sigreturn
diff --git a/arch/x86_64/ia32/sys_ia32.c b/arch/x86_64/ia32/sys_ia32.c
index c9bac3af29d6..200fdde18d96 100644
--- a/arch/x86_64/ia32/sys_ia32.c
+++ b/arch/x86_64/ia32/sys_ia32.c
@@ -523,72 +523,6 @@ sys32_sysfs(int option, u32 arg1, u32 arg2)
523 return sys_sysfs(option, arg1, arg2); 523 return sys_sysfs(option, arg1, arg2);
524} 524}
525 525
526struct sysinfo32 {
527 s32 uptime;
528 u32 loads[3];
529 u32 totalram;
530 u32 freeram;
531 u32 sharedram;
532 u32 bufferram;
533 u32 totalswap;
534 u32 freeswap;
535 unsigned short procs;
536 unsigned short pad;
537 u32 totalhigh;
538 u32 freehigh;
539 u32 mem_unit;
540 char _f[20-2*sizeof(u32)-sizeof(int)];
541};
542
543asmlinkage long
544sys32_sysinfo(struct sysinfo32 __user *info)
545{
546 struct sysinfo s;
547 int ret;
548 mm_segment_t old_fs = get_fs ();
549 int bitcount = 0;
550
551 set_fs (KERNEL_DS);
552 ret = sys_sysinfo((struct sysinfo __user *)&s);
553 set_fs (old_fs);
554
555 /* Check to see if any memory value is too large for 32-bit and scale
556 * down if needed
557 */
558 if ((s.totalram >> 32) || (s.totalswap >> 32)) {
559 while (s.mem_unit < PAGE_SIZE) {
560 s.mem_unit <<= 1;
561 bitcount++;
562 }
563 s.totalram >>= bitcount;
564 s.freeram >>= bitcount;
565 s.sharedram >>= bitcount;
566 s.bufferram >>= bitcount;
567 s.totalswap >>= bitcount;
568 s.freeswap >>= bitcount;
569 s.totalhigh >>= bitcount;
570 s.freehigh >>= bitcount;
571 }
572
573 if (!access_ok(VERIFY_WRITE, info, sizeof(struct sysinfo32)) ||
574 __put_user (s.uptime, &info->uptime) ||
575 __put_user (s.loads[0], &info->loads[0]) ||
576 __put_user (s.loads[1], &info->loads[1]) ||
577 __put_user (s.loads[2], &info->loads[2]) ||
578 __put_user (s.totalram, &info->totalram) ||
579 __put_user (s.freeram, &info->freeram) ||
580 __put_user (s.sharedram, &info->sharedram) ||
581 __put_user (s.bufferram, &info->bufferram) ||
582 __put_user (s.totalswap, &info->totalswap) ||
583 __put_user (s.freeswap, &info->freeswap) ||
584 __put_user (s.procs, &info->procs) ||
585 __put_user (s.totalhigh, &info->totalhigh) ||
586 __put_user (s.freehigh, &info->freehigh) ||
587 __put_user (s.mem_unit, &info->mem_unit))
588 return -EFAULT;
589 return 0;
590}
591
592asmlinkage long 526asmlinkage long
593sys32_sched_rr_get_interval(compat_pid_t pid, struct compat_timespec __user *interval) 527sys32_sched_rr_get_interval(compat_pid_t pid, struct compat_timespec __user *interval)
594{ 528{
diff --git a/arch/x86_64/kernel/mce_amd.c b/arch/x86_64/kernel/mce_amd.c
index fa09debad4b7..93c707257637 100644
--- a/arch/x86_64/kernel/mce_amd.c
+++ b/arch/x86_64/kernel/mce_amd.c
@@ -401,7 +401,6 @@ static __cpuinit int allocate_threshold_blocks(unsigned int cpu,
401 b = kzalloc(sizeof(struct threshold_block), GFP_KERNEL); 401 b = kzalloc(sizeof(struct threshold_block), GFP_KERNEL);
402 if (!b) 402 if (!b)
403 return -ENOMEM; 403 return -ENOMEM;
404 memset(b, 0, sizeof(struct threshold_block));
405 404
406 b->block = block; 405 b->block = block;
407 b->bank = bank; 406 b->bank = bank;
@@ -490,7 +489,6 @@ static __cpuinit int threshold_create_bank(unsigned int cpu, unsigned int bank)
490 err = -ENOMEM; 489 err = -ENOMEM;
491 goto out; 490 goto out;
492 } 491 }
493 memset(b, 0, sizeof(struct threshold_bank));
494 492
495 kobject_set_name(&b->kobj, "threshold_bank%i", bank); 493 kobject_set_name(&b->kobj, "threshold_bank%i", bank);
496 b->kobj.parent = &per_cpu(device_mce, cpu).kobj; 494 b->kobj.parent = &per_cpu(device_mce, cpu).kobj;
diff --git a/arch/x86_64/kernel/vmlinux.lds.S b/arch/x86_64/kernel/vmlinux.lds.S
index 1e54ddf2338d..c360c4225244 100644
--- a/arch/x86_64/kernel/vmlinux.lds.S
+++ b/arch/x86_64/kernel/vmlinux.lds.S
@@ -192,10 +192,14 @@ SECTIONS
192 from .altinstructions and .eh_frame */ 192 from .altinstructions and .eh_frame */
193 .exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) { *(.exit.text) } 193 .exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) { *(.exit.text) }
194 .exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) { *(.exit.data) } 194 .exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) { *(.exit.data) }
195
196#ifdef CONFIG_BLK_DEV_INITRD
195 . = ALIGN(4096); 197 . = ALIGN(4096);
196 __initramfs_start = .; 198 __initramfs_start = .;
197 .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) { *(.init.ramfs) } 199 .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) { *(.init.ramfs) }
198 __initramfs_end = .; 200 __initramfs_end = .;
201#endif
202
199 . = ALIGN(CONFIG_X86_L1_CACHE_BYTES); 203 . = ALIGN(CONFIG_X86_L1_CACHE_BYTES);
200 __per_cpu_start = .; 204 __per_cpu_start = .;
201 .data.percpu : AT(ADDR(.data.percpu) - LOAD_OFFSET) { *(.data.percpu) } 205 .data.percpu : AT(ADDR(.data.percpu) - LOAD_OFFSET) { *(.data.percpu) }
diff --git a/arch/x86_64/mm/fault.c b/arch/x86_64/mm/fault.c
index a65fc6f1dcaf..49e8cf2e06f8 100644
--- a/arch/x86_64/mm/fault.c
+++ b/arch/x86_64/mm/fault.c
@@ -69,27 +69,6 @@ static inline int notify_page_fault(enum die_val val, const char *str,
69 return atomic_notifier_call_chain(&notify_page_fault_chain, val, &args); 69 return atomic_notifier_call_chain(&notify_page_fault_chain, val, &args);
70} 70}
71 71
72void bust_spinlocks(int yes)
73{
74 int loglevel_save = console_loglevel;
75 if (yes) {
76 oops_in_progress = 1;
77 } else {
78#ifdef CONFIG_VT
79 unblank_screen();
80#endif
81 oops_in_progress = 0;
82 /*
83 * OK, the message is on the console. Now we call printk()
84 * without oops_in_progress set so that printk will give klogd
85 * a poke. Hold onto your hats...
86 */
87 console_loglevel = 15; /* NMI oopser may have shut the console up */
88 printk(" ");
89 console_loglevel = loglevel_save;
90 }
91}
92
93/* Sometimes the CPU reports invalid exceptions on prefetch. 72/* Sometimes the CPU reports invalid exceptions on prefetch.
94 Check that here and ignore. 73 Check that here and ignore.
95 Opcode checker based on code by Richard Brunner */ 74 Opcode checker based on code by Richard Brunner */
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
index 2e74cb0b7807..7fbb44bea37f 100644
--- a/arch/xtensa/Kconfig
+++ b/arch/xtensa/Kconfig
@@ -7,6 +7,10 @@ config FRAME_POINTER
7 bool 7 bool
8 default n 8 default n
9 9
10config ZONE_DMA
11 bool
12 default y
13
10config XTENSA 14config XTENSA
11 bool 15 bool
12 default y 16 default y
@@ -42,6 +46,9 @@ config ARCH_HAS_ILOG2_U64
42 bool 46 bool
43 default n 47 default n
44 48
49config NO_IOPORT
50 def_bool y
51
45source "init/Kconfig" 52source "init/Kconfig"
46 53
47menu "Processor type and features" 54menu "Processor type and features"
diff --git a/arch/xtensa/kernel/time.c b/arch/xtensa/kernel/time.c
index a350431363a0..22949be4a5d8 100644
--- a/arch/xtensa/kernel/time.c
+++ b/arch/xtensa/kernel/time.c
@@ -38,15 +38,6 @@ unsigned long ccount_nsec; /* nsec per ccount increment */
38unsigned int last_ccount_stamp; 38unsigned int last_ccount_stamp;
39static long last_rtc_update = 0; 39static long last_rtc_update = 0;
40 40
41/*
42 * Scheduler clock - returns current tim in nanosec units.
43 */
44
45unsigned long long sched_clock(void)
46{
47 return (unsigned long long)jiffies * (1000000000 / HZ);
48}
49
50static irqreturn_t timer_interrupt(int irq, void *dev_id); 41static irqreturn_t timer_interrupt(int irq, void *dev_id);
51static struct irqaction timer_irqaction = { 42static struct irqaction timer_irqaction = {
52 .handler = timer_interrupt, 43 .handler = timer_interrupt,
diff --git a/arch/xtensa/kernel/vmlinux.lds.S b/arch/xtensa/kernel/vmlinux.lds.S
index a36c104c3a52..ab6370054cee 100644
--- a/arch/xtensa/kernel/vmlinux.lds.S
+++ b/arch/xtensa/kernel/vmlinux.lds.S
@@ -203,10 +203,12 @@ SECTIONS
203 .data.percpu : { *(.data.percpu) } 203 .data.percpu : { *(.data.percpu) }
204 __per_cpu_end = .; 204 __per_cpu_end = .;
205 205
206#ifdef CONFIG_BLK_DEV_INITRD
206 . = ALIGN(4096); 207 . = ALIGN(4096);
207 __initramfs_start =.; 208 __initramfs_start =.;
208 .init.ramfs : { *(.init.ramfs) } 209 .init.ramfs : { *(.init.ramfs) }
209 __initramfs_end = .; 210 __initramfs_end = .;
211#endif
210 212
211 /* We need this dummy segment here */ 213 /* We need this dummy segment here */
212 214