diff options
Diffstat (limited to 'arch')
50 files changed, 714 insertions, 509 deletions
diff --git a/arch/alpha/lib/strncpy.S b/arch/alpha/lib/strncpy.S index 338551c7113c..bbdef1be5f95 100644 --- a/arch/alpha/lib/strncpy.S +++ b/arch/alpha/lib/strncpy.S | |||
@@ -43,8 +43,8 @@ strncpy: | |||
43 | 43 | ||
44 | .align 4 | 44 | .align 4 |
45 | $multiword: | 45 | $multiword: |
46 | subq $24, 1, $2 # clear the final bits in the prev word | 46 | subq $27, 1, $2 # clear the final bits in the prev word |
47 | or $2, $24, $2 | 47 | or $2, $27, $2 |
48 | zapnot $1, $2, $1 | 48 | zapnot $1, $2, $1 |
49 | subq $18, 1, $18 | 49 | subq $18, 1, $18 |
50 | 50 | ||
@@ -70,8 +70,8 @@ $multiword: | |||
70 | bne $18, 0b | 70 | bne $18, 0b |
71 | 71 | ||
72 | 1: ldq_u $1, 0($16) # clear the leading bits in the final word | 72 | 1: ldq_u $1, 0($16) # clear the leading bits in the final word |
73 | subq $27, 1, $2 | 73 | subq $24, 1, $2 |
74 | or $2, $27, $2 | 74 | or $2, $24, $2 |
75 | 75 | ||
76 | zap $1, $2, $1 | 76 | zap $1, $2, $1 |
77 | stq_u $1, 0($16) | 77 | stq_u $1, 0($16) |
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 95a96275f88a..6f8e84c1c1f2 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile | |||
@@ -66,7 +66,7 @@ tune-$(CONFIG_CPU_XSC3) :=$(call cc-option,-mtune=xscale,-mtune=strongarm110) - | |||
66 | tune-$(CONFIG_CPU_V6) :=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm) | 66 | tune-$(CONFIG_CPU_V6) :=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm) |
67 | 67 | ||
68 | ifeq ($(CONFIG_AEABI),y) | 68 | ifeq ($(CONFIG_AEABI),y) |
69 | CFLAGS_ABI :=-mabi=aapcs -mno-thumb-interwork | 69 | CFLAGS_ABI :=-mabi=aapcs-linux -mno-thumb-interwork |
70 | else | 70 | else |
71 | CFLAGS_ABI :=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) $(call cc-option,-mno-thumb-interwork,) | 71 | CFLAGS_ABI :=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) $(call cc-option,-mno-thumb-interwork,) |
72 | endif | 72 | endif |
diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile index 2ce0e3a27a45..a601b8b55f35 100644 --- a/arch/arm/kernel/Makefile +++ b/arch/arm/kernel/Makefile | |||
@@ -29,7 +29,7 @@ ifneq ($(CONFIG_ARCH_EBSA110),y) | |||
29 | obj-y += io.o | 29 | obj-y += io.o |
30 | endif | 30 | endif |
31 | 31 | ||
32 | head-y := head.o | 32 | head-y := head$(MMUEXT).o |
33 | obj-$(CONFIG_DEBUG_LL) += debug.o | 33 | obj-$(CONFIG_DEBUG_LL) += debug.o |
34 | 34 | ||
35 | extra-y := $(head-y) init_task.o vmlinux.lds | 35 | extra-y := $(head-y) init_task.o vmlinux.lds |
diff --git a/arch/arm/kernel/head-nommu.S b/arch/arm/kernel/head-nommu.S index b093ab8738b5..0bea65864051 100644 --- a/arch/arm/kernel/head-nommu.S +++ b/arch/arm/kernel/head-nommu.S | |||
@@ -20,10 +20,11 @@ | |||
20 | #include <asm/mach-types.h> | 20 | #include <asm/mach-types.h> |
21 | #include <asm/procinfo.h> | 21 | #include <asm/procinfo.h> |
22 | #include <asm/ptrace.h> | 22 | #include <asm/ptrace.h> |
23 | #include <asm/constants.h> | 23 | #include <asm/thread_info.h> |
24 | #include <asm/system.h> | 24 | #include <asm/system.h> |
25 | 25 | ||
26 | #define PROCINFO_INITFUNC 12 | 26 | #define PROCINFO_INITFUNC 12 |
27 | #define MACHINFO_TYPE 0 | ||
27 | 28 | ||
28 | /* | 29 | /* |
29 | * Kernel startup entry point. | 30 | * Kernel startup entry point. |
@@ -79,5 +80,6 @@ __after_proc_init: | |||
79 | 80 | ||
80 | mov pc, r13 @ clear the BSS and jump | 81 | mov pc, r13 @ clear the BSS and jump |
81 | @ to start_kernel | 82 | @ to start_kernel |
83 | .ltorg | ||
82 | 84 | ||
83 | #include "head-common.S" | 85 | #include "head-common.S" |
diff --git a/arch/arm/vfp/vfpdouble.c b/arch/arm/vfp/vfpdouble.c index febd115dba28..009038c8113e 100644 --- a/arch/arm/vfp/vfpdouble.c +++ b/arch/arm/vfp/vfpdouble.c | |||
@@ -197,7 +197,7 @@ u32 vfp_double_normaliseround(int dd, struct vfp_double *vd, u32 fpscr, u32 exce | |||
197 | dd, d, exceptions); | 197 | dd, d, exceptions); |
198 | vfp_put_double(dd, d); | 198 | vfp_put_double(dd, d); |
199 | } | 199 | } |
200 | return exceptions & ~VFP_NAN_FLAG; | 200 | return exceptions; |
201 | } | 201 | } |
202 | 202 | ||
203 | /* | 203 | /* |
diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c index 22f3da4e0829..37ff8145b5b5 100644 --- a/arch/arm/vfp/vfpmodule.c +++ b/arch/arm/vfp/vfpmodule.c | |||
@@ -180,7 +180,7 @@ static u32 vfp_emulate_instruction(u32 inst, u32 fpscr, struct pt_regs *regs) | |||
180 | * emulate it. | 180 | * emulate it. |
181 | */ | 181 | */ |
182 | } | 182 | } |
183 | return exceptions; | 183 | return exceptions & ~VFP_NAN_FLAG; |
184 | } | 184 | } |
185 | 185 | ||
186 | /* | 186 | /* |
diff --git a/arch/arm/vfp/vfpsingle.c b/arch/arm/vfp/vfpsingle.c index 4ac27f193934..dae2c2f46052 100644 --- a/arch/arm/vfp/vfpsingle.c +++ b/arch/arm/vfp/vfpsingle.c | |||
@@ -203,7 +203,7 @@ u32 vfp_single_normaliseround(int sd, struct vfp_single *vs, u32 fpscr, u32 exce | |||
203 | vfp_put_float(sd, d); | 203 | vfp_put_float(sd, d); |
204 | } | 204 | } |
205 | 205 | ||
206 | return exceptions & ~VFP_NAN_FLAG; | 206 | return exceptions; |
207 | } | 207 | } |
208 | 208 | ||
209 | /* | 209 | /* |
diff --git a/arch/i386/kernel/cpu/intel_cacheinfo.c b/arch/i386/kernel/cpu/intel_cacheinfo.c index 9df87b03612c..c8547a6fa7e6 100644 --- a/arch/i386/kernel/cpu/intel_cacheinfo.c +++ b/arch/i386/kernel/cpu/intel_cacheinfo.c | |||
@@ -642,7 +642,7 @@ static void __cpuexit cache_remove_dev(struct sys_device * sys_dev) | |||
642 | return; | 642 | return; |
643 | } | 643 | } |
644 | 644 | ||
645 | static int __cpuinit cacheinfo_cpu_callback(struct notifier_block *nfb, | 645 | static int cacheinfo_cpu_callback(struct notifier_block *nfb, |
646 | unsigned long action, void *hcpu) | 646 | unsigned long action, void *hcpu) |
647 | { | 647 | { |
648 | unsigned int cpu = (unsigned long)hcpu; | 648 | unsigned int cpu = (unsigned long)hcpu; |
diff --git a/arch/ia64/kernel/entry.S b/arch/ia64/kernel/entry.S index e30798811216..bcb80ca5cf40 100644 --- a/arch/ia64/kernel/entry.S +++ b/arch/ia64/kernel/entry.S | |||
@@ -1610,5 +1610,6 @@ sys_call_table: | |||
1610 | data8 sys_get_robust_list | 1610 | data8 sys_get_robust_list |
1611 | data8 sys_sync_file_range // 1300 | 1611 | data8 sys_sync_file_range // 1300 |
1612 | data8 sys_tee | 1612 | data8 sys_tee |
1613 | data8 sys_vmsplice | ||
1613 | 1614 | ||
1614 | .org sys_call_table + 8*NR_syscalls // guard against failures to increase NR_syscalls | 1615 | .org sys_call_table + 8*NR_syscalls // guard against failures to increase NR_syscalls |
diff --git a/arch/ia64/kernel/palinfo.c b/arch/ia64/kernel/palinfo.c index 6386f63c413e..859fb37ff49b 100644 --- a/arch/ia64/kernel/palinfo.c +++ b/arch/ia64/kernel/palinfo.c | |||
@@ -959,7 +959,7 @@ remove_palinfo_proc_entries(unsigned int hcpu) | |||
959 | } | 959 | } |
960 | } | 960 | } |
961 | 961 | ||
962 | static int __devinit palinfo_cpu_callback(struct notifier_block *nfb, | 962 | static int palinfo_cpu_callback(struct notifier_block *nfb, |
963 | unsigned long action, | 963 | unsigned long action, |
964 | void *hcpu) | 964 | void *hcpu) |
965 | { | 965 | { |
diff --git a/arch/ia64/kernel/salinfo.c b/arch/ia64/kernel/salinfo.c index 9d5a823479a3..663a186ad194 100644 --- a/arch/ia64/kernel/salinfo.c +++ b/arch/ia64/kernel/salinfo.c | |||
@@ -572,7 +572,7 @@ static struct file_operations salinfo_data_fops = { | |||
572 | }; | 572 | }; |
573 | 573 | ||
574 | #ifdef CONFIG_HOTPLUG_CPU | 574 | #ifdef CONFIG_HOTPLUG_CPU |
575 | static int __devinit | 575 | static int |
576 | salinfo_cpu_callback(struct notifier_block *nb, unsigned long action, void *hcpu) | 576 | salinfo_cpu_callback(struct notifier_block *nb, unsigned long action, void *hcpu) |
577 | { | 577 | { |
578 | unsigned int i, cpu = (unsigned long)hcpu; | 578 | unsigned int i, cpu = (unsigned long)hcpu; |
diff --git a/arch/ia64/kernel/topology.c b/arch/ia64/kernel/topology.c index b47476d655f1..7da4739f536e 100644 --- a/arch/ia64/kernel/topology.c +++ b/arch/ia64/kernel/topology.c | |||
@@ -429,7 +429,7 @@ static int __cpuinit cache_remove_dev(struct sys_device * sys_dev) | |||
429 | * When a cpu is hot-plugged, do a check and initiate | 429 | * When a cpu is hot-plugged, do a check and initiate |
430 | * cache kobject if necessary | 430 | * cache kobject if necessary |
431 | */ | 431 | */ |
432 | static int __cpuinit cache_cpu_callback(struct notifier_block *nfb, | 432 | static int cache_cpu_callback(struct notifier_block *nfb, |
433 | unsigned long action, void *hcpu) | 433 | unsigned long action, void *hcpu) |
434 | { | 434 | { |
435 | unsigned int cpu = (unsigned long)hcpu; | 435 | unsigned int cpu = (unsigned long)hcpu; |
diff --git a/arch/mips/kernel/linux32.c b/arch/mips/kernel/linux32.c index 7c953bcc5f6a..a7d2bb3cf835 100644 --- a/arch/mips/kernel/linux32.c +++ b/arch/mips/kernel/linux32.c | |||
@@ -356,73 +356,13 @@ asmlinkage int sys32_llseek(unsigned int fd, unsigned int offset_high, | |||
356 | asmlinkage ssize_t sys32_pread(unsigned int fd, char __user * buf, | 356 | asmlinkage ssize_t sys32_pread(unsigned int fd, char __user * buf, |
357 | size_t count, u32 unused, u64 a4, u64 a5) | 357 | size_t count, u32 unused, u64 a4, u64 a5) |
358 | { | 358 | { |
359 | ssize_t ret; | 359 | return sys_pread64(fd, buf, count, merge_64(a4, a5)); |
360 | struct file * file; | ||
361 | ssize_t (*read)(struct file *, char __user *, size_t, loff_t *); | ||
362 | loff_t pos; | ||
363 | |||
364 | ret = -EBADF; | ||
365 | file = fget(fd); | ||
366 | if (!file) | ||
367 | goto bad_file; | ||
368 | if (!(file->f_mode & FMODE_READ)) | ||
369 | goto out; | ||
370 | pos = merge_64(a4, a5); | ||
371 | ret = rw_verify_area(READ, file, &pos, count); | ||
372 | if (ret < 0) | ||
373 | goto out; | ||
374 | ret = -EINVAL; | ||
375 | if (!file->f_op || !(read = file->f_op->read)) | ||
376 | goto out; | ||
377 | if (pos < 0) | ||
378 | goto out; | ||
379 | ret = -ESPIPE; | ||
380 | if (!(file->f_mode & FMODE_PREAD)) | ||
381 | goto out; | ||
382 | ret = read(file, buf, count, &pos); | ||
383 | if (ret > 0) | ||
384 | dnotify_parent(file->f_dentry, DN_ACCESS); | ||
385 | out: | ||
386 | fput(file); | ||
387 | bad_file: | ||
388 | return ret; | ||
389 | } | 360 | } |
390 | 361 | ||
391 | asmlinkage ssize_t sys32_pwrite(unsigned int fd, const char __user * buf, | 362 | asmlinkage ssize_t sys32_pwrite(unsigned int fd, const char __user * buf, |
392 | size_t count, u32 unused, u64 a4, u64 a5) | 363 | size_t count, u32 unused, u64 a4, u64 a5) |
393 | { | 364 | { |
394 | ssize_t ret; | 365 | return sys_pwrite64(fd, buf, count, merge_64(a4, a5)); |
395 | struct file * file; | ||
396 | ssize_t (*write)(struct file *, const char __user *, size_t, loff_t *); | ||
397 | loff_t pos; | ||
398 | |||
399 | ret = -EBADF; | ||
400 | file = fget(fd); | ||
401 | if (!file) | ||
402 | goto bad_file; | ||
403 | if (!(file->f_mode & FMODE_WRITE)) | ||
404 | goto out; | ||
405 | pos = merge_64(a4, a5); | ||
406 | ret = rw_verify_area(WRITE, file, &pos, count); | ||
407 | if (ret < 0) | ||
408 | goto out; | ||
409 | ret = -EINVAL; | ||
410 | if (!file->f_op || !(write = file->f_op->write)) | ||
411 | goto out; | ||
412 | if (pos < 0) | ||
413 | goto out; | ||
414 | |||
415 | ret = -ESPIPE; | ||
416 | if (!(file->f_mode & FMODE_PWRITE)) | ||
417 | goto out; | ||
418 | |||
419 | ret = write(file, buf, count, &pos); | ||
420 | if (ret > 0) | ||
421 | dnotify_parent(file->f_dentry, DN_MODIFY); | ||
422 | out: | ||
423 | fput(file); | ||
424 | bad_file: | ||
425 | return ret; | ||
426 | } | 366 | } |
427 | 367 | ||
428 | asmlinkage int sys32_sched_rr_get_interval(compat_pid_t pid, | 368 | asmlinkage int sys32_sched_rr_get_interval(compat_pid_t pid, |
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index 19f911c5dd58..910fb3afc0b5 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig | |||
@@ -138,6 +138,37 @@ config 64BIT | |||
138 | enable this option otherwise. The 64bit kernel is significantly bigger | 138 | enable this option otherwise. The 64bit kernel is significantly bigger |
139 | and slower than the 32bit one. | 139 | and slower than the 32bit one. |
140 | 140 | ||
141 | choice | ||
142 | prompt "Kernel page size" | ||
143 | default PARISC_PAGE_SIZE_4KB if !64BIT | ||
144 | default PARISC_PAGE_SIZE_4KB if 64BIT | ||
145 | # default PARISC_PAGE_SIZE_16KB if 64BIT | ||
146 | |||
147 | config PARISC_PAGE_SIZE_4KB | ||
148 | bool "4KB" | ||
149 | help | ||
150 | This lets you select the page size of the kernel. For best | ||
151 | performance, a page size of 16KB is recommended. For best | ||
152 | compatibility with 32bit applications, a page size of 4KB should be | ||
153 | selected (the vast majority of 32bit binaries work perfectly fine | ||
154 | with a larger page size). | ||
155 | |||
156 | 4KB For best 32bit compatibility | ||
157 | 16KB For best performance | ||
158 | 64KB For best performance, might give more overhead. | ||
159 | |||
160 | If you don't know what to do, choose 4KB. | ||
161 | |||
162 | config PARISC_PAGE_SIZE_16KB | ||
163 | bool "16KB (EXPERIMENTAL)" | ||
164 | depends on PA8X00 && EXPERIMENTAL | ||
165 | |||
166 | config PARISC_PAGE_SIZE_64KB | ||
167 | bool "64KB (EXPERIMENTAL)" | ||
168 | depends on PA8X00 && EXPERIMENTAL | ||
169 | |||
170 | endchoice | ||
171 | |||
141 | config SMP | 172 | config SMP |
142 | bool "Symmetric multi-processing support" | 173 | bool "Symmetric multi-processing support" |
143 | ---help--- | 174 | ---help--- |
diff --git a/arch/parisc/defconfig b/arch/parisc/defconfig index 59f7bc38e72e..b38b58eb9dc2 100644 --- a/arch/parisc/defconfig +++ b/arch/parisc/defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-pa6 | 3 | # Linux kernel version: 2.6.16-pa10 |
4 | # Sun Mar 26 19:50:07 2006 | 4 | # Sun Apr 2 15:26:38 2006 |
5 | # | 5 | # |
6 | CONFIG_PARISC=y | 6 | CONFIG_PARISC=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
@@ -25,7 +25,7 @@ CONFIG_LOCALVERSION="" | |||
25 | # CONFIG_LOCALVERSION_AUTO is not set | 25 | # CONFIG_LOCALVERSION_AUTO is not set |
26 | CONFIG_SWAP=y | 26 | CONFIG_SWAP=y |
27 | CONFIG_SYSVIPC=y | 27 | CONFIG_SYSVIPC=y |
28 | # CONFIG_POSIX_MQUEUE is not set | 28 | CONFIG_POSIX_MQUEUE=y |
29 | # CONFIG_BSD_PROCESS_ACCT is not set | 29 | # CONFIG_BSD_PROCESS_ACCT is not set |
30 | CONFIG_SYSCTL=y | 30 | CONFIG_SYSCTL=y |
31 | # CONFIG_AUDIT is not set | 31 | # CONFIG_AUDIT is not set |
@@ -35,7 +35,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
35 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 35 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
36 | # CONFIG_EMBEDDED is not set | 36 | # CONFIG_EMBEDDED is not set |
37 | CONFIG_KALLSYMS=y | 37 | CONFIG_KALLSYMS=y |
38 | # CONFIG_KALLSYMS_ALL is not set | 38 | CONFIG_KALLSYMS_ALL=y |
39 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 39 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
40 | CONFIG_HOTPLUG=y | 40 | CONFIG_HOTPLUG=y |
41 | CONFIG_PRINTK=y | 41 | CONFIG_PRINTK=y |
@@ -57,7 +57,13 @@ CONFIG_BASE_SMALL=0 | |||
57 | # | 57 | # |
58 | # Loadable module support | 58 | # Loadable module support |
59 | # | 59 | # |
60 | # CONFIG_MODULES is not set | 60 | CONFIG_MODULES=y |
61 | CONFIG_MODULE_UNLOAD=y | ||
62 | CONFIG_MODULE_FORCE_UNLOAD=y | ||
63 | CONFIG_OBSOLETE_MODPARM=y | ||
64 | # CONFIG_MODVERSIONS is not set | ||
65 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
66 | CONFIG_KMOD=y | ||
61 | 67 | ||
62 | # | 68 | # |
63 | # Block layer | 69 | # Block layer |
@@ -79,16 +85,19 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
79 | # | 85 | # |
80 | # Processor type and features | 86 | # Processor type and features |
81 | # | 87 | # |
82 | CONFIG_PA7000=y | 88 | # CONFIG_PA7000 is not set |
83 | # CONFIG_PA7100LC is not set | 89 | CONFIG_PA7100LC=y |
84 | # CONFIG_PA7200 is not set | 90 | # CONFIG_PA7200 is not set |
85 | # CONFIG_PA7300LC is not set | 91 | # CONFIG_PA7300LC is not set |
86 | # CONFIG_PA8X00 is not set | 92 | # CONFIG_PA8X00 is not set |
87 | CONFIG_PA11=y | 93 | CONFIG_PA11=y |
94 | CONFIG_PARISC_PAGE_SIZE_4KB=y | ||
95 | # CONFIG_PARISC_PAGE_SIZE_16KB is not set | ||
96 | # CONFIG_PARISC_PAGE_SIZE_64KB is not set | ||
88 | # CONFIG_SMP is not set | 97 | # CONFIG_SMP is not set |
89 | CONFIG_ARCH_FLATMEM_ENABLE=y | 98 | CONFIG_ARCH_FLATMEM_ENABLE=y |
90 | CONFIG_PREEMPT_NONE=y | 99 | # CONFIG_PREEMPT_NONE is not set |
91 | # CONFIG_PREEMPT_VOLUNTARY is not set | 100 | CONFIG_PREEMPT_VOLUNTARY=y |
92 | # CONFIG_PREEMPT is not set | 101 | # CONFIG_PREEMPT is not set |
93 | # CONFIG_HZ_100 is not set | 102 | # CONFIG_HZ_100 is not set |
94 | CONFIG_HZ_250=y | 103 | CONFIG_HZ_250=y |
@@ -108,7 +117,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4096 | |||
108 | # Bus options (PCI, PCMCIA, EISA, GSC, ISA) | 117 | # Bus options (PCI, PCMCIA, EISA, GSC, ISA) |
109 | # | 118 | # |
110 | CONFIG_GSC=y | 119 | CONFIG_GSC=y |
111 | CONFIG_HPPB=y | 120 | # CONFIG_HPPB is not set |
112 | CONFIG_IOMMU_CCIO=y | 121 | CONFIG_IOMMU_CCIO=y |
113 | CONFIG_GSC_LASI=y | 122 | CONFIG_GSC_LASI=y |
114 | CONFIG_GSC_WAX=y | 123 | CONFIG_GSC_WAX=y |
@@ -126,7 +135,25 @@ CONFIG_IOMMU_SBA=y | |||
126 | # | 135 | # |
127 | # PCCARD (PCMCIA/CardBus) support | 136 | # PCCARD (PCMCIA/CardBus) support |
128 | # | 137 | # |
129 | # CONFIG_PCCARD is not set | 138 | CONFIG_PCCARD=y |
139 | # CONFIG_PCMCIA_DEBUG is not set | ||
140 | CONFIG_PCMCIA=y | ||
141 | CONFIG_PCMCIA_LOAD_CIS=y | ||
142 | CONFIG_PCMCIA_IOCTL=y | ||
143 | CONFIG_CARDBUS=y | ||
144 | |||
145 | # | ||
146 | # PC-card bridges | ||
147 | # | ||
148 | CONFIG_YENTA=y | ||
149 | CONFIG_YENTA_O2=y | ||
150 | CONFIG_YENTA_RICOH=y | ||
151 | CONFIG_YENTA_TI=y | ||
152 | CONFIG_YENTA_ENE_TUNE=y | ||
153 | CONFIG_YENTA_TOSHIBA=y | ||
154 | CONFIG_PD6729=y | ||
155 | CONFIG_I82092=y | ||
156 | CONFIG_PCCARD_NONSTATIC=y | ||
130 | 157 | ||
131 | # | 158 | # |
132 | # PCI Hotplug Support | 159 | # PCI Hotplug Support |
@@ -145,7 +172,7 @@ CONFIG_PDC_STABLE=y | |||
145 | # Executable file formats | 172 | # Executable file formats |
146 | # | 173 | # |
147 | CONFIG_BINFMT_ELF=y | 174 | CONFIG_BINFMT_ELF=y |
148 | # CONFIG_BINFMT_MISC is not set | 175 | CONFIG_BINFMT_MISC=m |
149 | 176 | ||
150 | # | 177 | # |
151 | # Networking | 178 | # Networking |
@@ -159,13 +186,15 @@ CONFIG_NET=y | |||
159 | CONFIG_PACKET=y | 186 | CONFIG_PACKET=y |
160 | CONFIG_PACKET_MMAP=y | 187 | CONFIG_PACKET_MMAP=y |
161 | CONFIG_UNIX=y | 188 | CONFIG_UNIX=y |
162 | # CONFIG_NET_KEY is not set | 189 | CONFIG_XFRM=y |
190 | CONFIG_XFRM_USER=m | ||
191 | CONFIG_NET_KEY=m | ||
163 | CONFIG_INET=y | 192 | CONFIG_INET=y |
164 | CONFIG_IP_MULTICAST=y | 193 | CONFIG_IP_MULTICAST=y |
165 | # CONFIG_IP_ADVANCED_ROUTER is not set | 194 | # CONFIG_IP_ADVANCED_ROUTER is not set |
166 | CONFIG_IP_FIB_HASH=y | 195 | CONFIG_IP_FIB_HASH=y |
167 | CONFIG_IP_PNP=y | 196 | CONFIG_IP_PNP=y |
168 | # CONFIG_IP_PNP_DHCP is not set | 197 | CONFIG_IP_PNP_DHCP=y |
169 | CONFIG_IP_PNP_BOOTP=y | 198 | CONFIG_IP_PNP_BOOTP=y |
170 | # CONFIG_IP_PNP_RARP is not set | 199 | # CONFIG_IP_PNP_RARP is not set |
171 | # CONFIG_NET_IPIP is not set | 200 | # CONFIG_NET_IPIP is not set |
@@ -173,19 +202,20 @@ CONFIG_IP_PNP_BOOTP=y | |||
173 | # CONFIG_IP_MROUTE is not set | 202 | # CONFIG_IP_MROUTE is not set |
174 | # CONFIG_ARPD is not set | 203 | # CONFIG_ARPD is not set |
175 | # CONFIG_SYN_COOKIES is not set | 204 | # CONFIG_SYN_COOKIES is not set |
176 | # CONFIG_INET_AH is not set | 205 | CONFIG_INET_AH=m |
177 | # CONFIG_INET_ESP is not set | 206 | CONFIG_INET_ESP=m |
178 | # CONFIG_INET_IPCOMP is not set | 207 | # CONFIG_INET_IPCOMP is not set |
179 | # CONFIG_INET_TUNNEL is not set | 208 | CONFIG_INET_TUNNEL=m |
180 | # CONFIG_INET_DIAG is not set | 209 | CONFIG_INET_DIAG=m |
210 | CONFIG_INET_TCP_DIAG=m | ||
181 | # CONFIG_TCP_CONG_ADVANCED is not set | 211 | # CONFIG_TCP_CONG_ADVANCED is not set |
182 | CONFIG_TCP_CONG_BIC=y | 212 | CONFIG_TCP_CONG_BIC=y |
183 | CONFIG_IPV6=y | 213 | CONFIG_IPV6=y |
184 | # CONFIG_IPV6_PRIVACY is not set | 214 | # CONFIG_IPV6_PRIVACY is not set |
185 | # CONFIG_INET6_AH is not set | 215 | CONFIG_INET6_AH=y |
186 | # CONFIG_INET6_ESP is not set | 216 | CONFIG_INET6_ESP=y |
187 | # CONFIG_INET6_IPCOMP is not set | 217 | CONFIG_INET6_IPCOMP=y |
188 | # CONFIG_INET6_TUNNEL is not set | 218 | CONFIG_INET6_TUNNEL=y |
189 | # CONFIG_IPV6_TUNNEL is not set | 219 | # CONFIG_IPV6_TUNNEL is not set |
190 | # CONFIG_NETFILTER is not set | 220 | # CONFIG_NETFILTER is not set |
191 | 221 | ||
@@ -207,7 +237,8 @@ CONFIG_IPV6=y | |||
207 | # CONFIG_BRIDGE is not set | 237 | # CONFIG_BRIDGE is not set |
208 | # CONFIG_VLAN_8021Q is not set | 238 | # CONFIG_VLAN_8021Q is not set |
209 | # CONFIG_DECNET is not set | 239 | # CONFIG_DECNET is not set |
210 | # CONFIG_LLC2 is not set | 240 | CONFIG_LLC=m |
241 | CONFIG_LLC2=m | ||
211 | # CONFIG_IPX is not set | 242 | # CONFIG_IPX is not set |
212 | # CONFIG_ATALK is not set | 243 | # CONFIG_ATALK is not set |
213 | # CONFIG_X25 is not set | 244 | # CONFIG_X25 is not set |
@@ -237,9 +268,9 @@ CONFIG_IPV6=y | |||
237 | # | 268 | # |
238 | # Generic Driver Options | 269 | # Generic Driver Options |
239 | # | 270 | # |
240 | CONFIG_STANDALONE=y | 271 | # CONFIG_STANDALONE is not set |
241 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 272 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set |
242 | # CONFIG_FW_LOADER is not set | 273 | CONFIG_FW_LOADER=y |
243 | # CONFIG_DEBUG_DRIVER is not set | 274 | # CONFIG_DEBUG_DRIVER is not set |
244 | 275 | ||
245 | # | 276 | # |
@@ -256,13 +287,14 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
256 | # Parallel port support | 287 | # Parallel port support |
257 | # | 288 | # |
258 | CONFIG_PARPORT=y | 289 | CONFIG_PARPORT=y |
259 | CONFIG_PARPORT_PC=y | 290 | CONFIG_PARPORT_PC=m |
260 | # CONFIG_PARPORT_SERIAL is not set | 291 | # CONFIG_PARPORT_SERIAL is not set |
261 | # CONFIG_PARPORT_PC_FIFO is not set | 292 | # CONFIG_PARPORT_PC_FIFO is not set |
262 | # CONFIG_PARPORT_PC_SUPERIO is not set | 293 | # CONFIG_PARPORT_PC_SUPERIO is not set |
294 | CONFIG_PARPORT_PC_PCMCIA=m | ||
263 | CONFIG_PARPORT_NOT_PC=y | 295 | CONFIG_PARPORT_NOT_PC=y |
264 | CONFIG_PARPORT_GSC=y | 296 | CONFIG_PARPORT_GSC=y |
265 | # CONFIG_PARPORT_1284 is not set | 297 | CONFIG_PARPORT_1284=y |
266 | 298 | ||
267 | # | 299 | # |
268 | # Plug and Play support | 300 | # Plug and Play support |
@@ -284,7 +316,7 @@ CONFIG_BLK_DEV_CRYPTOLOOP=y | |||
284 | # CONFIG_BLK_DEV_UB is not set | 316 | # CONFIG_BLK_DEV_UB is not set |
285 | CONFIG_BLK_DEV_RAM=y | 317 | CONFIG_BLK_DEV_RAM=y |
286 | CONFIG_BLK_DEV_RAM_COUNT=16 | 318 | CONFIG_BLK_DEV_RAM_COUNT=16 |
287 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 319 | CONFIG_BLK_DEV_RAM_SIZE=6144 |
288 | CONFIG_BLK_DEV_INITRD=y | 320 | CONFIG_BLK_DEV_INITRD=y |
289 | # CONFIG_CDROM_PKTCDVD is not set | 321 | # CONFIG_CDROM_PKTCDVD is not set |
290 | # CONFIG_ATA_OVER_ETH is not set | 322 | # CONFIG_ATA_OVER_ETH is not set |
@@ -292,7 +324,60 @@ CONFIG_BLK_DEV_INITRD=y | |||
292 | # | 324 | # |
293 | # ATA/ATAPI/MFM/RLL support | 325 | # ATA/ATAPI/MFM/RLL support |
294 | # | 326 | # |
295 | # CONFIG_IDE is not set | 327 | CONFIG_IDE=y |
328 | CONFIG_BLK_DEV_IDE=y | ||
329 | |||
330 | # | ||
331 | # Please see Documentation/ide.txt for help/info on IDE drives | ||
332 | # | ||
333 | # CONFIG_BLK_DEV_IDE_SATA is not set | ||
334 | CONFIG_BLK_DEV_IDEDISK=y | ||
335 | CONFIG_IDEDISK_MULTI_MODE=y | ||
336 | CONFIG_BLK_DEV_IDECS=y | ||
337 | CONFIG_BLK_DEV_IDECD=y | ||
338 | # CONFIG_BLK_DEV_IDETAPE is not set | ||
339 | # CONFIG_BLK_DEV_IDEFLOPPY is not set | ||
340 | CONFIG_BLK_DEV_IDESCSI=y | ||
341 | # CONFIG_IDE_TASK_IOCTL is not set | ||
342 | |||
343 | # | ||
344 | # IDE chipset support/bugfixes | ||
345 | # | ||
346 | CONFIG_IDE_GENERIC=y | ||
347 | CONFIG_BLK_DEV_IDEPCI=y | ||
348 | CONFIG_IDEPCI_SHARE_IRQ=y | ||
349 | # CONFIG_BLK_DEV_OFFBOARD is not set | ||
350 | CONFIG_BLK_DEV_GENERIC=y | ||
351 | # CONFIG_BLK_DEV_OPTI621 is not set | ||
352 | CONFIG_BLK_DEV_IDEDMA_PCI=y | ||
353 | # CONFIG_BLK_DEV_IDEDMA_FORCED is not set | ||
354 | # CONFIG_IDEDMA_PCI_AUTO is not set | ||
355 | # CONFIG_BLK_DEV_AEC62XX is not set | ||
356 | # CONFIG_BLK_DEV_ALI15X3 is not set | ||
357 | # CONFIG_BLK_DEV_AMD74XX is not set | ||
358 | # CONFIG_BLK_DEV_CMD64X is not set | ||
359 | # CONFIG_BLK_DEV_TRIFLEX is not set | ||
360 | # CONFIG_BLK_DEV_CY82C693 is not set | ||
361 | # CONFIG_BLK_DEV_CS5520 is not set | ||
362 | # CONFIG_BLK_DEV_CS5530 is not set | ||
363 | # CONFIG_BLK_DEV_HPT34X is not set | ||
364 | # CONFIG_BLK_DEV_HPT366 is not set | ||
365 | # CONFIG_BLK_DEV_SC1200 is not set | ||
366 | # CONFIG_BLK_DEV_PIIX is not set | ||
367 | # CONFIG_BLK_DEV_IT821X is not set | ||
368 | CONFIG_BLK_DEV_NS87415=y | ||
369 | # CONFIG_BLK_DEV_PDC202XX_OLD is not set | ||
370 | # CONFIG_BLK_DEV_PDC202XX_NEW is not set | ||
371 | # CONFIG_BLK_DEV_SVWKS is not set | ||
372 | # CONFIG_BLK_DEV_SIIMAGE is not set | ||
373 | # CONFIG_BLK_DEV_SLC90E66 is not set | ||
374 | # CONFIG_BLK_DEV_TRM290 is not set | ||
375 | # CONFIG_BLK_DEV_VIA82CXXX is not set | ||
376 | # CONFIG_IDE_ARM is not set | ||
377 | CONFIG_BLK_DEV_IDEDMA=y | ||
378 | # CONFIG_IDEDMA_IVB is not set | ||
379 | # CONFIG_IDEDMA_AUTO is not set | ||
380 | # CONFIG_BLK_DEV_HD is not set | ||
296 | 381 | ||
297 | # | 382 | # |
298 | # SCSI device support | 383 | # SCSI device support |
@@ -375,6 +460,15 @@ CONFIG_SCSI_NCR53C8XX_SYNC=20 | |||
375 | # CONFIG_SCSI_DEBUG is not set | 460 | # CONFIG_SCSI_DEBUG is not set |
376 | 461 | ||
377 | # | 462 | # |
463 | # PCMCIA SCSI adapter support | ||
464 | # | ||
465 | # CONFIG_PCMCIA_AHA152X is not set | ||
466 | # CONFIG_PCMCIA_FDOMAIN is not set | ||
467 | # CONFIG_PCMCIA_NINJA_SCSI is not set | ||
468 | # CONFIG_PCMCIA_QLOGIC is not set | ||
469 | # CONFIG_PCMCIA_SYM53C500 is not set | ||
470 | |||
471 | # | ||
378 | # Multi-device support (RAID and LVM) | 472 | # Multi-device support (RAID and LVM) |
379 | # | 473 | # |
380 | CONFIG_MD=y | 474 | CONFIG_MD=y |
@@ -382,12 +476,17 @@ CONFIG_BLK_DEV_MD=y | |||
382 | CONFIG_MD_LINEAR=y | 476 | CONFIG_MD_LINEAR=y |
383 | CONFIG_MD_RAID0=y | 477 | CONFIG_MD_RAID0=y |
384 | CONFIG_MD_RAID1=y | 478 | CONFIG_MD_RAID1=y |
385 | # CONFIG_MD_RAID10 is not set | 479 | CONFIG_MD_RAID10=y |
386 | CONFIG_MD_RAID5=y | 480 | CONFIG_MD_RAID5=y |
387 | # CONFIG_MD_RAID6 is not set | 481 | CONFIG_MD_RAID6=y |
388 | # CONFIG_MD_MULTIPATH is not set | 482 | # CONFIG_MD_MULTIPATH is not set |
389 | # CONFIG_MD_FAULTY is not set | 483 | # CONFIG_MD_FAULTY is not set |
390 | # CONFIG_BLK_DEV_DM is not set | 484 | CONFIG_BLK_DEV_DM=y |
485 | # CONFIG_DM_CRYPT is not set | ||
486 | # CONFIG_DM_SNAPSHOT is not set | ||
487 | # CONFIG_DM_MIRROR is not set | ||
488 | # CONFIG_DM_ZERO is not set | ||
489 | # CONFIG_DM_MULTIPATH is not set | ||
391 | 490 | ||
392 | # | 491 | # |
393 | # Fusion MPT device support | 492 | # Fusion MPT device support |
@@ -411,10 +510,10 @@ CONFIG_MD_RAID5=y | |||
411 | # Network device support | 510 | # Network device support |
412 | # | 511 | # |
413 | CONFIG_NETDEVICES=y | 512 | CONFIG_NETDEVICES=y |
414 | # CONFIG_DUMMY is not set | 513 | CONFIG_DUMMY=m |
415 | # CONFIG_BONDING is not set | 514 | CONFIG_BONDING=m |
416 | # CONFIG_EQUALIZER is not set | 515 | # CONFIG_EQUALIZER is not set |
417 | # CONFIG_TUN is not set | 516 | CONFIG_TUN=m |
418 | 517 | ||
419 | # | 518 | # |
420 | # ARCnet devices | 519 | # ARCnet devices |
@@ -430,7 +529,7 @@ CONFIG_NETDEVICES=y | |||
430 | # Ethernet (10 or 100Mbit) | 529 | # Ethernet (10 or 100Mbit) |
431 | # | 530 | # |
432 | CONFIG_NET_ETHERNET=y | 531 | CONFIG_NET_ETHERNET=y |
433 | # CONFIG_MII is not set | 532 | CONFIG_MII=m |
434 | CONFIG_LASI_82596=y | 533 | CONFIG_LASI_82596=y |
435 | # CONFIG_HAPPYMEAL is not set | 534 | # CONFIG_HAPPYMEAL is not set |
436 | # CONFIG_SUNGEM is not set | 535 | # CONFIG_SUNGEM is not set |
@@ -451,6 +550,8 @@ CONFIG_TULIP=y | |||
451 | # CONFIG_WINBOND_840 is not set | 550 | # CONFIG_WINBOND_840 is not set |
452 | # CONFIG_DM9102 is not set | 551 | # CONFIG_DM9102 is not set |
453 | # CONFIG_ULI526X is not set | 552 | # CONFIG_ULI526X is not set |
553 | # CONFIG_PCMCIA_XIRCOM is not set | ||
554 | # CONFIG_PCMCIA_XIRTULIP is not set | ||
454 | # CONFIG_DEPCA is not set | 555 | # CONFIG_DEPCA is not set |
455 | # CONFIG_HP100 is not set | 556 | # CONFIG_HP100 is not set |
456 | CONFIG_NET_PCI=y | 557 | CONFIG_NET_PCI=y |
@@ -518,14 +619,33 @@ CONFIG_NET_RADIO=y | |||
518 | # Obsolete Wireless cards support (pre-802.11) | 619 | # Obsolete Wireless cards support (pre-802.11) |
519 | # | 620 | # |
520 | # CONFIG_STRIP is not set | 621 | # CONFIG_STRIP is not set |
622 | # CONFIG_PCMCIA_WAVELAN is not set | ||
623 | # CONFIG_PCMCIA_NETWAVE is not set | ||
624 | |||
625 | # | ||
626 | # Wireless 802.11 Frequency Hopping cards support | ||
627 | # | ||
628 | # CONFIG_PCMCIA_RAYCS is not set | ||
521 | 629 | ||
522 | # | 630 | # |
523 | # Wireless 802.11b ISA/PCI cards support | 631 | # Wireless 802.11b ISA/PCI cards support |
524 | # | 632 | # |
525 | # CONFIG_HERMES is not set | 633 | CONFIG_HERMES=y |
634 | # CONFIG_PLX_HERMES is not set | ||
635 | # CONFIG_TMD_HERMES is not set | ||
636 | # CONFIG_NORTEL_HERMES is not set | ||
637 | # CONFIG_PCI_HERMES is not set | ||
526 | # CONFIG_ATMEL is not set | 638 | # CONFIG_ATMEL is not set |
527 | 639 | ||
528 | # | 640 | # |
641 | # Wireless 802.11b Pcmcia/Cardbus cards support | ||
642 | # | ||
643 | CONFIG_PCMCIA_HERMES=y | ||
644 | CONFIG_PCMCIA_SPECTRUM=y | ||
645 | # CONFIG_AIRO_CS is not set | ||
646 | # CONFIG_PCMCIA_WL3501 is not set | ||
647 | |||
648 | # | ||
529 | # Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support | 649 | # Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support |
530 | # | 650 | # |
531 | # CONFIG_PRISM54 is not set | 651 | # CONFIG_PRISM54 is not set |
@@ -533,13 +653,34 @@ CONFIG_NET_RADIO=y | |||
533 | CONFIG_NET_WIRELESS=y | 653 | CONFIG_NET_WIRELESS=y |
534 | 654 | ||
535 | # | 655 | # |
656 | # PCMCIA network device support | ||
657 | # | ||
658 | CONFIG_NET_PCMCIA=y | ||
659 | # CONFIG_PCMCIA_3C589 is not set | ||
660 | # CONFIG_PCMCIA_3C574 is not set | ||
661 | # CONFIG_PCMCIA_FMVJ18X is not set | ||
662 | # CONFIG_PCMCIA_PCNET is not set | ||
663 | # CONFIG_PCMCIA_NMCLAN is not set | ||
664 | # CONFIG_PCMCIA_SMC91C92 is not set | ||
665 | # CONFIG_PCMCIA_XIRC2PS is not set | ||
666 | # CONFIG_PCMCIA_AXNET is not set | ||
667 | |||
668 | # | ||
536 | # Wan interfaces | 669 | # Wan interfaces |
537 | # | 670 | # |
538 | # CONFIG_WAN is not set | 671 | # CONFIG_WAN is not set |
539 | # CONFIG_FDDI is not set | 672 | # CONFIG_FDDI is not set |
540 | # CONFIG_HIPPI is not set | 673 | # CONFIG_HIPPI is not set |
541 | # CONFIG_PLIP is not set | 674 | # CONFIG_PLIP is not set |
542 | # CONFIG_PPP is not set | 675 | CONFIG_PPP=m |
676 | # CONFIG_PPP_MULTILINK is not set | ||
677 | # CONFIG_PPP_FILTER is not set | ||
678 | CONFIG_PPP_ASYNC=m | ||
679 | CONFIG_PPP_SYNC_TTY=m | ||
680 | CONFIG_PPP_DEFLATE=m | ||
681 | CONFIG_PPP_BSDCOMP=m | ||
682 | # CONFIG_PPP_MPPE is not set | ||
683 | CONFIG_PPPOE=m | ||
543 | # CONFIG_SLIP is not set | 684 | # CONFIG_SLIP is not set |
544 | # CONFIG_NET_FC is not set | 685 | # CONFIG_NET_FC is not set |
545 | # CONFIG_SHAPER is not set | 686 | # CONFIG_SHAPER is not set |
@@ -571,14 +712,16 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | |||
571 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | 712 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 |
572 | # CONFIG_INPUT_JOYDEV is not set | 713 | # CONFIG_INPUT_JOYDEV is not set |
573 | # CONFIG_INPUT_TSDEV is not set | 714 | # CONFIG_INPUT_TSDEV is not set |
574 | CONFIG_INPUT_EVDEV=y | 715 | # CONFIG_INPUT_EVDEV is not set |
575 | # CONFIG_INPUT_EVBUG is not set | 716 | # CONFIG_INPUT_EVBUG is not set |
576 | 717 | ||
577 | # | 718 | # |
578 | # Input Device Drivers | 719 | # Input Device Drivers |
579 | # | 720 | # |
580 | CONFIG_INPUT_KEYBOARD=y | 721 | CONFIG_INPUT_KEYBOARD=y |
581 | # CONFIG_KEYBOARD_ATKBD is not set | 722 | CONFIG_KEYBOARD_ATKBD=y |
723 | CONFIG_KEYBOARD_ATKBD_HP_KEYCODES=y | ||
724 | # CONFIG_KEYBOARD_ATKBD_RDI_KEYCODES is not set | ||
582 | # CONFIG_KEYBOARD_SUNKBD is not set | 725 | # CONFIG_KEYBOARD_SUNKBD is not set |
583 | # CONFIG_KEYBOARD_LKKBD is not set | 726 | # CONFIG_KEYBOARD_LKKBD is not set |
584 | # CONFIG_KEYBOARD_XTKBD is not set | 727 | # CONFIG_KEYBOARD_XTKBD is not set |
@@ -586,52 +729,25 @@ CONFIG_INPUT_KEYBOARD=y | |||
586 | # CONFIG_KEYBOARD_HIL_OLD is not set | 729 | # CONFIG_KEYBOARD_HIL_OLD is not set |
587 | CONFIG_KEYBOARD_HIL=y | 730 | CONFIG_KEYBOARD_HIL=y |
588 | CONFIG_INPUT_MOUSE=y | 731 | CONFIG_INPUT_MOUSE=y |
589 | # CONFIG_MOUSE_PS2 is not set | 732 | CONFIG_MOUSE_PS2=y |
590 | # CONFIG_MOUSE_SERIAL is not set | 733 | CONFIG_MOUSE_SERIAL=y |
591 | # CONFIG_MOUSE_VSXXXAA is not set | 734 | # CONFIG_MOUSE_VSXXXAA is not set |
592 | CONFIG_MOUSE_HIL=y | 735 | CONFIG_MOUSE_HIL=y |
593 | CONFIG_INPUT_JOYSTICK=y | 736 | # CONFIG_INPUT_JOYSTICK is not set |
594 | # CONFIG_JOYSTICK_ANALOG is not set | 737 | # CONFIG_INPUT_TOUCHSCREEN is not set |
595 | # CONFIG_JOYSTICK_A3D is not set | 738 | # CONFIG_INPUT_MISC is not set |
596 | # CONFIG_JOYSTICK_ADI is not set | ||
597 | # CONFIG_JOYSTICK_COBRA is not set | ||
598 | # CONFIG_JOYSTICK_GF2K is not set | ||
599 | # CONFIG_JOYSTICK_GRIP is not set | ||
600 | # CONFIG_JOYSTICK_GRIP_MP is not set | ||
601 | # CONFIG_JOYSTICK_GUILLEMOT is not set | ||
602 | # CONFIG_JOYSTICK_INTERACT is not set | ||
603 | # CONFIG_JOYSTICK_SIDEWINDER is not set | ||
604 | # CONFIG_JOYSTICK_TMDC is not set | ||
605 | # CONFIG_JOYSTICK_IFORCE is not set | ||
606 | # CONFIG_JOYSTICK_WARRIOR is not set | ||
607 | # CONFIG_JOYSTICK_MAGELLAN is not set | ||
608 | # CONFIG_JOYSTICK_SPACEORB is not set | ||
609 | # CONFIG_JOYSTICK_SPACEBALL is not set | ||
610 | # CONFIG_JOYSTICK_STINGER is not set | ||
611 | # CONFIG_JOYSTICK_TWIDJOY is not set | ||
612 | # CONFIG_JOYSTICK_DB9 is not set | ||
613 | # CONFIG_JOYSTICK_GAMECON is not set | ||
614 | # CONFIG_JOYSTICK_TURBOGRAFX is not set | ||
615 | # CONFIG_JOYSTICK_JOYDUMP is not set | ||
616 | CONFIG_INPUT_TOUCHSCREEN=y | ||
617 | # CONFIG_TOUCHSCREEN_GUNZE is not set | ||
618 | # CONFIG_TOUCHSCREEN_ELO is not set | ||
619 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | ||
620 | # CONFIG_TOUCHSCREEN_MK712 is not set | ||
621 | CONFIG_INPUT_MISC=y | ||
622 | # CONFIG_INPUT_UINPUT is not set | ||
623 | CONFIG_HP_SDC_RTC=y | ||
624 | 739 | ||
625 | # | 740 | # |
626 | # Hardware I/O ports | 741 | # Hardware I/O ports |
627 | # | 742 | # |
628 | CONFIG_SERIO=y | 743 | CONFIG_SERIO=y |
629 | # CONFIG_SERIO_SERPORT is not set | 744 | CONFIG_SERIO_SERPORT=y |
630 | # CONFIG_SERIO_PARKBD is not set | 745 | # CONFIG_SERIO_PARKBD is not set |
631 | CONFIG_SERIO_GSCPS2=y | 746 | CONFIG_SERIO_GSCPS2=y |
632 | CONFIG_HP_SDC=y | 747 | CONFIG_HP_SDC=y |
633 | CONFIG_HIL_MLC=y | 748 | CONFIG_HIL_MLC=y |
634 | # CONFIG_SERIO_PCIPS2 is not set | 749 | # CONFIG_SERIO_PCIPS2 is not set |
750 | CONFIG_SERIO_LIBPS2=y | ||
635 | # CONFIG_SERIO_RAW is not set | 751 | # CONFIG_SERIO_RAW is not set |
636 | # CONFIG_GAMEPORT is not set | 752 | # CONFIG_GAMEPORT is not set |
637 | 753 | ||
@@ -648,7 +764,8 @@ CONFIG_HW_CONSOLE=y | |||
648 | # | 764 | # |
649 | CONFIG_SERIAL_8250=y | 765 | CONFIG_SERIAL_8250=y |
650 | CONFIG_SERIAL_8250_CONSOLE=y | 766 | CONFIG_SERIAL_8250_CONSOLE=y |
651 | CONFIG_SERIAL_8250_NR_UARTS=13 | 767 | CONFIG_SERIAL_8250_CS=y |
768 | CONFIG_SERIAL_8250_NR_UARTS=17 | ||
652 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 769 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
653 | CONFIG_SERIAL_8250_EXTENDED=y | 770 | CONFIG_SERIAL_8250_EXTENDED=y |
654 | CONFIG_SERIAL_8250_MANY_PORTS=y | 771 | CONFIG_SERIAL_8250_MANY_PORTS=y |
@@ -666,10 +783,10 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
666 | # CONFIG_SERIAL_JSM is not set | 783 | # CONFIG_SERIAL_JSM is not set |
667 | CONFIG_UNIX98_PTYS=y | 784 | CONFIG_UNIX98_PTYS=y |
668 | CONFIG_LEGACY_PTYS=y | 785 | CONFIG_LEGACY_PTYS=y |
669 | CONFIG_LEGACY_PTY_COUNT=256 | 786 | CONFIG_LEGACY_PTY_COUNT=64 |
670 | CONFIG_PRINTER=y | 787 | CONFIG_PRINTER=m |
671 | # CONFIG_LP_CONSOLE is not set | 788 | # CONFIG_LP_CONSOLE is not set |
672 | # CONFIG_PPDEV is not set | 789 | CONFIG_PPDEV=m |
673 | # CONFIG_TIPAR is not set | 790 | # CONFIG_TIPAR is not set |
674 | 791 | ||
675 | # | 792 | # |
@@ -682,7 +799,7 @@ CONFIG_PRINTER=y | |||
682 | # | 799 | # |
683 | # CONFIG_WATCHDOG is not set | 800 | # CONFIG_WATCHDOG is not set |
684 | CONFIG_GEN_RTC=y | 801 | CONFIG_GEN_RTC=y |
685 | # CONFIG_GEN_RTC_X is not set | 802 | CONFIG_GEN_RTC_X=y |
686 | # CONFIG_DTLK is not set | 803 | # CONFIG_DTLK is not set |
687 | # CONFIG_R3964 is not set | 804 | # CONFIG_R3964 is not set |
688 | # CONFIG_APPLICOM is not set | 805 | # CONFIG_APPLICOM is not set |
@@ -691,6 +808,13 @@ CONFIG_GEN_RTC=y | |||
691 | # Ftape, the floppy tape device driver | 808 | # Ftape, the floppy tape device driver |
692 | # | 809 | # |
693 | # CONFIG_DRM is not set | 810 | # CONFIG_DRM is not set |
811 | |||
812 | # | ||
813 | # PCMCIA character devices | ||
814 | # | ||
815 | # CONFIG_SYNCLINK_CS is not set | ||
816 | # CONFIG_CARDMAN_4000 is not set | ||
817 | # CONFIG_CARDMAN_4040 is not set | ||
694 | # CONFIG_RAW_DRIVER is not set | 818 | # CONFIG_RAW_DRIVER is not set |
695 | 819 | ||
696 | # | 820 | # |
@@ -718,10 +842,8 @@ CONFIG_GEN_RTC=y | |||
718 | # | 842 | # |
719 | # Hardware Monitoring support | 843 | # Hardware Monitoring support |
720 | # | 844 | # |
721 | CONFIG_HWMON=y | 845 | # CONFIG_HWMON is not set |
722 | # CONFIG_HWMON_VID is not set | 846 | # CONFIG_HWMON_VID is not set |
723 | # CONFIG_SENSORS_F71805F is not set | ||
724 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
725 | 847 | ||
726 | # | 848 | # |
727 | # Misc devices | 849 | # Misc devices |
@@ -749,8 +871,8 @@ CONFIG_FB_CFB_FILLRECT=y | |||
749 | CONFIG_FB_CFB_COPYAREA=y | 871 | CONFIG_FB_CFB_COPYAREA=y |
750 | CONFIG_FB_CFB_IMAGEBLIT=y | 872 | CONFIG_FB_CFB_IMAGEBLIT=y |
751 | # CONFIG_FB_MACMODES is not set | 873 | # CONFIG_FB_MACMODES is not set |
752 | # CONFIG_FB_MODE_HELPERS is not set | 874 | CONFIG_FB_MODE_HELPERS=y |
753 | # CONFIG_FB_TILEBLITTING is not set | 875 | CONFIG_FB_TILEBLITTING=y |
754 | # CONFIG_FB_CIRRUS is not set | 876 | # CONFIG_FB_CIRRUS is not set |
755 | # CONFIG_FB_PM2 is not set | 877 | # CONFIG_FB_PM2 is not set |
756 | # CONFIG_FB_CYBER2000 is not set | 878 | # CONFIG_FB_CYBER2000 is not set |
@@ -778,8 +900,8 @@ CONFIG_FB_STI=y | |||
778 | # Console display driver support | 900 | # Console display driver support |
779 | # | 901 | # |
780 | CONFIG_DUMMY_CONSOLE=y | 902 | CONFIG_DUMMY_CONSOLE=y |
781 | CONFIG_DUMMY_CONSOLE_COLUMNS=160 | 903 | CONFIG_DUMMY_CONSOLE_COLUMNS=128 |
782 | CONFIG_DUMMY_CONSOLE_ROWS=64 | 904 | CONFIG_DUMMY_CONSOLE_ROWS=48 |
783 | CONFIG_FRAMEBUFFER_CONSOLE=y | 905 | CONFIG_FRAMEBUFFER_CONSOLE=y |
784 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | 906 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set |
785 | CONFIG_STI_CONSOLE=y | 907 | CONFIG_STI_CONSOLE=y |
@@ -816,13 +938,14 @@ CONFIG_SOUND=y | |||
816 | CONFIG_SND=y | 938 | CONFIG_SND=y |
817 | CONFIG_SND_TIMER=y | 939 | CONFIG_SND_TIMER=y |
818 | CONFIG_SND_PCM=y | 940 | CONFIG_SND_PCM=y |
941 | CONFIG_SND_HWDEP=y | ||
819 | CONFIG_SND_SEQUENCER=y | 942 | CONFIG_SND_SEQUENCER=y |
820 | # CONFIG_SND_SEQ_DUMMY is not set | 943 | # CONFIG_SND_SEQ_DUMMY is not set |
821 | CONFIG_SND_OSSEMUL=y | 944 | CONFIG_SND_OSSEMUL=y |
822 | CONFIG_SND_MIXER_OSS=y | 945 | CONFIG_SND_MIXER_OSS=y |
823 | CONFIG_SND_PCM_OSS=y | 946 | CONFIG_SND_PCM_OSS=y |
824 | CONFIG_SND_SEQUENCER_OSS=y | 947 | CONFIG_SND_SEQUENCER_OSS=y |
825 | # CONFIG_SND_DYNAMIC_MINORS is not set | 948 | CONFIG_SND_DYNAMIC_MINORS=y |
826 | CONFIG_SND_SUPPORT_OLD_API=y | 949 | CONFIG_SND_SUPPORT_OLD_API=y |
827 | # CONFIG_SND_VERBOSE_PRINTK is not set | 950 | # CONFIG_SND_VERBOSE_PRINTK is not set |
828 | # CONFIG_SND_DEBUG is not set | 951 | # CONFIG_SND_DEBUG is not set |
@@ -830,6 +953,7 @@ CONFIG_SND_SUPPORT_OLD_API=y | |||
830 | # | 953 | # |
831 | # Generic devices | 954 | # Generic devices |
832 | # | 955 | # |
956 | CONFIG_SND_OPL3_LIB=y | ||
833 | CONFIG_SND_AC97_CODEC=y | 957 | CONFIG_SND_AC97_CODEC=y |
834 | CONFIG_SND_AC97_BUS=y | 958 | CONFIG_SND_AC97_BUS=y |
835 | # CONFIG_SND_DUMMY is not set | 959 | # CONFIG_SND_DUMMY is not set |
@@ -842,7 +966,7 @@ CONFIG_SND_AC97_BUS=y | |||
842 | # PCI devices | 966 | # PCI devices |
843 | # | 967 | # |
844 | CONFIG_SND_AD1889=y | 968 | CONFIG_SND_AD1889=y |
845 | # CONFIG_SND_AD1889_OPL3 is not set | 969 | CONFIG_SND_AD1889_OPL3=y |
846 | # CONFIG_SND_ALI5451 is not set | 970 | # CONFIG_SND_ALI5451 is not set |
847 | # CONFIG_SND_ATIIXP is not set | 971 | # CONFIG_SND_ATIIXP is not set |
848 | # CONFIG_SND_ATIIXP_MODEM is not set | 972 | # CONFIG_SND_ATIIXP_MODEM is not set |
@@ -890,6 +1014,10 @@ CONFIG_SND_AD1889=y | |||
890 | # CONFIG_SND_USB_AUDIO is not set | 1014 | # CONFIG_SND_USB_AUDIO is not set |
891 | 1015 | ||
892 | # | 1016 | # |
1017 | # PCMCIA devices | ||
1018 | # | ||
1019 | |||
1020 | # | ||
893 | # GSC devices | 1021 | # GSC devices |
894 | # | 1022 | # |
895 | CONFIG_SND_HARMONY=y | 1023 | CONFIG_SND_HARMONY=y |
@@ -905,12 +1033,12 @@ CONFIG_SND_HARMONY=y | |||
905 | CONFIG_USB_ARCH_HAS_HCD=y | 1033 | CONFIG_USB_ARCH_HAS_HCD=y |
906 | CONFIG_USB_ARCH_HAS_OHCI=y | 1034 | CONFIG_USB_ARCH_HAS_OHCI=y |
907 | CONFIG_USB=y | 1035 | CONFIG_USB=y |
908 | CONFIG_USB_DEBUG=y | 1036 | # CONFIG_USB_DEBUG is not set |
909 | 1037 | ||
910 | # | 1038 | # |
911 | # Miscellaneous USB options | 1039 | # Miscellaneous USB options |
912 | # | 1040 | # |
913 | # CONFIG_USB_DEVICEFS is not set | 1041 | CONFIG_USB_DEVICEFS=y |
914 | # CONFIG_USB_BANDWIDTH is not set | 1042 | # CONFIG_USB_BANDWIDTH is not set |
915 | # CONFIG_USB_DYNAMIC_MINORS is not set | 1043 | # CONFIG_USB_DYNAMIC_MINORS is not set |
916 | # CONFIG_USB_OTG is not set | 1044 | # CONFIG_USB_OTG is not set |
@@ -918,14 +1046,12 @@ CONFIG_USB_DEBUG=y | |||
918 | # | 1046 | # |
919 | # USB Host Controller Drivers | 1047 | # USB Host Controller Drivers |
920 | # | 1048 | # |
921 | CONFIG_USB_EHCI_HCD=y | 1049 | # CONFIG_USB_EHCI_HCD is not set |
922 | # CONFIG_USB_EHCI_SPLIT_ISO is not set | ||
923 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set | ||
924 | # CONFIG_USB_ISP116X_HCD is not set | 1050 | # CONFIG_USB_ISP116X_HCD is not set |
925 | CONFIG_USB_OHCI_HCD=y | 1051 | CONFIG_USB_OHCI_HCD=y |
926 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set | 1052 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set |
927 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | 1053 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y |
928 | # CONFIG_USB_UHCI_HCD is not set | 1054 | CONFIG_USB_UHCI_HCD=y |
929 | # CONFIG_USB_SL811_HCD is not set | 1055 | # CONFIG_USB_SL811_HCD is not set |
930 | 1056 | ||
931 | # | 1057 | # |
@@ -948,13 +1074,11 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
948 | # | 1074 | # |
949 | # USB Input Devices | 1075 | # USB Input Devices |
950 | # | 1076 | # |
951 | # CONFIG_USB_HID is not set | 1077 | CONFIG_USB_HID=y |
952 | 1078 | CONFIG_USB_HIDINPUT=y | |
953 | # | 1079 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set |
954 | # USB HID Boot Protocol drivers | 1080 | # CONFIG_HID_FF is not set |
955 | # | 1081 | # CONFIG_USB_HIDDEV is not set |
956 | # CONFIG_USB_KBD is not set | ||
957 | # CONFIG_USB_MOUSE is not set | ||
958 | # CONFIG_USB_AIPTEK is not set | 1082 | # CONFIG_USB_AIPTEK is not set |
959 | # CONFIG_USB_WACOM is not set | 1083 | # CONFIG_USB_WACOM is not set |
960 | # CONFIG_USB_ACECAD is not set | 1084 | # CONFIG_USB_ACECAD is not set |
@@ -1020,8 +1144,8 @@ CONFIG_USB_MON=y | |||
1020 | # CONFIG_USB_PHIDGETKIT is not set | 1144 | # CONFIG_USB_PHIDGETKIT is not set |
1021 | # CONFIG_USB_PHIDGETSERVO is not set | 1145 | # CONFIG_USB_PHIDGETSERVO is not set |
1022 | # CONFIG_USB_IDMOUSE is not set | 1146 | # CONFIG_USB_IDMOUSE is not set |
1023 | # CONFIG_USB_SISUSBVGA is not set | ||
1024 | # CONFIG_USB_LD is not set | 1147 | # CONFIG_USB_LD is not set |
1148 | # CONFIG_USB_TEST is not set | ||
1025 | 1149 | ||
1026 | # | 1150 | # |
1027 | # USB DSL modem support | 1151 | # USB DSL modem support |
@@ -1058,7 +1182,7 @@ CONFIG_JBD=y | |||
1058 | # CONFIG_JBD_DEBUG is not set | 1182 | # CONFIG_JBD_DEBUG is not set |
1059 | # CONFIG_REISERFS_FS is not set | 1183 | # CONFIG_REISERFS_FS is not set |
1060 | # CONFIG_JFS_FS is not set | 1184 | # CONFIG_JFS_FS is not set |
1061 | # CONFIG_FS_POSIX_ACL is not set | 1185 | CONFIG_FS_POSIX_ACL=y |
1062 | # CONFIG_XFS_FS is not set | 1186 | # CONFIG_XFS_FS is not set |
1063 | # CONFIG_OCFS2_FS is not set | 1187 | # CONFIG_OCFS2_FS is not set |
1064 | # CONFIG_MINIX_FS is not set | 1188 | # CONFIG_MINIX_FS is not set |
@@ -1066,7 +1190,7 @@ CONFIG_JBD=y | |||
1066 | CONFIG_INOTIFY=y | 1190 | CONFIG_INOTIFY=y |
1067 | # CONFIG_QUOTA is not set | 1191 | # CONFIG_QUOTA is not set |
1068 | CONFIG_DNOTIFY=y | 1192 | CONFIG_DNOTIFY=y |
1069 | # CONFIG_AUTOFS_FS is not set | 1193 | CONFIG_AUTOFS_FS=y |
1070 | # CONFIG_AUTOFS4_FS is not set | 1194 | # CONFIG_AUTOFS4_FS is not set |
1071 | # CONFIG_FUSE_FS is not set | 1195 | # CONFIG_FUSE_FS is not set |
1072 | 1196 | ||
@@ -1081,8 +1205,11 @@ CONFIG_JOLIET=y | |||
1081 | # | 1205 | # |
1082 | # DOS/FAT/NT Filesystems | 1206 | # DOS/FAT/NT Filesystems |
1083 | # | 1207 | # |
1208 | CONFIG_FAT_FS=y | ||
1084 | # CONFIG_MSDOS_FS is not set | 1209 | # CONFIG_MSDOS_FS is not set |
1085 | # CONFIG_VFAT_FS is not set | 1210 | CONFIG_VFAT_FS=y |
1211 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
1212 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
1086 | # CONFIG_NTFS_FS is not set | 1213 | # CONFIG_NTFS_FS is not set |
1087 | 1214 | ||
1088 | # | 1215 | # |
@@ -1125,7 +1252,7 @@ CONFIG_NFS_V3=y | |||
1125 | CONFIG_NFSD=y | 1252 | CONFIG_NFSD=y |
1126 | CONFIG_NFSD_V3=y | 1253 | CONFIG_NFSD_V3=y |
1127 | # CONFIG_NFSD_V3_ACL is not set | 1254 | # CONFIG_NFSD_V3_ACL is not set |
1128 | # CONFIG_NFSD_V4 is not set | 1255 | CONFIG_NFSD_V4=y |
1129 | CONFIG_NFSD_TCP=y | 1256 | CONFIG_NFSD_TCP=y |
1130 | CONFIG_ROOT_NFS=y | 1257 | CONFIG_ROOT_NFS=y |
1131 | CONFIG_LOCKD=y | 1258 | CONFIG_LOCKD=y |
@@ -1133,10 +1260,16 @@ CONFIG_LOCKD_V4=y | |||
1133 | CONFIG_EXPORTFS=y | 1260 | CONFIG_EXPORTFS=y |
1134 | CONFIG_NFS_COMMON=y | 1261 | CONFIG_NFS_COMMON=y |
1135 | CONFIG_SUNRPC=y | 1262 | CONFIG_SUNRPC=y |
1136 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1263 | CONFIG_SUNRPC_GSS=y |
1137 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1264 | CONFIG_RPCSEC_GSS_KRB5=y |
1138 | # CONFIG_SMB_FS is not set | 1265 | CONFIG_RPCSEC_GSS_SPKM3=m |
1139 | # CONFIG_CIFS is not set | 1266 | CONFIG_SMB_FS=m |
1267 | CONFIG_SMB_NLS_DEFAULT=y | ||
1268 | CONFIG_SMB_NLS_REMOTE="cp437" | ||
1269 | CONFIG_CIFS=m | ||
1270 | # CONFIG_CIFS_STATS is not set | ||
1271 | # CONFIG_CIFS_XATTR is not set | ||
1272 | # CONFIG_CIFS_EXPERIMENTAL is not set | ||
1140 | # CONFIG_NCP_FS is not set | 1273 | # CONFIG_NCP_FS is not set |
1141 | # CONFIG_CODA_FS is not set | 1274 | # CONFIG_CODA_FS is not set |
1142 | # CONFIG_AFS_FS is not set | 1275 | # CONFIG_AFS_FS is not set |
@@ -1153,50 +1286,50 @@ CONFIG_MSDOS_PARTITION=y | |||
1153 | # | 1286 | # |
1154 | CONFIG_NLS=y | 1287 | CONFIG_NLS=y |
1155 | CONFIG_NLS_DEFAULT="iso8859-1" | 1288 | CONFIG_NLS_DEFAULT="iso8859-1" |
1156 | # CONFIG_NLS_CODEPAGE_437 is not set | 1289 | CONFIG_NLS_CODEPAGE_437=y |
1157 | # CONFIG_NLS_CODEPAGE_737 is not set | 1290 | CONFIG_NLS_CODEPAGE_737=m |
1158 | # CONFIG_NLS_CODEPAGE_775 is not set | 1291 | CONFIG_NLS_CODEPAGE_775=m |
1159 | # CONFIG_NLS_CODEPAGE_850 is not set | 1292 | CONFIG_NLS_CODEPAGE_850=m |
1160 | # CONFIG_NLS_CODEPAGE_852 is not set | 1293 | CONFIG_NLS_CODEPAGE_852=m |
1161 | # CONFIG_NLS_CODEPAGE_855 is not set | 1294 | CONFIG_NLS_CODEPAGE_855=m |
1162 | # CONFIG_NLS_CODEPAGE_857 is not set | 1295 | CONFIG_NLS_CODEPAGE_857=m |
1163 | # CONFIG_NLS_CODEPAGE_860 is not set | 1296 | CONFIG_NLS_CODEPAGE_860=m |
1164 | # CONFIG_NLS_CODEPAGE_861 is not set | 1297 | CONFIG_NLS_CODEPAGE_861=m |
1165 | # CONFIG_NLS_CODEPAGE_862 is not set | 1298 | CONFIG_NLS_CODEPAGE_862=m |
1166 | # CONFIG_NLS_CODEPAGE_863 is not set | 1299 | CONFIG_NLS_CODEPAGE_863=m |
1167 | # CONFIG_NLS_CODEPAGE_864 is not set | 1300 | CONFIG_NLS_CODEPAGE_864=m |
1168 | # CONFIG_NLS_CODEPAGE_865 is not set | 1301 | CONFIG_NLS_CODEPAGE_865=m |
1169 | # CONFIG_NLS_CODEPAGE_866 is not set | 1302 | CONFIG_NLS_CODEPAGE_866=m |
1170 | # CONFIG_NLS_CODEPAGE_869 is not set | 1303 | CONFIG_NLS_CODEPAGE_869=m |
1171 | # CONFIG_NLS_CODEPAGE_936 is not set | 1304 | CONFIG_NLS_CODEPAGE_936=m |
1172 | # CONFIG_NLS_CODEPAGE_950 is not set | 1305 | CONFIG_NLS_CODEPAGE_950=m |
1173 | # CONFIG_NLS_CODEPAGE_932 is not set | 1306 | CONFIG_NLS_CODEPAGE_932=m |
1174 | # CONFIG_NLS_CODEPAGE_949 is not set | 1307 | CONFIG_NLS_CODEPAGE_949=m |
1175 | # CONFIG_NLS_CODEPAGE_874 is not set | 1308 | CONFIG_NLS_CODEPAGE_874=m |
1176 | # CONFIG_NLS_ISO8859_8 is not set | 1309 | CONFIG_NLS_ISO8859_8=m |
1177 | # CONFIG_NLS_CODEPAGE_1250 is not set | 1310 | CONFIG_NLS_CODEPAGE_1250=y |
1178 | # CONFIG_NLS_CODEPAGE_1251 is not set | 1311 | CONFIG_NLS_CODEPAGE_1251=m |
1179 | # CONFIG_NLS_ASCII is not set | 1312 | CONFIG_NLS_ASCII=m |
1180 | # CONFIG_NLS_ISO8859_1 is not set | 1313 | CONFIG_NLS_ISO8859_1=y |
1181 | # CONFIG_NLS_ISO8859_2 is not set | 1314 | CONFIG_NLS_ISO8859_2=m |
1182 | # CONFIG_NLS_ISO8859_3 is not set | 1315 | CONFIG_NLS_ISO8859_3=m |
1183 | # CONFIG_NLS_ISO8859_4 is not set | 1316 | CONFIG_NLS_ISO8859_4=m |
1184 | # CONFIG_NLS_ISO8859_5 is not set | 1317 | CONFIG_NLS_ISO8859_5=m |
1185 | # CONFIG_NLS_ISO8859_6 is not set | 1318 | CONFIG_NLS_ISO8859_6=m |
1186 | # CONFIG_NLS_ISO8859_7 is not set | 1319 | CONFIG_NLS_ISO8859_7=m |
1187 | # CONFIG_NLS_ISO8859_9 is not set | 1320 | CONFIG_NLS_ISO8859_9=m |
1188 | # CONFIG_NLS_ISO8859_13 is not set | 1321 | CONFIG_NLS_ISO8859_13=m |
1189 | # CONFIG_NLS_ISO8859_14 is not set | 1322 | CONFIG_NLS_ISO8859_14=m |
1190 | # CONFIG_NLS_ISO8859_15 is not set | 1323 | CONFIG_NLS_ISO8859_15=m |
1191 | # CONFIG_NLS_KOI8_R is not set | 1324 | CONFIG_NLS_KOI8_R=m |
1192 | # CONFIG_NLS_KOI8_U is not set | 1325 | CONFIG_NLS_KOI8_U=m |
1193 | # CONFIG_NLS_UTF8 is not set | 1326 | CONFIG_NLS_UTF8=y |
1194 | 1327 | ||
1195 | # | 1328 | # |
1196 | # Profiling support | 1329 | # Profiling support |
1197 | # | 1330 | # |
1198 | CONFIG_PROFILING=y | 1331 | CONFIG_PROFILING=y |
1199 | CONFIG_OPROFILE=y | 1332 | CONFIG_OPROFILE=m |
1200 | 1333 | ||
1201 | # | 1334 | # |
1202 | # Kernel hacking | 1335 | # Kernel hacking |
@@ -1204,7 +1337,7 @@ CONFIG_OPROFILE=y | |||
1204 | # CONFIG_PRINTK_TIME is not set | 1337 | # CONFIG_PRINTK_TIME is not set |
1205 | CONFIG_MAGIC_SYSRQ=y | 1338 | CONFIG_MAGIC_SYSRQ=y |
1206 | CONFIG_DEBUG_KERNEL=y | 1339 | CONFIG_DEBUG_KERNEL=y |
1207 | CONFIG_LOG_BUF_SHIFT=15 | 1340 | CONFIG_LOG_BUF_SHIFT=16 |
1208 | CONFIG_DETECT_SOFTLOCKUP=y | 1341 | CONFIG_DETECT_SOFTLOCKUP=y |
1209 | # CONFIG_SCHEDSTATS is not set | 1342 | # CONFIG_SCHEDSTATS is not set |
1210 | # CONFIG_DEBUG_SLAB is not set | 1343 | # CONFIG_DEBUG_SLAB is not set |
@@ -1217,42 +1350,43 @@ CONFIG_DEBUG_MUTEXES=y | |||
1217 | # CONFIG_DEBUG_VM is not set | 1350 | # CONFIG_DEBUG_VM is not set |
1218 | CONFIG_FORCED_INLINING=y | 1351 | CONFIG_FORCED_INLINING=y |
1219 | # CONFIG_RCU_TORTURE_TEST is not set | 1352 | # CONFIG_RCU_TORTURE_TEST is not set |
1220 | CONFIG_DEBUG_RODATA=y | 1353 | # CONFIG_DEBUG_RODATA is not set |
1221 | 1354 | ||
1222 | # | 1355 | # |
1223 | # Security options | 1356 | # Security options |
1224 | # | 1357 | # |
1225 | # CONFIG_KEYS is not set | 1358 | CONFIG_KEYS=y |
1359 | CONFIG_KEYS_DEBUG_PROC_KEYS=y | ||
1226 | # CONFIG_SECURITY is not set | 1360 | # CONFIG_SECURITY is not set |
1227 | 1361 | ||
1228 | # | 1362 | # |
1229 | # Cryptographic options | 1363 | # Cryptographic options |
1230 | # | 1364 | # |
1231 | CONFIG_CRYPTO=y | 1365 | CONFIG_CRYPTO=y |
1232 | # CONFIG_CRYPTO_HMAC is not set | 1366 | CONFIG_CRYPTO_HMAC=y |
1233 | # CONFIG_CRYPTO_NULL is not set | 1367 | CONFIG_CRYPTO_NULL=m |
1234 | # CONFIG_CRYPTO_MD4 is not set | 1368 | CONFIG_CRYPTO_MD4=m |
1235 | # CONFIG_CRYPTO_MD5 is not set | 1369 | CONFIG_CRYPTO_MD5=y |
1236 | # CONFIG_CRYPTO_SHA1 is not set | 1370 | CONFIG_CRYPTO_SHA1=y |
1237 | # CONFIG_CRYPTO_SHA256 is not set | 1371 | CONFIG_CRYPTO_SHA256=m |
1238 | # CONFIG_CRYPTO_SHA512 is not set | 1372 | CONFIG_CRYPTO_SHA512=m |
1239 | # CONFIG_CRYPTO_WP512 is not set | 1373 | CONFIG_CRYPTO_WP512=m |
1240 | # CONFIG_CRYPTO_TGR192 is not set | 1374 | CONFIG_CRYPTO_TGR192=m |
1241 | # CONFIG_CRYPTO_DES is not set | 1375 | CONFIG_CRYPTO_DES=y |
1242 | # CONFIG_CRYPTO_BLOWFISH is not set | 1376 | CONFIG_CRYPTO_BLOWFISH=m |
1243 | # CONFIG_CRYPTO_TWOFISH is not set | 1377 | CONFIG_CRYPTO_TWOFISH=m |
1244 | # CONFIG_CRYPTO_SERPENT is not set | 1378 | CONFIG_CRYPTO_SERPENT=m |
1245 | # CONFIG_CRYPTO_AES is not set | 1379 | CONFIG_CRYPTO_AES=m |
1246 | # CONFIG_CRYPTO_CAST5 is not set | 1380 | CONFIG_CRYPTO_CAST5=m |
1247 | # CONFIG_CRYPTO_CAST6 is not set | 1381 | CONFIG_CRYPTO_CAST6=m |
1248 | # CONFIG_CRYPTO_TEA is not set | 1382 | CONFIG_CRYPTO_TEA=m |
1249 | # CONFIG_CRYPTO_ARC4 is not set | 1383 | CONFIG_CRYPTO_ARC4=m |
1250 | # CONFIG_CRYPTO_KHAZAD is not set | 1384 | CONFIG_CRYPTO_KHAZAD=m |
1251 | # CONFIG_CRYPTO_ANUBIS is not set | 1385 | CONFIG_CRYPTO_ANUBIS=m |
1252 | # CONFIG_CRYPTO_DEFLATE is not set | 1386 | CONFIG_CRYPTO_DEFLATE=y |
1253 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1387 | CONFIG_CRYPTO_MICHAEL_MIC=m |
1254 | # CONFIG_CRYPTO_CRC32C is not set | 1388 | CONFIG_CRYPTO_CRC32C=m |
1255 | # CONFIG_CRYPTO_TEST is not set | 1389 | CONFIG_CRYPTO_TEST=m |
1256 | 1390 | ||
1257 | # | 1391 | # |
1258 | # Hardware crypto devices | 1392 | # Hardware crypto devices |
@@ -1261,7 +1395,9 @@ CONFIG_CRYPTO=y | |||
1261 | # | 1395 | # |
1262 | # Library routines | 1396 | # Library routines |
1263 | # | 1397 | # |
1264 | # CONFIG_CRC_CCITT is not set | 1398 | CONFIG_CRC_CCITT=m |
1265 | # CONFIG_CRC16 is not set | 1399 | # CONFIG_CRC16 is not set |
1266 | CONFIG_CRC32=y | 1400 | CONFIG_CRC32=y |
1267 | # CONFIG_LIBCRC32C is not set | 1401 | CONFIG_LIBCRC32C=m |
1402 | CONFIG_ZLIB_INFLATE=y | ||
1403 | CONFIG_ZLIB_DEFLATE=y | ||
diff --git a/arch/parisc/kernel/asm-offsets.c b/arch/parisc/kernel/asm-offsets.c index e23c4e1e3a25..c11a5bc7c067 100644 --- a/arch/parisc/kernel/asm-offsets.c +++ b/arch/parisc/kernel/asm-offsets.c | |||
@@ -288,8 +288,11 @@ int main(void) | |||
288 | DEFINE(ASM_PGD_ENTRY_SIZE, PGD_ENTRY_SIZE); | 288 | DEFINE(ASM_PGD_ENTRY_SIZE, PGD_ENTRY_SIZE); |
289 | DEFINE(ASM_PMD_ENTRY_SIZE, PMD_ENTRY_SIZE); | 289 | DEFINE(ASM_PMD_ENTRY_SIZE, PMD_ENTRY_SIZE); |
290 | DEFINE(ASM_PTE_ENTRY_SIZE, PTE_ENTRY_SIZE); | 290 | DEFINE(ASM_PTE_ENTRY_SIZE, PTE_ENTRY_SIZE); |
291 | DEFINE(ASM_PFN_PTE_SHIFT, PFN_PTE_SHIFT); | ||
291 | DEFINE(ASM_PT_INITIAL, PT_INITIAL); | 292 | DEFINE(ASM_PT_INITIAL, PT_INITIAL); |
292 | DEFINE(ASM_PAGE_SIZE, PAGE_SIZE); | 293 | DEFINE(ASM_PAGE_SIZE, PAGE_SIZE); |
294 | DEFINE(ASM_PAGE_SIZE_DIV64, PAGE_SIZE/64); | ||
295 | DEFINE(ASM_PAGE_SIZE_DIV128, PAGE_SIZE/128); | ||
293 | BLANK(); | 296 | BLANK(); |
294 | DEFINE(EXCDATA_IP, offsetof(struct exception_data, fault_ip)); | 297 | DEFINE(EXCDATA_IP, offsetof(struct exception_data, fault_ip)); |
295 | DEFINE(EXCDATA_SPACE, offsetof(struct exception_data, fault_space)); | 298 | DEFINE(EXCDATA_SPACE, offsetof(struct exception_data, fault_space)); |
diff --git a/arch/parisc/kernel/cache.c b/arch/parisc/kernel/cache.c index 360b7391cb8c..c057ad7605ba 100644 --- a/arch/parisc/kernel/cache.c +++ b/arch/parisc/kernel/cache.c | |||
@@ -4,7 +4,7 @@ | |||
4 | * License. See the file "COPYING" in the main directory of this archive | 4 | * License. See the file "COPYING" in the main directory of this archive |
5 | * for more details. | 5 | * for more details. |
6 | * | 6 | * |
7 | * Copyright (C) 1999 Helge Deller (07-13-1999) | 7 | * Copyright (C) 1999-2006 Helge Deller <deller@gmx.de> (07-13-1999) |
8 | * Copyright (C) 1999 SuSE GmbH Nuernberg | 8 | * Copyright (C) 1999 SuSE GmbH Nuernberg |
9 | * Copyright (C) 2000 Philipp Rumpf (prumpf@tux.org) | 9 | * Copyright (C) 2000 Philipp Rumpf (prumpf@tux.org) |
10 | * | 10 | * |
@@ -358,5 +358,5 @@ void parisc_setup_cache_timing(void) | |||
358 | if (!parisc_cache_flush_threshold) | 358 | if (!parisc_cache_flush_threshold) |
359 | parisc_cache_flush_threshold = FLUSH_THRESHOLD; | 359 | parisc_cache_flush_threshold = FLUSH_THRESHOLD; |
360 | 360 | ||
361 | printk("Setting cache flush threshold to %x (%d CPUs online)\n", parisc_cache_flush_threshold, num_online_cpus()); | 361 | printk(KERN_INFO "Setting cache flush threshold to %x (%d CPUs online)\n", parisc_cache_flush_threshold, num_online_cpus()); |
362 | } | 362 | } |
diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S index 7c95d7663c29..d9e53cf0372b 100644 --- a/arch/parisc/kernel/entry.S +++ b/arch/parisc/kernel/entry.S | |||
@@ -502,18 +502,20 @@ | |||
502 | * all ILP32 processes and all the kernel for machines with | 502 | * all ILP32 processes and all the kernel for machines with |
503 | * under 4GB of memory) */ | 503 | * under 4GB of memory) */ |
504 | .macro L3_ptep pgd,pte,index,va,fault | 504 | .macro L3_ptep pgd,pte,index,va,fault |
505 | #if PT_NLEVELS == 3 /* we might have a 2-Level scheme, e.g. with 16kb page size */ | ||
505 | extrd,u \va,63-ASM_PGDIR_SHIFT,ASM_BITS_PER_PGD,\index | 506 | extrd,u \va,63-ASM_PGDIR_SHIFT,ASM_BITS_PER_PGD,\index |
506 | copy %r0,\pte | 507 | copy %r0,\pte |
507 | extrd,u,*= \va,31,32,%r0 | 508 | extrd,u,*= \va,63-ASM_PGDIR_SHIFT,64-ASM_PGDIR_SHIFT,%r0 |
508 | ldw,s \index(\pgd),\pgd | 509 | ldw,s \index(\pgd),\pgd |
509 | extrd,u,*= \va,31,32,%r0 | 510 | extrd,u,*= \va,63-ASM_PGDIR_SHIFT,64-ASM_PGDIR_SHIFT,%r0 |
510 | bb,>=,n \pgd,_PxD_PRESENT_BIT,\fault | 511 | bb,>=,n \pgd,_PxD_PRESENT_BIT,\fault |
511 | extrd,u,*= \va,31,32,%r0 | 512 | extrd,u,*= \va,63-ASM_PGDIR_SHIFT,64-ASM_PGDIR_SHIFT,%r0 |
512 | shld \pgd,PxD_VALUE_SHIFT,\index | 513 | shld \pgd,PxD_VALUE_SHIFT,\index |
513 | extrd,u,*= \va,31,32,%r0 | 514 | extrd,u,*= \va,63-ASM_PGDIR_SHIFT,64-ASM_PGDIR_SHIFT,%r0 |
514 | copy \index,\pgd | 515 | copy \index,\pgd |
515 | extrd,u,*<> \va,31,32,%r0 | 516 | extrd,u,*<> \va,63-ASM_PGDIR_SHIFT,64-ASM_PGDIR_SHIFT,%r0 |
516 | ldo ASM_PGD_PMD_OFFSET(\pgd),\pgd | 517 | ldo ASM_PGD_PMD_OFFSET(\pgd),\pgd |
518 | #endif | ||
517 | L2_ptep \pgd,\pte,\index,\va,\fault | 519 | L2_ptep \pgd,\pte,\index,\va,\fault |
518 | .endm | 520 | .endm |
519 | 521 | ||
@@ -563,10 +565,18 @@ | |||
563 | extrd,u,*= \pte,_PAGE_GATEWAY_BIT+32,1,%r0 | 565 | extrd,u,*= \pte,_PAGE_GATEWAY_BIT+32,1,%r0 |
564 | depd %r0,11,2,\prot /* If Gateway, Set PL2 to 0 */ | 566 | depd %r0,11,2,\prot /* If Gateway, Set PL2 to 0 */ |
565 | 567 | ||
566 | /* Get rid of prot bits and convert to page addr for iitlbt and idtlbt */ | 568 | /* Enforce uncacheable pages. |
569 | * This should ONLY be use for MMIO on PA 2.0 machines. | ||
570 | * Memory/DMA is cache coherent on all PA2.0 machines we support | ||
571 | * (that means T-class is NOT supported) and the memory controllers | ||
572 | * on most of those machines only handles cache transactions. | ||
573 | */ | ||
574 | extrd,u,*= \pte,_PAGE_NO_CACHE_BIT+32,1,%r0 | ||
575 | depi 1,12,1,\prot | ||
567 | 576 | ||
568 | depd %r0,63,PAGE_SHIFT,\pte | 577 | /* Drop prot bits and convert to page addr for iitlbt and idtlbt */ |
569 | extrd,s \pte,(63-PAGE_SHIFT)+(63-58),64-PAGE_SHIFT,\pte | 578 | extrd,u \pte,(63-ASM_PFN_PTE_SHIFT)+(63-58),64-PAGE_SHIFT,\pte |
579 | depdi _PAGE_SIZE_ENCODING_DEFAULT,63,63-58,\pte | ||
570 | .endm | 580 | .endm |
571 | 581 | ||
572 | /* Identical macro to make_insert_tlb above, except it | 582 | /* Identical macro to make_insert_tlb above, except it |
@@ -584,9 +594,8 @@ | |||
584 | 594 | ||
585 | /* Get rid of prot bits and convert to page addr for iitlba */ | 595 | /* Get rid of prot bits and convert to page addr for iitlba */ |
586 | 596 | ||
587 | depi 0,31,PAGE_SHIFT,\pte | 597 | depi _PAGE_SIZE_ENCODING_DEFAULT,31,ASM_PFN_PTE_SHIFT,\pte |
588 | extru \pte,24,25,\pte | 598 | extru \pte,24,25,\pte |
589 | |||
590 | .endm | 599 | .endm |
591 | 600 | ||
592 | /* This is for ILP32 PA2.0 only. The TLB insertion needs | 601 | /* This is for ILP32 PA2.0 only. The TLB insertion needs |
@@ -1201,10 +1210,9 @@ intr_save: | |||
1201 | */ | 1210 | */ |
1202 | 1211 | ||
1203 | /* adjust isr/ior. */ | 1212 | /* adjust isr/ior. */ |
1204 | 1213 | extrd,u %r16,63,SPACEID_SHIFT,%r1 /* get high bits from isr for ior */ | |
1205 | extrd,u %r16,63,7,%r1 /* get high bits from isr for ior */ | 1214 | depd %r1,31,SPACEID_SHIFT,%r17 /* deposit them into ior */ |
1206 | depd %r1,31,7,%r17 /* deposit them into ior */ | 1215 | depdi 0,63,SPACEID_SHIFT,%r16 /* clear them from isr */ |
1207 | depdi 0,63,7,%r16 /* clear them from isr */ | ||
1208 | #endif | 1216 | #endif |
1209 | STREG %r16, PT_ISR(%r29) | 1217 | STREG %r16, PT_ISR(%r29) |
1210 | STREG %r17, PT_IOR(%r29) | 1218 | STREG %r17, PT_IOR(%r29) |
diff --git a/arch/parisc/kernel/head.S b/arch/parisc/kernel/head.S index 0b47afc20690..3e79e62f7b0b 100644 --- a/arch/parisc/kernel/head.S +++ b/arch/parisc/kernel/head.S | |||
@@ -76,16 +76,16 @@ $bss_loop: | |||
76 | mtctl %r4,%cr24 /* Initialize kernel root pointer */ | 76 | mtctl %r4,%cr24 /* Initialize kernel root pointer */ |
77 | mtctl %r4,%cr25 /* Initialize user root pointer */ | 77 | mtctl %r4,%cr25 /* Initialize user root pointer */ |
78 | 78 | ||
79 | #ifdef CONFIG_64BIT | 79 | #if PT_NLEVELS == 3 |
80 | /* Set pmd in pgd */ | 80 | /* Set pmd in pgd */ |
81 | load32 PA(pmd0),%r5 | 81 | load32 PA(pmd0),%r5 |
82 | shrd %r5,PxD_VALUE_SHIFT,%r3 | 82 | shrd %r5,PxD_VALUE_SHIFT,%r3 |
83 | ldo (PxD_FLAG_PRESENT+PxD_FLAG_VALID)(%r3),%r3 | 83 | ldo (PxD_FLAG_PRESENT+PxD_FLAG_VALID)(%r3),%r3 |
84 | stw %r3,ASM_PGD_ENTRY*ASM_PGD_ENTRY_SIZE(%r4) | 84 | stw %r3,ASM_PGD_ENTRY*ASM_PGD_ENTRY_SIZE(%r4) |
85 | ldo ASM_PMD_ENTRY*ASM_PMD_ENTRY_SIZE(%r5),%r4 | 85 | ldo ASM_PMD_ENTRY*ASM_PMD_ENTRY_SIZE(%r5),%r4 |
86 | #else | 86 | #else |
87 | /* 2-level page table, so pmd == pgd */ | 87 | /* 2-level page table, so pmd == pgd */ |
88 | ldo ASM_PGD_ENTRY*ASM_PGD_ENTRY_SIZE(%r4),%r4 | 88 | ldo ASM_PGD_ENTRY*ASM_PGD_ENTRY_SIZE(%r4),%r4 |
89 | #endif | 89 | #endif |
90 | 90 | ||
91 | /* Fill in pmd with enough pte directories */ | 91 | /* Fill in pmd with enough pte directories */ |
@@ -99,7 +99,7 @@ $bss_loop: | |||
99 | stw %r3,0(%r4) | 99 | stw %r3,0(%r4) |
100 | ldo (ASM_PAGE_SIZE >> PxD_VALUE_SHIFT)(%r3),%r3 | 100 | ldo (ASM_PAGE_SIZE >> PxD_VALUE_SHIFT)(%r3),%r3 |
101 | addib,> -1,%r1,1b | 101 | addib,> -1,%r1,1b |
102 | #ifdef CONFIG_64BIT | 102 | #if PT_NLEVELS == 3 |
103 | ldo ASM_PMD_ENTRY_SIZE(%r4),%r4 | 103 | ldo ASM_PMD_ENTRY_SIZE(%r4),%r4 |
104 | #else | 104 | #else |
105 | ldo ASM_PGD_ENTRY_SIZE(%r4),%r4 | 105 | ldo ASM_PGD_ENTRY_SIZE(%r4),%r4 |
@@ -107,13 +107,14 @@ $bss_loop: | |||
107 | 107 | ||
108 | 108 | ||
109 | /* Now initialize the PTEs themselves */ | 109 | /* Now initialize the PTEs themselves */ |
110 | ldo _PAGE_KERNEL(%r0),%r3 /* Hardwired 0 phys addr start */ | 110 | ldo 0+_PAGE_KERNEL(%r0),%r3 /* Hardwired 0 phys addr start */ |
111 | ldi (1<<(KERNEL_INITIAL_ORDER-PAGE_SHIFT)),%r11 /* PFN count */ | ||
111 | load32 PA(pg0),%r1 | 112 | load32 PA(pg0),%r1 |
112 | 113 | ||
113 | $pgt_fill_loop: | 114 | $pgt_fill_loop: |
114 | STREGM %r3,ASM_PTE_ENTRY_SIZE(%r1) | 115 | STREGM %r3,ASM_PTE_ENTRY_SIZE(%r1) |
115 | ldo ASM_PAGE_SIZE(%r3),%r3 | 116 | ldo (1<<PFN_PTE_SHIFT)(%r3),%r3 /* add one PFN */ |
116 | bb,>= %r3,31-KERNEL_INITIAL_ORDER,$pgt_fill_loop | 117 | addib,> -1,%r11,$pgt_fill_loop |
117 | nop | 118 | nop |
118 | 119 | ||
119 | /* Load the return address...er...crash 'n burn */ | 120 | /* Load the return address...er...crash 'n burn */ |
diff --git a/arch/parisc/kernel/init_task.c b/arch/parisc/kernel/init_task.c index 7e898fd64415..8384bf9cecd2 100644 --- a/arch/parisc/kernel/init_task.c +++ b/arch/parisc/kernel/init_task.c | |||
@@ -53,17 +53,17 @@ union thread_union init_thread_union | |||
53 | __attribute__((aligned(128))) __attribute__((__section__(".data.init_task"))) = | 53 | __attribute__((aligned(128))) __attribute__((__section__(".data.init_task"))) = |
54 | { INIT_THREAD_INFO(init_task) }; | 54 | { INIT_THREAD_INFO(init_task) }; |
55 | 55 | ||
56 | #ifdef __LP64__ | 56 | #if PT_NLEVELS == 3 |
57 | /* NOTE: This layout exactly conforms to the hybrid L2/L3 page table layout | 57 | /* NOTE: This layout exactly conforms to the hybrid L2/L3 page table layout |
58 | * with the first pmd adjacent to the pgd and below it. gcc doesn't actually | 58 | * with the first pmd adjacent to the pgd and below it. gcc doesn't actually |
59 | * guarantee that global objects will be laid out in memory in the same order | 59 | * guarantee that global objects will be laid out in memory in the same order |
60 | * as the order of declaration, so put these in different sections and use | 60 | * as the order of declaration, so put these in different sections and use |
61 | * the linker script to order them. */ | 61 | * the linker script to order them. */ |
62 | pmd_t pmd0[PTRS_PER_PMD] __attribute__ ((aligned(PAGE_SIZE))) __attribute__ ((__section__ (".data.vm0.pmd"))) = { {0}, }; | 62 | pmd_t pmd0[PTRS_PER_PMD] __attribute__ ((__section__ (".data.vm0.pmd"), aligned(PAGE_SIZE))); |
63 | |||
64 | #endif | 63 | #endif |
65 | pgd_t swapper_pg_dir[PTRS_PER_PGD] __attribute__ ((aligned(PAGE_SIZE))) __attribute__ ((__section__ (".data.vm0.pgd"))) = { {0}, }; | 64 | |
66 | pte_t pg0[PT_INITIAL * PTRS_PER_PTE] __attribute__ ((aligned(PAGE_SIZE))) __attribute__ ((__section__ (".data.vm0.pte"))) = { {0}, }; | 65 | pgd_t swapper_pg_dir[PTRS_PER_PGD] __attribute__ ((__section__ (".data.vm0.pgd"), aligned(PAGE_SIZE))); |
66 | pte_t pg0[PT_INITIAL * PTRS_PER_PTE] __attribute__ ((__section__ (".data.vm0.pte"), aligned(PAGE_SIZE))); | ||
67 | 67 | ||
68 | /* | 68 | /* |
69 | * Initial task structure. | 69 | * Initial task structure. |
diff --git a/arch/parisc/kernel/pacache.S b/arch/parisc/kernel/pacache.S index 7a4f07e8d3c3..f600556414d1 100644 --- a/arch/parisc/kernel/pacache.S +++ b/arch/parisc/kernel/pacache.S | |||
@@ -65,7 +65,7 @@ flush_tlb_all_local: | |||
65 | */ | 65 | */ |
66 | 66 | ||
67 | /* pcxt_ssm_bug - relied upon translation! PA 2.0 Arch. F-4 and F-5 */ | 67 | /* pcxt_ssm_bug - relied upon translation! PA 2.0 Arch. F-4 and F-5 */ |
68 | rsm PSW_SM_I, %r19 /* save I-bit state */ | 68 | rsm PSW_SM_I, %r19 /* save I-bit state */ |
69 | load32 PA(1f), %r1 | 69 | load32 PA(1f), %r1 |
70 | nop | 70 | nop |
71 | nop | 71 | nop |
@@ -84,8 +84,7 @@ flush_tlb_all_local: | |||
84 | rfi | 84 | rfi |
85 | nop | 85 | nop |
86 | 86 | ||
87 | 1: ldil L%PA(cache_info), %r1 | 87 | 1: load32 PA(cache_info), %r1 |
88 | ldo R%PA(cache_info)(%r1), %r1 | ||
89 | 88 | ||
90 | /* Flush Instruction Tlb */ | 89 | /* Flush Instruction Tlb */ |
91 | 90 | ||
@@ -212,8 +211,7 @@ flush_instruction_cache_local: | |||
212 | .entry | 211 | .entry |
213 | 212 | ||
214 | mtsp %r0, %sr1 | 213 | mtsp %r0, %sr1 |
215 | ldil L%cache_info, %r1 | 214 | load32 cache_info, %r1 |
216 | ldo R%cache_info(%r1), %r1 | ||
217 | 215 | ||
218 | /* Flush Instruction Cache */ | 216 | /* Flush Instruction Cache */ |
219 | 217 | ||
@@ -254,8 +252,7 @@ flush_data_cache_local: | |||
254 | .entry | 252 | .entry |
255 | 253 | ||
256 | mtsp %r0, %sr1 | 254 | mtsp %r0, %sr1 |
257 | ldil L%cache_info, %r1 | 255 | load32 cache_info, %r1 |
258 | ldo R%cache_info(%r1), %r1 | ||
259 | 256 | ||
260 | /* Flush Data Cache */ | 257 | /* Flush Data Cache */ |
261 | 258 | ||
@@ -303,7 +300,8 @@ copy_user_page_asm: | |||
303 | */ | 300 | */ |
304 | 301 | ||
305 | ldd 0(%r25), %r19 | 302 | ldd 0(%r25), %r19 |
306 | ldi 32, %r1 /* PAGE_SIZE/128 == 32 */ | 303 | ldi ASM_PAGE_SIZE_DIV128, %r1 |
304 | |||
307 | ldw 64(%r25), %r0 /* prefetch 1 cacheline ahead */ | 305 | ldw 64(%r25), %r0 /* prefetch 1 cacheline ahead */ |
308 | ldw 128(%r25), %r0 /* prefetch 2 */ | 306 | ldw 128(%r25), %r0 /* prefetch 2 */ |
309 | 307 | ||
@@ -368,7 +366,7 @@ copy_user_page_asm: | |||
368 | * use ldd/std on a 32 bit kernel. | 366 | * use ldd/std on a 32 bit kernel. |
369 | */ | 367 | */ |
370 | ldw 0(%r25), %r19 | 368 | ldw 0(%r25), %r19 |
371 | ldi 64, %r1 /* PAGE_SIZE/64 == 64 */ | 369 | ldi ASM_PAGE_SIZE_DIV64, %r1 |
372 | 370 | ||
373 | 1: | 371 | 1: |
374 | ldw 4(%r25), %r20 | 372 | ldw 4(%r25), %r20 |
@@ -461,6 +459,7 @@ copy_user_page_asm: | |||
461 | sub %r25, %r1, %r23 /* move physical addr into non shadowed reg */ | 459 | sub %r25, %r1, %r23 /* move physical addr into non shadowed reg */ |
462 | 460 | ||
463 | ldil L%(TMPALIAS_MAP_START), %r28 | 461 | ldil L%(TMPALIAS_MAP_START), %r28 |
462 | /* FIXME for different page sizes != 4k */ | ||
464 | #ifdef CONFIG_64BIT | 463 | #ifdef CONFIG_64BIT |
465 | extrd,u %r26,56,32, %r26 /* convert phys addr to tlb insert format */ | 464 | extrd,u %r26,56,32, %r26 /* convert phys addr to tlb insert format */ |
466 | extrd,u %r23,56,32, %r23 /* convert phys addr to tlb insert format */ | 465 | extrd,u %r23,56,32, %r23 /* convert phys addr to tlb insert format */ |
@@ -551,6 +550,7 @@ __clear_user_page_asm: | |||
551 | #ifdef CONFIG_64BIT | 550 | #ifdef CONFIG_64BIT |
552 | #if (TMPALIAS_MAP_START >= 0x80000000) | 551 | #if (TMPALIAS_MAP_START >= 0x80000000) |
553 | depdi 0, 31,32, %r28 /* clear any sign extension */ | 552 | depdi 0, 31,32, %r28 /* clear any sign extension */ |
553 | /* FIXME: page size dependend */ | ||
554 | #endif | 554 | #endif |
555 | extrd,u %r26, 56,32, %r26 /* convert phys addr to tlb insert format */ | 555 | extrd,u %r26, 56,32, %r26 /* convert phys addr to tlb insert format */ |
556 | depd %r25, 63,22, %r28 /* Form aliased virtual address 'to' */ | 556 | depd %r25, 63,22, %r28 /* Form aliased virtual address 'to' */ |
@@ -566,10 +566,10 @@ __clear_user_page_asm: | |||
566 | pdtlb 0(%r28) | 566 | pdtlb 0(%r28) |
567 | 567 | ||
568 | #ifdef CONFIG_64BIT | 568 | #ifdef CONFIG_64BIT |
569 | ldi 32, %r1 /* PAGE_SIZE/128 == 32 */ | 569 | ldi ASM_PAGE_SIZE_DIV128, %r1 |
570 | 570 | ||
571 | /* PREFETCH (Write) has not (yet) been proven to help here */ | 571 | /* PREFETCH (Write) has not (yet) been proven to help here */ |
572 | /* #define PREFETCHW_OP ldd 256(%0), %r0 */ | 572 | /* #define PREFETCHW_OP ldd 256(%0), %r0 */ |
573 | 573 | ||
574 | 1: std %r0, 0(%r28) | 574 | 1: std %r0, 0(%r28) |
575 | std %r0, 8(%r28) | 575 | std %r0, 8(%r28) |
@@ -591,8 +591,7 @@ __clear_user_page_asm: | |||
591 | ldo 128(%r28), %r28 | 591 | ldo 128(%r28), %r28 |
592 | 592 | ||
593 | #else /* ! CONFIG_64BIT */ | 593 | #else /* ! CONFIG_64BIT */ |
594 | 594 | ldi ASM_PAGE_SIZE_DIV64, %r1 | |
595 | ldi 64, %r1 /* PAGE_SIZE/64 == 64 */ | ||
596 | 595 | ||
597 | 1: | 596 | 1: |
598 | stw %r0, 0(%r28) | 597 | stw %r0, 0(%r28) |
diff --git a/arch/parisc/kernel/sys_parisc.c b/arch/parisc/kernel/sys_parisc.c index d15a1d53e101..8b5df98e2b31 100644 --- a/arch/parisc/kernel/sys_parisc.c +++ b/arch/parisc/kernel/sys_parisc.c | |||
@@ -231,6 +231,14 @@ asmlinkage long parisc_fadvise64_64(int fd, | |||
231 | (loff_t)high_len << 32 | low_len, advice); | 231 | (loff_t)high_len << 32 | low_len, advice); |
232 | } | 232 | } |
233 | 233 | ||
234 | asmlinkage long parisc_sync_file_range(int fd, | ||
235 | u32 hi_off, u32 lo_off, u32 hi_nbytes, u32 lo_nbytes, | ||
236 | unsigned int flags) | ||
237 | { | ||
238 | return sys_sync_file_range(fd, (loff_t)hi_off << 32 | lo_off, | ||
239 | (loff_t)hi_nbytes << 32 | lo_nbytes, flags); | ||
240 | } | ||
241 | |||
234 | asmlinkage unsigned long sys_alloc_hugepages(int key, unsigned long addr, unsigned long len, int prot, int flag) | 242 | asmlinkage unsigned long sys_alloc_hugepages(int key, unsigned long addr, unsigned long len, int prot, int flag) |
235 | { | 243 | { |
236 | return -ENOMEM; | 244 | return -ENOMEM; |
diff --git a/arch/parisc/kernel/syscall.S b/arch/parisc/kernel/syscall.S index af88afef41bd..479d9a017cd1 100644 --- a/arch/parisc/kernel/syscall.S +++ b/arch/parisc/kernel/syscall.S | |||
@@ -55,7 +55,7 @@ | |||
55 | * pointers. | 55 | * pointers. |
56 | */ | 56 | */ |
57 | 57 | ||
58 | .align 4096 | 58 | .align ASM_PAGE_SIZE |
59 | linux_gateway_page: | 59 | linux_gateway_page: |
60 | 60 | ||
61 | /* ADDRESS 0x00 to 0xb0 = 176 bytes / 4 bytes per insn = 44 insns */ | 61 | /* ADDRESS 0x00 to 0xb0 = 176 bytes / 4 bytes per insn = 44 insns */ |
@@ -632,7 +632,7 @@ cas_action: | |||
632 | end_compare_and_swap: | 632 | end_compare_and_swap: |
633 | 633 | ||
634 | /* Make sure nothing else is placed on this page */ | 634 | /* Make sure nothing else is placed on this page */ |
635 | .align 4096 | 635 | .align ASM_PAGE_SIZE |
636 | .export end_linux_gateway_page | 636 | .export end_linux_gateway_page |
637 | end_linux_gateway_page: | 637 | end_linux_gateway_page: |
638 | 638 | ||
@@ -652,7 +652,7 @@ end_linux_gateway_page: | |||
652 | 652 | ||
653 | .section .rodata,"a" | 653 | .section .rodata,"a" |
654 | 654 | ||
655 | .align 4096 | 655 | .align ASM_PAGE_SIZE |
656 | /* Light-weight-syscall table */ | 656 | /* Light-weight-syscall table */ |
657 | /* Start of lws table. */ | 657 | /* Start of lws table. */ |
658 | .export lws_table | 658 | .export lws_table |
@@ -662,14 +662,14 @@ lws_table: | |||
662 | LWS_ENTRY(compare_and_swap64) /* 1 - ELF64 Atomic compare and swap */ | 662 | LWS_ENTRY(compare_and_swap64) /* 1 - ELF64 Atomic compare and swap */ |
663 | /* End of lws table */ | 663 | /* End of lws table */ |
664 | 664 | ||
665 | .align 4096 | 665 | .align ASM_PAGE_SIZE |
666 | .export sys_call_table | 666 | .export sys_call_table |
667 | .Lsys_call_table: | 667 | .Lsys_call_table: |
668 | sys_call_table: | 668 | sys_call_table: |
669 | #include "syscall_table.S" | 669 | #include "syscall_table.S" |
670 | 670 | ||
671 | #ifdef CONFIG_64BIT | 671 | #ifdef CONFIG_64BIT |
672 | .align 4096 | 672 | .align ASM_PAGE_SIZE |
673 | .export sys_call_table64 | 673 | .export sys_call_table64 |
674 | .Lsys_call_table64: | 674 | .Lsys_call_table64: |
675 | sys_call_table64: | 675 | sys_call_table64: |
diff --git a/arch/parisc/kernel/syscall_table.S b/arch/parisc/kernel/syscall_table.S index bbeeb614cfab..e27b432f90a8 100644 --- a/arch/parisc/kernel/syscall_table.S +++ b/arch/parisc/kernel/syscall_table.S | |||
@@ -13,7 +13,7 @@ | |||
13 | * Copyright (C) 2001 Helge Deller <deller at parisc-linux.org> | 13 | * Copyright (C) 2001 Helge Deller <deller at parisc-linux.org> |
14 | * Copyright (C) 2000-2001 Thomas Bogendoerfer <tsbogend at parisc-linux.org> | 14 | * Copyright (C) 2000-2001 Thomas Bogendoerfer <tsbogend at parisc-linux.org> |
15 | * Copyright (C) 2002 Randolph Chung <tausq with parisc-linux.org> | 15 | * Copyright (C) 2002 Randolph Chung <tausq with parisc-linux.org> |
16 | * | 16 | * Copyright (C) 2005-2006 Kyle McMartin <kyle at parisc-linux.org> |
17 | * | 17 | * |
18 | * This program is free software; you can redistribute it and/or modify | 18 | * This program is free software; you can redistribute it and/or modify |
19 | * it under the terms of the GNU General Public License as published by | 19 | * it under the terms of the GNU General Public License as published by |
@@ -393,5 +393,11 @@ | |||
393 | ENTRY_SAME(readlinkat) /* 285 */ | 393 | ENTRY_SAME(readlinkat) /* 285 */ |
394 | ENTRY_SAME(fchmodat) | 394 | ENTRY_SAME(fchmodat) |
395 | ENTRY_SAME(faccessat) | 395 | ENTRY_SAME(faccessat) |
396 | ENTRY_SAME(unshare) | ||
397 | ENTRY_COMP(set_robust_list) | ||
398 | ENTRY_COMP(get_robust_list) /* 290 */ | ||
399 | ENTRY_SAME(splice) | ||
400 | ENTRY_OURS(sync_file_range) | ||
401 | ENTRY_SAME(tee) | ||
396 | /* Nothing yet */ | 402 | /* Nothing yet */ |
397 | 403 | ||
diff --git a/arch/parisc/kernel/vmlinux.lds.S b/arch/parisc/kernel/vmlinux.lds.S index 6d6436a6b624..94dcc03a28ed 100644 --- a/arch/parisc/kernel/vmlinux.lds.S +++ b/arch/parisc/kernel/vmlinux.lds.S | |||
@@ -6,6 +6,7 @@ | |||
6 | * Copyright (C) 2000 Michael Ang <mang with subcarrier.org> | 6 | * Copyright (C) 2000 Michael Ang <mang with subcarrier.org> |
7 | * Copyright (C) 2002 Randolph Chung <tausq with parisc-linux.org> | 7 | * Copyright (C) 2002 Randolph Chung <tausq with parisc-linux.org> |
8 | * Copyright (C) 2003 James Bottomley <jejb with parisc-linux.org> | 8 | * Copyright (C) 2003 James Bottomley <jejb with parisc-linux.org> |
9 | * Copyright (C) 2006 Helge Deller <deller@gmx.de> | ||
9 | * | 10 | * |
10 | * | 11 | * |
11 | * This program is free software; you can redistribute it and/or modify | 12 | * This program is free software; you can redistribute it and/or modify |
@@ -27,6 +28,7 @@ | |||
27 | /* needed for the processor specific cache alignment size */ | 28 | /* needed for the processor specific cache alignment size */ |
28 | #include <asm/cache.h> | 29 | #include <asm/cache.h> |
29 | #include <asm/page.h> | 30 | #include <asm/page.h> |
31 | #include <asm/asm-offsets.h> | ||
30 | 32 | ||
31 | /* ld script to make hppa Linux kernel */ | 33 | /* ld script to make hppa Linux kernel */ |
32 | #ifndef CONFIG_64BIT | 34 | #ifndef CONFIG_64BIT |
@@ -68,7 +70,7 @@ SECTIONS | |||
68 | RODATA | 70 | RODATA |
69 | 71 | ||
70 | /* writeable */ | 72 | /* writeable */ |
71 | . = ALIGN(4096); /* Make sure this is page aligned so | 73 | . = ALIGN(ASM_PAGE_SIZE); /* Make sure this is page aligned so |
72 | that we can properly leave these | 74 | that we can properly leave these |
73 | as writable */ | 75 | as writable */ |
74 | data_start = .; | 76 | data_start = .; |
@@ -81,23 +83,17 @@ SECTIONS | |||
81 | __start___unwind = .; /* unwind info */ | 83 | __start___unwind = .; /* unwind info */ |
82 | .PARISC.unwind : { *(.PARISC.unwind) } | 84 | .PARISC.unwind : { *(.PARISC.unwind) } |
83 | __stop___unwind = .; | 85 | __stop___unwind = .; |
84 | 86 | ||
87 | /* rarely changed data like cpu maps */ | ||
88 | . = ALIGN(16); | ||
89 | .data.read_mostly : { *(.data.read_mostly) } | ||
90 | |||
91 | . = ALIGN(L1_CACHE_BYTES); | ||
85 | .data : { /* Data */ | 92 | .data : { /* Data */ |
86 | *(.data) | 93 | *(.data) |
87 | *(.data.vm0.pmd) | ||
88 | *(.data.vm0.pgd) | ||
89 | *(.data.vm0.pte) | ||
90 | CONSTRUCTORS | 94 | CONSTRUCTORS |
91 | } | 95 | } |
92 | 96 | ||
93 | . = ALIGN(4096); | ||
94 | /* nosave data is really only used for software suspend...it's here | ||
95 | * just in case we ever implement it */ | ||
96 | __nosave_begin = .; | ||
97 | .data_nosave : { *(.data.nosave) } | ||
98 | . = ALIGN(4096); | ||
99 | __nosave_end = .; | ||
100 | |||
101 | . = ALIGN(L1_CACHE_BYTES); | 97 | . = ALIGN(L1_CACHE_BYTES); |
102 | .data.cacheline_aligned : { *(.data.cacheline_aligned) } | 98 | .data.cacheline_aligned : { *(.data.cacheline_aligned) } |
103 | 99 | ||
@@ -105,12 +101,29 @@ SECTIONS | |||
105 | . = ALIGN(16); | 101 | . = ALIGN(16); |
106 | .data.lock_aligned : { *(.data.lock_aligned) } | 102 | .data.lock_aligned : { *(.data.lock_aligned) } |
107 | 103 | ||
108 | /* rarely changed data like cpu maps */ | 104 | . = ALIGN(ASM_PAGE_SIZE); |
109 | . = ALIGN(16); | 105 | /* nosave data is really only used for software suspend...it's here |
110 | .data.read_mostly : { *(.data.read_mostly) } | 106 | * just in case we ever implement it */ |
107 | __nosave_begin = .; | ||
108 | .data_nosave : { *(.data.nosave) } | ||
109 | . = ALIGN(ASM_PAGE_SIZE); | ||
110 | __nosave_end = .; | ||
111 | 111 | ||
112 | _edata = .; /* End of data section */ | 112 | _edata = .; /* End of data section */ |
113 | 113 | ||
114 | __bss_start = .; /* BSS */ | ||
115 | /* page table entries need to be PAGE_SIZE aligned */ | ||
116 | . = ALIGN(ASM_PAGE_SIZE); | ||
117 | .data.vmpages : { | ||
118 | *(.data.vm0.pmd) | ||
119 | *(.data.vm0.pgd) | ||
120 | *(.data.vm0.pte) | ||
121 | } | ||
122 | .bss : { *(.bss) *(COMMON) } | ||
123 | __bss_stop = .; | ||
124 | |||
125 | |||
126 | /* assembler code expects init_task to be 16k aligned */ | ||
114 | . = ALIGN(16384); /* init_task */ | 127 | . = ALIGN(16384); /* init_task */ |
115 | .data.init_task : { *(.data.init_task) } | 128 | .data.init_task : { *(.data.init_task) } |
116 | 129 | ||
@@ -126,6 +139,7 @@ SECTIONS | |||
126 | .dlt : { *(.dlt) } | 139 | .dlt : { *(.dlt) } |
127 | #endif | 140 | #endif |
128 | 141 | ||
142 | /* reserve space for interrupt stack by aligning __init* to 16k */ | ||
129 | . = ALIGN(16384); | 143 | . = ALIGN(16384); |
130 | __init_begin = .; | 144 | __init_begin = .; |
131 | .init.text : { | 145 | .init.text : { |
@@ -166,7 +180,7 @@ SECTIONS | |||
166 | from .altinstructions and .eh_frame */ | 180 | from .altinstructions and .eh_frame */ |
167 | .exit.text : { *(.exit.text) } | 181 | .exit.text : { *(.exit.text) } |
168 | .exit.data : { *(.exit.data) } | 182 | .exit.data : { *(.exit.data) } |
169 | . = ALIGN(4096); | 183 | . = ALIGN(ASM_PAGE_SIZE); |
170 | __initramfs_start = .; | 184 | __initramfs_start = .; |
171 | .init.ramfs : { *(.init.ramfs) } | 185 | .init.ramfs : { *(.init.ramfs) } |
172 | __initramfs_end = .; | 186 | __initramfs_end = .; |
@@ -174,14 +188,10 @@ SECTIONS | |||
174 | __per_cpu_start = .; | 188 | __per_cpu_start = .; |
175 | .data.percpu : { *(.data.percpu) } | 189 | .data.percpu : { *(.data.percpu) } |
176 | __per_cpu_end = .; | 190 | __per_cpu_end = .; |
177 | . = ALIGN(4096); | 191 | . = ALIGN(ASM_PAGE_SIZE); |
178 | __init_end = .; | 192 | __init_end = .; |
179 | /* freed after init ends here */ | 193 | /* freed after init ends here */ |
180 | 194 | ||
181 | __bss_start = .; /* BSS */ | ||
182 | .bss : { *(.bss) *(COMMON) } | ||
183 | __bss_stop = .; | ||
184 | |||
185 | _end = . ; | 195 | _end = . ; |
186 | 196 | ||
187 | /* Sections to be discarded */ | 197 | /* Sections to be discarded */ |
diff --git a/arch/parisc/mm/fault.c b/arch/parisc/mm/fault.c index 0ad945d4c0a4..64785e46f93b 100644 --- a/arch/parisc/mm/fault.c +++ b/arch/parisc/mm/fault.c | |||
@@ -186,7 +186,7 @@ good_area: | |||
186 | break; | 186 | break; |
187 | case VM_FAULT_SIGBUS: | 187 | case VM_FAULT_SIGBUS: |
188 | /* | 188 | /* |
189 | * We hit a hared mapping outside of the file, or some | 189 | * We hit a shared mapping outside of the file, or some |
190 | * other thing happened to us that made us unable to | 190 | * other thing happened to us that made us unable to |
191 | * handle the page fault gracefully. | 191 | * handle the page fault gracefully. |
192 | */ | 192 | */ |
diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c index 3796be67cd53..631712562656 100644 --- a/arch/parisc/mm/init.c +++ b/arch/parisc/mm/init.c | |||
@@ -6,6 +6,7 @@ | |||
6 | * changed by Philipp Rumpf | 6 | * changed by Philipp Rumpf |
7 | * Copyright 1999 Philipp Rumpf (prumpf@tux.org) | 7 | * Copyright 1999 Philipp Rumpf (prumpf@tux.org) |
8 | * Copyright 2004 Randolph Chung (tausq@debian.org) | 8 | * Copyright 2004 Randolph Chung (tausq@debian.org) |
9 | * Copyright 2006 Helge Deller (deller@gmx.de) | ||
9 | * | 10 | * |
10 | */ | 11 | */ |
11 | 12 | ||
@@ -371,8 +372,8 @@ static void __init setup_bootmem(void) | |||
371 | 372 | ||
372 | void free_initmem(void) | 373 | void free_initmem(void) |
373 | { | 374 | { |
374 | unsigned long addr; | 375 | unsigned long addr, init_begin, init_end; |
375 | 376 | ||
376 | printk(KERN_INFO "Freeing unused kernel memory: "); | 377 | printk(KERN_INFO "Freeing unused kernel memory: "); |
377 | 378 | ||
378 | #ifdef CONFIG_DEBUG_KERNEL | 379 | #ifdef CONFIG_DEBUG_KERNEL |
@@ -395,8 +396,11 @@ void free_initmem(void) | |||
395 | local_irq_enable(); | 396 | local_irq_enable(); |
396 | #endif | 397 | #endif |
397 | 398 | ||
398 | addr = (unsigned long)(&__init_begin); | 399 | /* align __init_begin and __init_end to page size, |
399 | for (; addr < (unsigned long)(&__init_end); addr += PAGE_SIZE) { | 400 | ignoring linker script where we might have tried to save RAM */ |
401 | init_begin = PAGE_ALIGN((unsigned long)(&__init_begin)); | ||
402 | init_end = PAGE_ALIGN((unsigned long)(&__init_end)); | ||
403 | for (addr = init_begin; addr < init_end; addr += PAGE_SIZE) { | ||
400 | ClearPageReserved(virt_to_page(addr)); | 404 | ClearPageReserved(virt_to_page(addr)); |
401 | init_page_count(virt_to_page(addr)); | 405 | init_page_count(virt_to_page(addr)); |
402 | free_page(addr); | 406 | free_page(addr); |
@@ -407,7 +411,7 @@ void free_initmem(void) | |||
407 | /* set up a new led state on systems shipped LED State panel */ | 411 | /* set up a new led state on systems shipped LED State panel */ |
408 | pdc_chassis_send_status(PDC_CHASSIS_DIRECT_BCOMPLETE); | 412 | pdc_chassis_send_status(PDC_CHASSIS_DIRECT_BCOMPLETE); |
409 | 413 | ||
410 | printk("%luk freed\n", (unsigned long)(&__init_end - &__init_begin) >> 10); | 414 | printk("%luk freed\n", (init_end - init_begin) >> 10); |
411 | } | 415 | } |
412 | 416 | ||
413 | 417 | ||
@@ -639,11 +643,13 @@ static void __init map_pages(unsigned long start_vaddr, unsigned long start_padd | |||
639 | * Map the fault vector writable so we can | 643 | * Map the fault vector writable so we can |
640 | * write the HPMC checksum. | 644 | * write the HPMC checksum. |
641 | */ | 645 | */ |
646 | #if defined(CONFIG_PARISC_PAGE_SIZE_4KB) | ||
642 | if (address >= ro_start && address < ro_end | 647 | if (address >= ro_start && address < ro_end |
643 | && address != fv_addr | 648 | && address != fv_addr |
644 | && address != gw_addr) | 649 | && address != gw_addr) |
645 | pte = __mk_pte(address, PAGE_KERNEL_RO); | 650 | pte = __mk_pte(address, PAGE_KERNEL_RO); |
646 | else | 651 | else |
652 | #endif | ||
647 | pte = __mk_pte(address, pgprot); | 653 | pte = __mk_pte(address, pgprot); |
648 | 654 | ||
649 | if (address >= end_paddr) | 655 | if (address >= end_paddr) |
@@ -874,8 +880,7 @@ unsigned long alloc_sid(void) | |||
874 | flush_tlb_all(); /* flush_tlb_all() calls recycle_sids() */ | 880 | flush_tlb_all(); /* flush_tlb_all() calls recycle_sids() */ |
875 | spin_lock(&sid_lock); | 881 | spin_lock(&sid_lock); |
876 | } | 882 | } |
877 | if (free_space_ids == 0) | 883 | BUG_ON(free_space_ids == 0); |
878 | BUG(); | ||
879 | } | 884 | } |
880 | 885 | ||
881 | free_space_ids--; | 886 | free_space_ids--; |
@@ -899,8 +904,7 @@ void free_sid(unsigned long spaceid) | |||
899 | 904 | ||
900 | spin_lock(&sid_lock); | 905 | spin_lock(&sid_lock); |
901 | 906 | ||
902 | if (*dirty_space_offset & (1L << index)) | 907 | BUG_ON(*dirty_space_offset & (1L << index)); /* attempt to free space id twice */ |
903 | BUG(); /* attempt to free space id twice */ | ||
904 | 908 | ||
905 | *dirty_space_offset |= (1L << index); | 909 | *dirty_space_offset |= (1L << index); |
906 | dirty_space_ids++; | 910 | dirty_space_ids++; |
@@ -975,7 +979,7 @@ static void recycle_sids(void) | |||
975 | 979 | ||
976 | static unsigned long recycle_ndirty; | 980 | static unsigned long recycle_ndirty; |
977 | static unsigned long recycle_dirty_array[SID_ARRAY_SIZE]; | 981 | static unsigned long recycle_dirty_array[SID_ARRAY_SIZE]; |
978 | static unsigned int recycle_inuse = 0; | 982 | static unsigned int recycle_inuse; |
979 | 983 | ||
980 | void flush_tlb_all(void) | 984 | void flush_tlb_all(void) |
981 | { | 985 | { |
@@ -984,9 +988,7 @@ void flush_tlb_all(void) | |||
984 | do_recycle = 0; | 988 | do_recycle = 0; |
985 | spin_lock(&sid_lock); | 989 | spin_lock(&sid_lock); |
986 | if (dirty_space_ids > RECYCLE_THRESHOLD) { | 990 | if (dirty_space_ids > RECYCLE_THRESHOLD) { |
987 | if (recycle_inuse) { | 991 | BUG_ON(recycle_inuse); /* FIXME: Use a semaphore/wait queue here */ |
988 | BUG(); /* FIXME: Use a semaphore/wait queue here */ | ||
989 | } | ||
990 | get_dirty_sids(&recycle_ndirty,recycle_dirty_array); | 992 | get_dirty_sids(&recycle_ndirty,recycle_dirty_array); |
991 | recycle_inuse++; | 993 | recycle_inuse++; |
992 | do_recycle++; | 994 | do_recycle++; |
diff --git a/arch/parisc/mm/ioremap.c b/arch/parisc/mm/ioremap.c index 0db12818d7bc..27384567a1d0 100644 --- a/arch/parisc/mm/ioremap.c +++ b/arch/parisc/mm/ioremap.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * arch/parisc/mm/ioremap.c | 2 | * arch/parisc/mm/ioremap.c |
3 | * | 3 | * |
4 | * (C) Copyright 1995 1996 Linus Torvalds | 4 | * (C) Copyright 1995 1996 Linus Torvalds |
5 | * (C) Copyright 2001 Helge Deller <deller@gmx.de> | 5 | * (C) Copyright 2001-2006 Helge Deller <deller@gmx.de> |
6 | * (C) Copyright 2005 Kyle McMartin <kyle@parisc-linux.org> | 6 | * (C) Copyright 2005 Kyle McMartin <kyle@parisc-linux.org> |
7 | */ | 7 | */ |
8 | 8 | ||
@@ -138,6 +138,7 @@ void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned l | |||
138 | if ((phys_addr >= 0x00080000 && end < 0x000fffff) || | 138 | if ((phys_addr >= 0x00080000 && end < 0x000fffff) || |
139 | (phys_addr >= 0x00500000 && end < 0x03bfffff)) { | 139 | (phys_addr >= 0x00500000 && end < 0x03bfffff)) { |
140 | phys_addr |= F_EXTEND(0xfc000000); | 140 | phys_addr |= F_EXTEND(0xfc000000); |
141 | flags |= _PAGE_NO_CACHE; | ||
141 | } | 142 | } |
142 | #endif | 143 | #endif |
143 | 144 | ||
diff --git a/arch/powerpc/configs/g5_defconfig b/arch/powerpc/configs/g5_defconfig index 2c3fd2007676..a45627547d03 100644 --- a/arch/powerpc/configs/g5_defconfig +++ b/arch/powerpc/configs/g5_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc2 | 3 | # Linux kernel version: 2.6.17-rc1 |
4 | # Fri Feb 10 17:33:08 2006 | 4 | # Wed Apr 19 13:24:37 2006 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | CONFIG_64BIT=y | 7 | CONFIG_64BIT=y |
@@ -9,6 +9,7 @@ CONFIG_PPC_MERGE=y | |||
9 | CONFIG_MMU=y | 9 | CONFIG_MMU=y |
10 | CONFIG_GENERIC_HARDIRQS=y | 10 | CONFIG_GENERIC_HARDIRQS=y |
11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
12 | CONFIG_GENERIC_HWEIGHT=y | ||
12 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 13 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
13 | CONFIG_PPC=y | 14 | CONFIG_PPC=y |
14 | CONFIG_EARLY_PRINTK=y | 15 | CONFIG_EARLY_PRINTK=y |
@@ -29,6 +30,7 @@ CONFIG_POWER4=y | |||
29 | CONFIG_PPC_FPU=y | 30 | CONFIG_PPC_FPU=y |
30 | CONFIG_ALTIVEC=y | 31 | CONFIG_ALTIVEC=y |
31 | CONFIG_PPC_STD_MMU=y | 32 | CONFIG_PPC_STD_MMU=y |
33 | CONFIG_VIRT_CPU_ACCOUNTING=y | ||
32 | CONFIG_SMP=y | 34 | CONFIG_SMP=y |
33 | CONFIG_NR_CPUS=4 | 35 | CONFIG_NR_CPUS=4 |
34 | 36 | ||
@@ -53,6 +55,7 @@ CONFIG_SYSCTL=y | |||
53 | CONFIG_IKCONFIG=y | 55 | CONFIG_IKCONFIG=y |
54 | CONFIG_IKCONFIG_PROC=y | 56 | CONFIG_IKCONFIG_PROC=y |
55 | # CONFIG_CPUSETS is not set | 57 | # CONFIG_CPUSETS is not set |
58 | # CONFIG_RELAY is not set | ||
56 | CONFIG_INITRAMFS_SOURCE="" | 59 | CONFIG_INITRAMFS_SOURCE="" |
57 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 60 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
58 | # CONFIG_EMBEDDED is not set | 61 | # CONFIG_EMBEDDED is not set |
@@ -67,10 +70,6 @@ CONFIG_BASE_FULL=y | |||
67 | CONFIG_FUTEX=y | 70 | CONFIG_FUTEX=y |
68 | CONFIG_EPOLL=y | 71 | CONFIG_EPOLL=y |
69 | CONFIG_SHMEM=y | 72 | CONFIG_SHMEM=y |
70 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
71 | CONFIG_CC_ALIGN_LABELS=0 | ||
72 | CONFIG_CC_ALIGN_LOOPS=0 | ||
73 | CONFIG_CC_ALIGN_JUMPS=0 | ||
74 | CONFIG_SLAB=y | 73 | CONFIG_SLAB=y |
75 | # CONFIG_TINY_SHMEM is not set | 74 | # CONFIG_TINY_SHMEM is not set |
76 | CONFIG_BASE_SMALL=0 | 75 | CONFIG_BASE_SMALL=0 |
@@ -82,7 +81,6 @@ CONFIG_BASE_SMALL=0 | |||
82 | CONFIG_MODULES=y | 81 | CONFIG_MODULES=y |
83 | CONFIG_MODULE_UNLOAD=y | 82 | CONFIG_MODULE_UNLOAD=y |
84 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 83 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
85 | CONFIG_OBSOLETE_MODPARM=y | ||
86 | CONFIG_MODVERSIONS=y | 84 | CONFIG_MODVERSIONS=y |
87 | CONFIG_MODULE_SRCVERSION_ALL=y | 85 | CONFIG_MODULE_SRCVERSION_ALL=y |
88 | CONFIG_KMOD=y | 86 | CONFIG_KMOD=y |
@@ -91,6 +89,7 @@ CONFIG_STOP_MACHINE=y | |||
91 | # | 89 | # |
92 | # Block layer | 90 | # Block layer |
93 | # | 91 | # |
92 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
94 | 93 | ||
95 | # | 94 | # |
96 | # IO Schedulers | 95 | # IO Schedulers |
@@ -185,7 +184,6 @@ CONFIG_GENERIC_ISA_DMA=y | |||
185 | # CONFIG_PPC_INDIRECT_PCI is not set | 184 | # CONFIG_PPC_INDIRECT_PCI is not set |
186 | CONFIG_PCI=y | 185 | CONFIG_PCI=y |
187 | CONFIG_PCI_DOMAINS=y | 186 | CONFIG_PCI_DOMAINS=y |
188 | CONFIG_PCI_LEGACY_PROC=y | ||
189 | # CONFIG_PCI_DEBUG is not set | 187 | # CONFIG_PCI_DEBUG is not set |
190 | 188 | ||
191 | # | 189 | # |
@@ -227,6 +225,7 @@ CONFIG_SYN_COOKIES=y | |||
227 | CONFIG_INET_AH=m | 225 | CONFIG_INET_AH=m |
228 | CONFIG_INET_ESP=m | 226 | CONFIG_INET_ESP=m |
229 | CONFIG_INET_IPCOMP=m | 227 | CONFIG_INET_IPCOMP=m |
228 | CONFIG_INET_XFRM_TUNNEL=m | ||
230 | CONFIG_INET_TUNNEL=y | 229 | CONFIG_INET_TUNNEL=y |
231 | CONFIG_INET_DIAG=y | 230 | CONFIG_INET_DIAG=y |
232 | CONFIG_INET_TCP_DIAG=y | 231 | CONFIG_INET_TCP_DIAG=y |
@@ -238,6 +237,8 @@ CONFIG_TCP_CONG_BIC=y | |||
238 | # | 237 | # |
239 | # CONFIG_IP_VS is not set | 238 | # CONFIG_IP_VS is not set |
240 | # CONFIG_IPV6 is not set | 239 | # CONFIG_IPV6 is not set |
240 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
241 | # CONFIG_INET6_TUNNEL is not set | ||
241 | CONFIG_NETFILTER=y | 242 | CONFIG_NETFILTER=y |
242 | # CONFIG_NETFILTER_DEBUG is not set | 243 | # CONFIG_NETFILTER_DEBUG is not set |
243 | 244 | ||
@@ -261,6 +262,7 @@ CONFIG_IP_NF_IRC=m | |||
261 | CONFIG_IP_NF_TFTP=m | 262 | CONFIG_IP_NF_TFTP=m |
262 | CONFIG_IP_NF_AMANDA=m | 263 | CONFIG_IP_NF_AMANDA=m |
263 | # CONFIG_IP_NF_PPTP is not set | 264 | # CONFIG_IP_NF_PPTP is not set |
265 | # CONFIG_IP_NF_H323 is not set | ||
264 | CONFIG_IP_NF_QUEUE=m | 266 | CONFIG_IP_NF_QUEUE=m |
265 | 267 | ||
266 | # | 268 | # |
@@ -513,6 +515,7 @@ CONFIG_MD_RAID0=y | |||
513 | CONFIG_MD_RAID1=y | 515 | CONFIG_MD_RAID1=y |
514 | CONFIG_MD_RAID10=m | 516 | CONFIG_MD_RAID10=m |
515 | CONFIG_MD_RAID5=y | 517 | CONFIG_MD_RAID5=y |
518 | # CONFIG_MD_RAID5_RESHAPE is not set | ||
516 | CONFIG_MD_RAID6=m | 519 | CONFIG_MD_RAID6=m |
517 | CONFIG_MD_MULTIPATH=m | 520 | CONFIG_MD_MULTIPATH=m |
518 | CONFIG_MD_FAULTY=m | 521 | CONFIG_MD_FAULTY=m |
@@ -761,7 +764,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
761 | # Watchdog Cards | 764 | # Watchdog Cards |
762 | # | 765 | # |
763 | # CONFIG_WATCHDOG is not set | 766 | # CONFIG_WATCHDOG is not set |
764 | # CONFIG_RTC is not set | ||
765 | CONFIG_GEN_RTC=y | 767 | CONFIG_GEN_RTC=y |
766 | # CONFIG_GEN_RTC_X is not set | 768 | # CONFIG_GEN_RTC_X is not set |
767 | # CONFIG_DTLK is not set | 769 | # CONFIG_DTLK is not set |
@@ -772,6 +774,7 @@ CONFIG_GEN_RTC=y | |||
772 | # Ftape, the floppy tape device driver | 774 | # Ftape, the floppy tape device driver |
773 | # | 775 | # |
774 | CONFIG_AGP=m | 776 | CONFIG_AGP=m |
777 | # CONFIG_AGP_VIA is not set | ||
775 | CONFIG_AGP_UNINORTH=m | 778 | CONFIG_AGP_UNINORTH=m |
776 | # CONFIG_DRM is not set | 779 | # CONFIG_DRM is not set |
777 | CONFIG_RAW_DRIVER=y | 780 | CONFIG_RAW_DRIVER=y |
@@ -813,7 +816,6 @@ CONFIG_I2C_POWERMAC=y | |||
813 | # CONFIG_I2C_PARPORT_LIGHT is not set | 816 | # CONFIG_I2C_PARPORT_LIGHT is not set |
814 | # CONFIG_I2C_PROSAVAGE is not set | 817 | # CONFIG_I2C_PROSAVAGE is not set |
815 | # CONFIG_I2C_SAVAGE4 is not set | 818 | # CONFIG_I2C_SAVAGE4 is not set |
816 | # CONFIG_SCx200_ACB is not set | ||
817 | # CONFIG_I2C_SIS5595 is not set | 819 | # CONFIG_I2C_SIS5595 is not set |
818 | # CONFIG_I2C_SIS630 is not set | 820 | # CONFIG_I2C_SIS630 is not set |
819 | # CONFIG_I2C_SIS96X is not set | 821 | # CONFIG_I2C_SIS96X is not set |
@@ -832,9 +834,7 @@ CONFIG_I2C_POWERMAC=y | |||
832 | # CONFIG_SENSORS_PCF8574 is not set | 834 | # CONFIG_SENSORS_PCF8574 is not set |
833 | # CONFIG_SENSORS_PCA9539 is not set | 835 | # CONFIG_SENSORS_PCA9539 is not set |
834 | # CONFIG_SENSORS_PCF8591 is not set | 836 | # CONFIG_SENSORS_PCF8591 is not set |
835 | # CONFIG_SENSORS_RTC8564 is not set | ||
836 | # CONFIG_SENSORS_MAX6875 is not set | 837 | # CONFIG_SENSORS_MAX6875 is not set |
837 | # CONFIG_RTC_X1205_I2C is not set | ||
838 | # CONFIG_I2C_DEBUG_CORE is not set | 838 | # CONFIG_I2C_DEBUG_CORE is not set |
839 | # CONFIG_I2C_DEBUG_ALGO is not set | 839 | # CONFIG_I2C_DEBUG_ALGO is not set |
840 | # CONFIG_I2C_DEBUG_BUS is not set | 840 | # CONFIG_I2C_DEBUG_BUS is not set |
@@ -862,10 +862,6 @@ CONFIG_I2C_POWERMAC=y | |||
862 | # | 862 | # |
863 | 863 | ||
864 | # | 864 | # |
865 | # Multimedia Capabilities Port drivers | ||
866 | # | ||
867 | |||
868 | # | ||
869 | # Multimedia devices | 865 | # Multimedia devices |
870 | # | 866 | # |
871 | # CONFIG_VIDEO_DEV is not set | 867 | # CONFIG_VIDEO_DEV is not set |
@@ -874,6 +870,7 @@ CONFIG_I2C_POWERMAC=y | |||
874 | # Digital Video Broadcasting Devices | 870 | # Digital Video Broadcasting Devices |
875 | # | 871 | # |
876 | # CONFIG_DVB is not set | 872 | # CONFIG_DVB is not set |
873 | # CONFIG_USB_DABUSB is not set | ||
877 | 874 | ||
878 | # | 875 | # |
879 | # Graphics support | 876 | # Graphics support |
@@ -883,6 +880,7 @@ CONFIG_FB_CFB_FILLRECT=y | |||
883 | CONFIG_FB_CFB_COPYAREA=y | 880 | CONFIG_FB_CFB_COPYAREA=y |
884 | CONFIG_FB_CFB_IMAGEBLIT=y | 881 | CONFIG_FB_CFB_IMAGEBLIT=y |
885 | CONFIG_FB_MACMODES=y | 882 | CONFIG_FB_MACMODES=y |
883 | CONFIG_FB_FIRMWARE_EDID=y | ||
886 | CONFIG_FB_MODE_HELPERS=y | 884 | CONFIG_FB_MODE_HELPERS=y |
887 | CONFIG_FB_TILEBLITTING=y | 885 | CONFIG_FB_TILEBLITTING=y |
888 | # CONFIG_FB_CIRRUS is not set | 886 | # CONFIG_FB_CIRRUS is not set |
@@ -901,7 +899,6 @@ CONFIG_FB_NVIDIA=y | |||
901 | CONFIG_FB_NVIDIA_I2C=y | 899 | CONFIG_FB_NVIDIA_I2C=y |
902 | # CONFIG_FB_RIVA is not set | 900 | # CONFIG_FB_RIVA is not set |
903 | # CONFIG_FB_MATROX is not set | 901 | # CONFIG_FB_MATROX is not set |
904 | # CONFIG_FB_RADEON_OLD is not set | ||
905 | CONFIG_FB_RADEON=y | 902 | CONFIG_FB_RADEON=y |
906 | CONFIG_FB_RADEON_I2C=y | 903 | CONFIG_FB_RADEON_I2C=y |
907 | # CONFIG_FB_RADEON_DEBUG is not set | 904 | # CONFIG_FB_RADEON_DEBUG is not set |
@@ -958,9 +955,11 @@ CONFIG_SND_SEQUENCER=m | |||
958 | CONFIG_SND_OSSEMUL=y | 955 | CONFIG_SND_OSSEMUL=y |
959 | CONFIG_SND_MIXER_OSS=m | 956 | CONFIG_SND_MIXER_OSS=m |
960 | CONFIG_SND_PCM_OSS=m | 957 | CONFIG_SND_PCM_OSS=m |
958 | CONFIG_SND_PCM_OSS_PLUGINS=y | ||
961 | CONFIG_SND_SEQUENCER_OSS=y | 959 | CONFIG_SND_SEQUENCER_OSS=y |
962 | # CONFIG_SND_DYNAMIC_MINORS is not set | 960 | # CONFIG_SND_DYNAMIC_MINORS is not set |
963 | CONFIG_SND_SUPPORT_OLD_API=y | 961 | CONFIG_SND_SUPPORT_OLD_API=y |
962 | CONFIG_SND_VERBOSE_PROCFS=y | ||
964 | # CONFIG_SND_VERBOSE_PRINTK is not set | 963 | # CONFIG_SND_VERBOSE_PRINTK is not set |
965 | # CONFIG_SND_DEBUG is not set | 964 | # CONFIG_SND_DEBUG is not set |
966 | 965 | ||
@@ -977,6 +976,7 @@ CONFIG_SND_SUPPORT_OLD_API=y | |||
977 | # PCI devices | 976 | # PCI devices |
978 | # | 977 | # |
979 | # CONFIG_SND_AD1889 is not set | 978 | # CONFIG_SND_AD1889 is not set |
979 | # CONFIG_SND_ALS300 is not set | ||
980 | # CONFIG_SND_ALS4000 is not set | 980 | # CONFIG_SND_ALS4000 is not set |
981 | # CONFIG_SND_ALI5451 is not set | 981 | # CONFIG_SND_ALI5451 is not set |
982 | # CONFIG_SND_ATIIXP is not set | 982 | # CONFIG_SND_ATIIXP is not set |
@@ -1009,6 +1009,7 @@ CONFIG_SND_SUPPORT_OLD_API=y | |||
1009 | # CONFIG_SND_MIXART is not set | 1009 | # CONFIG_SND_MIXART is not set |
1010 | # CONFIG_SND_NM256 is not set | 1010 | # CONFIG_SND_NM256 is not set |
1011 | # CONFIG_SND_PCXHR is not set | 1011 | # CONFIG_SND_PCXHR is not set |
1012 | # CONFIG_SND_RIPTIDE is not set | ||
1012 | # CONFIG_SND_RME32 is not set | 1013 | # CONFIG_SND_RME32 is not set |
1013 | # CONFIG_SND_RME96 is not set | 1014 | # CONFIG_SND_RME96 is not set |
1014 | # CONFIG_SND_RME9652 is not set | 1015 | # CONFIG_SND_RME9652 is not set |
@@ -1041,6 +1042,7 @@ CONFIG_SND_USB_AUDIO=m | |||
1041 | # | 1042 | # |
1042 | CONFIG_USB_ARCH_HAS_HCD=y | 1043 | CONFIG_USB_ARCH_HAS_HCD=y |
1043 | CONFIG_USB_ARCH_HAS_OHCI=y | 1044 | CONFIG_USB_ARCH_HAS_OHCI=y |
1045 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
1044 | CONFIG_USB=y | 1046 | CONFIG_USB=y |
1045 | # CONFIG_USB_DEBUG is not set | 1047 | # CONFIG_USB_DEBUG is not set |
1046 | 1048 | ||
@@ -1068,7 +1070,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
1068 | # | 1070 | # |
1069 | # USB Device Class drivers | 1071 | # USB Device Class drivers |
1070 | # | 1072 | # |
1071 | # CONFIG_OBSOLETE_OSS_USB_DRIVER is not set | ||
1072 | CONFIG_USB_ACM=m | 1073 | CONFIG_USB_ACM=m |
1073 | CONFIG_USB_PRINTER=y | 1074 | CONFIG_USB_PRINTER=y |
1074 | 1075 | ||
@@ -1126,15 +1127,6 @@ CONFIG_USB_HIDDEV=y | |||
1126 | # CONFIG_USB_MICROTEK is not set | 1127 | # CONFIG_USB_MICROTEK is not set |
1127 | 1128 | ||
1128 | # | 1129 | # |
1129 | # USB Multimedia devices | ||
1130 | # | ||
1131 | # CONFIG_USB_DABUSB is not set | ||
1132 | |||
1133 | # | ||
1134 | # Video4Linux support is needed for USB Multimedia device support | ||
1135 | # | ||
1136 | |||
1137 | # | ||
1138 | # USB Network Adapters | 1130 | # USB Network Adapters |
1139 | # | 1131 | # |
1140 | CONFIG_USB_CATC=m | 1132 | CONFIG_USB_CATC=m |
@@ -1194,6 +1186,7 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y | |||
1194 | CONFIG_USB_SERIAL_KLSI=m | 1186 | CONFIG_USB_SERIAL_KLSI=m |
1195 | CONFIG_USB_SERIAL_KOBIL_SCT=m | 1187 | CONFIG_USB_SERIAL_KOBIL_SCT=m |
1196 | CONFIG_USB_SERIAL_MCT_U232=m | 1188 | CONFIG_USB_SERIAL_MCT_U232=m |
1189 | # CONFIG_USB_SERIAL_NAVMAN is not set | ||
1197 | CONFIG_USB_SERIAL_PL2303=m | 1190 | CONFIG_USB_SERIAL_PL2303=m |
1198 | # CONFIG_USB_SERIAL_HP4X is not set | 1191 | # CONFIG_USB_SERIAL_HP4X is not set |
1199 | CONFIG_USB_SERIAL_SAFE=m | 1192 | CONFIG_USB_SERIAL_SAFE=m |
@@ -1237,17 +1230,23 @@ CONFIG_USB_EZUSB=y | |||
1237 | # CONFIG_MMC is not set | 1230 | # CONFIG_MMC is not set |
1238 | 1231 | ||
1239 | # | 1232 | # |
1233 | # LED devices | ||
1234 | # | ||
1235 | # CONFIG_NEW_LEDS is not set | ||
1236 | |||
1237 | # | ||
1240 | # InfiniBand support | 1238 | # InfiniBand support |
1241 | # | 1239 | # |
1242 | # CONFIG_INFINIBAND is not set | 1240 | # CONFIG_INFINIBAND is not set |
1243 | 1241 | ||
1244 | # | 1242 | # |
1245 | # SN Devices | 1243 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
1246 | # | 1244 | # |
1247 | 1245 | ||
1248 | # | 1246 | # |
1249 | # EDAC - error detection and reporting (RAS) | 1247 | # Real Time Clock |
1250 | # | 1248 | # |
1249 | # CONFIG_RTC_CLASS is not set | ||
1251 | 1250 | ||
1252 | # | 1251 | # |
1253 | # File systems | 1252 | # File systems |
@@ -1319,7 +1318,6 @@ CONFIG_TMPFS=y | |||
1319 | CONFIG_HUGETLBFS=y | 1318 | CONFIG_HUGETLBFS=y |
1320 | CONFIG_HUGETLB_PAGE=y | 1319 | CONFIG_HUGETLB_PAGE=y |
1321 | CONFIG_RAMFS=y | 1320 | CONFIG_RAMFS=y |
1322 | # CONFIG_RELAYFS_FS is not set | ||
1323 | # CONFIG_CONFIGFS_FS is not set | 1321 | # CONFIG_CONFIGFS_FS is not set |
1324 | 1322 | ||
1325 | # | 1323 | # |
diff --git a/arch/powerpc/configs/iseries_defconfig b/arch/powerpc/configs/iseries_defconfig index 1816a46742f6..a95e455a1944 100644 --- a/arch/powerpc/configs/iseries_defconfig +++ b/arch/powerpc/configs/iseries_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc6 | 3 | # Linux kernel version: 2.6.17-rc1 |
4 | # Wed Mar 15 16:19:52 2006 | 4 | # Wed Apr 19 11:46:44 2006 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | CONFIG_64BIT=y | 7 | CONFIG_64BIT=y |
@@ -9,6 +9,7 @@ CONFIG_PPC_MERGE=y | |||
9 | CONFIG_MMU=y | 9 | CONFIG_MMU=y |
10 | CONFIG_GENERIC_HARDIRQS=y | 10 | CONFIG_GENERIC_HARDIRQS=y |
11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
12 | CONFIG_GENERIC_HWEIGHT=y | ||
12 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 13 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
13 | CONFIG_PPC=y | 14 | CONFIG_PPC=y |
14 | CONFIG_EARLY_PRINTK=y | 15 | CONFIG_EARLY_PRINTK=y |
@@ -30,6 +31,7 @@ CONFIG_POWER4=y | |||
30 | CONFIG_PPC_FPU=y | 31 | CONFIG_PPC_FPU=y |
31 | # CONFIG_ALTIVEC is not set | 32 | # CONFIG_ALTIVEC is not set |
32 | CONFIG_PPC_STD_MMU=y | 33 | CONFIG_PPC_STD_MMU=y |
34 | CONFIG_VIRT_CPU_ACCOUNTING=y | ||
33 | CONFIG_SMP=y | 35 | CONFIG_SMP=y |
34 | CONFIG_NR_CPUS=32 | 36 | CONFIG_NR_CPUS=32 |
35 | 37 | ||
@@ -55,6 +57,7 @@ CONFIG_AUDITSYSCALL=y | |||
55 | CONFIG_IKCONFIG=y | 57 | CONFIG_IKCONFIG=y |
56 | CONFIG_IKCONFIG_PROC=y | 58 | CONFIG_IKCONFIG_PROC=y |
57 | # CONFIG_CPUSETS is not set | 59 | # CONFIG_CPUSETS is not set |
60 | # CONFIG_RELAY is not set | ||
58 | CONFIG_INITRAMFS_SOURCE="" | 61 | CONFIG_INITRAMFS_SOURCE="" |
59 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 62 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
60 | # CONFIG_EMBEDDED is not set | 63 | # CONFIG_EMBEDDED is not set |
@@ -69,10 +72,6 @@ CONFIG_BASE_FULL=y | |||
69 | CONFIG_FUTEX=y | 72 | CONFIG_FUTEX=y |
70 | CONFIG_EPOLL=y | 73 | CONFIG_EPOLL=y |
71 | CONFIG_SHMEM=y | 74 | CONFIG_SHMEM=y |
72 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
73 | CONFIG_CC_ALIGN_LABELS=0 | ||
74 | CONFIG_CC_ALIGN_LOOPS=0 | ||
75 | CONFIG_CC_ALIGN_JUMPS=0 | ||
76 | CONFIG_SLAB=y | 75 | CONFIG_SLAB=y |
77 | # CONFIG_TINY_SHMEM is not set | 76 | # CONFIG_TINY_SHMEM is not set |
78 | CONFIG_BASE_SMALL=0 | 77 | CONFIG_BASE_SMALL=0 |
@@ -84,7 +83,6 @@ CONFIG_BASE_SMALL=0 | |||
84 | CONFIG_MODULES=y | 83 | CONFIG_MODULES=y |
85 | CONFIG_MODULE_UNLOAD=y | 84 | CONFIG_MODULE_UNLOAD=y |
86 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 85 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
87 | CONFIG_OBSOLETE_MODPARM=y | ||
88 | CONFIG_MODVERSIONS=y | 86 | CONFIG_MODVERSIONS=y |
89 | CONFIG_MODULE_SRCVERSION_ALL=y | 87 | CONFIG_MODULE_SRCVERSION_ALL=y |
90 | CONFIG_KMOD=y | 88 | CONFIG_KMOD=y |
@@ -93,6 +91,7 @@ CONFIG_STOP_MACHINE=y | |||
93 | # | 91 | # |
94 | # Block layer | 92 | # Block layer |
95 | # | 93 | # |
94 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
96 | 95 | ||
97 | # | 96 | # |
98 | # IO Schedulers | 97 | # IO Schedulers |
@@ -165,7 +164,6 @@ CONFIG_GENERIC_ISA_DMA=y | |||
165 | # CONFIG_PPC_INDIRECT_PCI is not set | 164 | # CONFIG_PPC_INDIRECT_PCI is not set |
166 | CONFIG_PCI=y | 165 | CONFIG_PCI=y |
167 | CONFIG_PCI_DOMAINS=y | 166 | CONFIG_PCI_DOMAINS=y |
168 | CONFIG_PCI_LEGACY_PROC=y | ||
169 | # CONFIG_PCI_DEBUG is not set | 167 | # CONFIG_PCI_DEBUG is not set |
170 | 168 | ||
171 | # | 169 | # |
@@ -207,6 +205,7 @@ CONFIG_SYN_COOKIES=y | |||
207 | CONFIG_INET_AH=m | 205 | CONFIG_INET_AH=m |
208 | CONFIG_INET_ESP=m | 206 | CONFIG_INET_ESP=m |
209 | CONFIG_INET_IPCOMP=m | 207 | CONFIG_INET_IPCOMP=m |
208 | CONFIG_INET_XFRM_TUNNEL=m | ||
210 | CONFIG_INET_TUNNEL=y | 209 | CONFIG_INET_TUNNEL=y |
211 | CONFIG_INET_DIAG=y | 210 | CONFIG_INET_DIAG=y |
212 | CONFIG_INET_TCP_DIAG=y | 211 | CONFIG_INET_TCP_DIAG=y |
@@ -218,6 +217,8 @@ CONFIG_TCP_CONG_BIC=y | |||
218 | # | 217 | # |
219 | # CONFIG_IP_VS is not set | 218 | # CONFIG_IP_VS is not set |
220 | # CONFIG_IPV6 is not set | 219 | # CONFIG_IPV6 is not set |
220 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
221 | # CONFIG_INET6_TUNNEL is not set | ||
221 | CONFIG_NETFILTER=y | 222 | CONFIG_NETFILTER=y |
222 | # CONFIG_NETFILTER_DEBUG is not set | 223 | # CONFIG_NETFILTER_DEBUG is not set |
223 | 224 | ||
@@ -236,11 +237,14 @@ CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | |||
236 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 237 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m |
237 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | 238 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m |
238 | # CONFIG_NETFILTER_XT_MATCH_DCCP is not set | 239 | # CONFIG_NETFILTER_XT_MATCH_DCCP is not set |
240 | # CONFIG_NETFILTER_XT_MATCH_ESP is not set | ||
239 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | 241 | CONFIG_NETFILTER_XT_MATCH_HELPER=m |
240 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 242 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m |
241 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 243 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m |
242 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 244 | CONFIG_NETFILTER_XT_MATCH_MAC=m |
243 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 245 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
246 | # CONFIG_NETFILTER_XT_MATCH_POLICY is not set | ||
247 | # CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set | ||
244 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 248 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
245 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 249 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
246 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 250 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
@@ -262,20 +266,19 @@ CONFIG_IP_NF_IRC=m | |||
262 | CONFIG_IP_NF_TFTP=m | 266 | CONFIG_IP_NF_TFTP=m |
263 | CONFIG_IP_NF_AMANDA=m | 267 | CONFIG_IP_NF_AMANDA=m |
264 | # CONFIG_IP_NF_PPTP is not set | 268 | # CONFIG_IP_NF_PPTP is not set |
269 | # CONFIG_IP_NF_H323 is not set | ||
265 | CONFIG_IP_NF_QUEUE=m | 270 | CONFIG_IP_NF_QUEUE=m |
266 | CONFIG_IP_NF_IPTABLES=m | 271 | CONFIG_IP_NF_IPTABLES=m |
267 | CONFIG_IP_NF_MATCH_IPRANGE=m | 272 | CONFIG_IP_NF_MATCH_IPRANGE=m |
268 | CONFIG_IP_NF_MATCH_MULTIPORT=m | ||
269 | CONFIG_IP_NF_MATCH_TOS=m | 273 | CONFIG_IP_NF_MATCH_TOS=m |
270 | CONFIG_IP_NF_MATCH_RECENT=m | 274 | CONFIG_IP_NF_MATCH_RECENT=m |
271 | CONFIG_IP_NF_MATCH_ECN=m | 275 | CONFIG_IP_NF_MATCH_ECN=m |
272 | CONFIG_IP_NF_MATCH_DSCP=m | 276 | CONFIG_IP_NF_MATCH_DSCP=m |
273 | CONFIG_IP_NF_MATCH_AH_ESP=m | 277 | # CONFIG_IP_NF_MATCH_AH is not set |
274 | CONFIG_IP_NF_MATCH_TTL=m | 278 | CONFIG_IP_NF_MATCH_TTL=m |
275 | CONFIG_IP_NF_MATCH_OWNER=m | 279 | CONFIG_IP_NF_MATCH_OWNER=m |
276 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | 280 | CONFIG_IP_NF_MATCH_ADDRTYPE=m |
277 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | 281 | CONFIG_IP_NF_MATCH_HASHLIMIT=m |
278 | CONFIG_IP_NF_MATCH_POLICY=m | ||
279 | CONFIG_IP_NF_FILTER=m | 282 | CONFIG_IP_NF_FILTER=m |
280 | CONFIG_IP_NF_TARGET_REJECT=m | 283 | CONFIG_IP_NF_TARGET_REJECT=m |
281 | CONFIG_IP_NF_TARGET_LOG=m | 284 | CONFIG_IP_NF_TARGET_LOG=m |
@@ -479,6 +482,7 @@ CONFIG_MD_RAID0=y | |||
479 | CONFIG_MD_RAID1=y | 482 | CONFIG_MD_RAID1=y |
480 | CONFIG_MD_RAID10=m | 483 | CONFIG_MD_RAID10=m |
481 | CONFIG_MD_RAID5=y | 484 | CONFIG_MD_RAID5=y |
485 | # CONFIG_MD_RAID5_RESHAPE is not set | ||
482 | CONFIG_MD_RAID6=m | 486 | CONFIG_MD_RAID6=m |
483 | CONFIG_MD_MULTIPATH=m | 487 | CONFIG_MD_MULTIPATH=m |
484 | CONFIG_MD_FAULTY=m | 488 | CONFIG_MD_FAULTY=m |
@@ -702,7 +706,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
702 | # Watchdog Cards | 706 | # Watchdog Cards |
703 | # | 707 | # |
704 | # CONFIG_WATCHDOG is not set | 708 | # CONFIG_WATCHDOG is not set |
705 | # CONFIG_RTC is not set | ||
706 | CONFIG_GEN_RTC=y | 709 | CONFIG_GEN_RTC=y |
707 | # CONFIG_GEN_RTC_X is not set | 710 | # CONFIG_GEN_RTC_X is not set |
708 | # CONFIG_DTLK is not set | 711 | # CONFIG_DTLK is not set |
@@ -751,10 +754,6 @@ CONFIG_MAX_RAW_DEVS=256 | |||
751 | # | 754 | # |
752 | 755 | ||
753 | # | 756 | # |
754 | # Multimedia Capabilities Port drivers | ||
755 | # | ||
756 | |||
757 | # | ||
758 | # Multimedia devices | 757 | # Multimedia devices |
759 | # | 758 | # |
760 | # CONFIG_VIDEO_DEV is not set | 759 | # CONFIG_VIDEO_DEV is not set |
@@ -779,6 +778,7 @@ CONFIG_MAX_RAW_DEVS=256 | |||
779 | # | 778 | # |
780 | CONFIG_USB_ARCH_HAS_HCD=y | 779 | CONFIG_USB_ARCH_HAS_HCD=y |
781 | CONFIG_USB_ARCH_HAS_OHCI=y | 780 | CONFIG_USB_ARCH_HAS_OHCI=y |
781 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
782 | # CONFIG_USB is not set | 782 | # CONFIG_USB is not set |
783 | 783 | ||
784 | # | 784 | # |
@@ -796,6 +796,11 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
796 | # CONFIG_MMC is not set | 796 | # CONFIG_MMC is not set |
797 | 797 | ||
798 | # | 798 | # |
799 | # LED devices | ||
800 | # | ||
801 | # CONFIG_NEW_LEDS is not set | ||
802 | |||
803 | # | ||
799 | # InfiniBand support | 804 | # InfiniBand support |
800 | # | 805 | # |
801 | # CONFIG_INFINIBAND is not set | 806 | # CONFIG_INFINIBAND is not set |
@@ -805,6 +810,11 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
805 | # | 810 | # |
806 | 811 | ||
807 | # | 812 | # |
813 | # Real Time Clock | ||
814 | # | ||
815 | # CONFIG_RTC_CLASS is not set | ||
816 | |||
817 | # | ||
808 | # File systems | 818 | # File systems |
809 | # | 819 | # |
810 | CONFIG_EXT2_FS=y | 820 | CONFIG_EXT2_FS=y |
@@ -878,7 +888,6 @@ CONFIG_TMPFS=y | |||
878 | # CONFIG_HUGETLBFS is not set | 888 | # CONFIG_HUGETLBFS is not set |
879 | # CONFIG_HUGETLB_PAGE is not set | 889 | # CONFIG_HUGETLB_PAGE is not set |
880 | CONFIG_RAMFS=y | 890 | CONFIG_RAMFS=y |
881 | # CONFIG_RELAYFS_FS is not set | ||
882 | # CONFIG_CONFIGFS_FS is not set | 891 | # CONFIG_CONFIGFS_FS is not set |
883 | 892 | ||
884 | # | 893 | # |
diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig index daaf038a1faa..58e68ce09b0f 100644 --- a/arch/powerpc/configs/pseries_defconfig +++ b/arch/powerpc/configs/pseries_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc2 | 3 | # Linux kernel version: 2.6.17-rc1 |
4 | # Fri Feb 10 17:33:32 2006 | 4 | # Wed Apr 19 11:48:00 2006 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | CONFIG_64BIT=y | 7 | CONFIG_64BIT=y |
@@ -9,6 +9,7 @@ CONFIG_PPC_MERGE=y | |||
9 | CONFIG_MMU=y | 9 | CONFIG_MMU=y |
10 | CONFIG_GENERIC_HARDIRQS=y | 10 | CONFIG_GENERIC_HARDIRQS=y |
11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
12 | CONFIG_GENERIC_HWEIGHT=y | ||
12 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 13 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
13 | CONFIG_PPC=y | 14 | CONFIG_PPC=y |
14 | CONFIG_EARLY_PRINTK=y | 15 | CONFIG_EARLY_PRINTK=y |
@@ -30,6 +31,7 @@ CONFIG_POWER4=y | |||
30 | CONFIG_PPC_FPU=y | 31 | CONFIG_PPC_FPU=y |
31 | CONFIG_ALTIVEC=y | 32 | CONFIG_ALTIVEC=y |
32 | CONFIG_PPC_STD_MMU=y | 33 | CONFIG_PPC_STD_MMU=y |
34 | CONFIG_VIRT_CPU_ACCOUNTING=y | ||
33 | CONFIG_SMP=y | 35 | CONFIG_SMP=y |
34 | CONFIG_NR_CPUS=128 | 36 | CONFIG_NR_CPUS=128 |
35 | 37 | ||
@@ -55,6 +57,7 @@ CONFIG_AUDITSYSCALL=y | |||
55 | CONFIG_IKCONFIG=y | 57 | CONFIG_IKCONFIG=y |
56 | CONFIG_IKCONFIG_PROC=y | 58 | CONFIG_IKCONFIG_PROC=y |
57 | CONFIG_CPUSETS=y | 59 | CONFIG_CPUSETS=y |
60 | # CONFIG_RELAY is not set | ||
58 | CONFIG_INITRAMFS_SOURCE="" | 61 | CONFIG_INITRAMFS_SOURCE="" |
59 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 62 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
60 | # CONFIG_EMBEDDED is not set | 63 | # CONFIG_EMBEDDED is not set |
@@ -69,10 +72,6 @@ CONFIG_BASE_FULL=y | |||
69 | CONFIG_FUTEX=y | 72 | CONFIG_FUTEX=y |
70 | CONFIG_EPOLL=y | 73 | CONFIG_EPOLL=y |
71 | CONFIG_SHMEM=y | 74 | CONFIG_SHMEM=y |
72 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
73 | CONFIG_CC_ALIGN_LABELS=0 | ||
74 | CONFIG_CC_ALIGN_LOOPS=0 | ||
75 | CONFIG_CC_ALIGN_JUMPS=0 | ||
76 | CONFIG_SLAB=y | 75 | CONFIG_SLAB=y |
77 | # CONFIG_TINY_SHMEM is not set | 76 | # CONFIG_TINY_SHMEM is not set |
78 | CONFIG_BASE_SMALL=0 | 77 | CONFIG_BASE_SMALL=0 |
@@ -84,7 +83,6 @@ CONFIG_BASE_SMALL=0 | |||
84 | CONFIG_MODULES=y | 83 | CONFIG_MODULES=y |
85 | CONFIG_MODULE_UNLOAD=y | 84 | CONFIG_MODULE_UNLOAD=y |
86 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 85 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
87 | CONFIG_OBSOLETE_MODPARM=y | ||
88 | CONFIG_MODVERSIONS=y | 86 | CONFIG_MODVERSIONS=y |
89 | CONFIG_MODULE_SRCVERSION_ALL=y | 87 | CONFIG_MODULE_SRCVERSION_ALL=y |
90 | CONFIG_KMOD=y | 88 | CONFIG_KMOD=y |
@@ -93,6 +91,7 @@ CONFIG_STOP_MACHINE=y | |||
93 | # | 91 | # |
94 | # Block layer | 92 | # Block layer |
95 | # | 93 | # |
94 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
96 | 95 | ||
97 | # | 96 | # |
98 | # IO Schedulers | 97 | # IO Schedulers |
@@ -188,7 +187,6 @@ CONFIG_PPC_I8259=y | |||
188 | # CONFIG_PPC_INDIRECT_PCI is not set | 187 | # CONFIG_PPC_INDIRECT_PCI is not set |
189 | CONFIG_PCI=y | 188 | CONFIG_PCI=y |
190 | CONFIG_PCI_DOMAINS=y | 189 | CONFIG_PCI_DOMAINS=y |
191 | CONFIG_PCI_LEGACY_PROC=y | ||
192 | # CONFIG_PCI_DEBUG is not set | 190 | # CONFIG_PCI_DEBUG is not set |
193 | 191 | ||
194 | # | 192 | # |
@@ -235,6 +233,7 @@ CONFIG_SYN_COOKIES=y | |||
235 | CONFIG_INET_AH=m | 233 | CONFIG_INET_AH=m |
236 | CONFIG_INET_ESP=m | 234 | CONFIG_INET_ESP=m |
237 | CONFIG_INET_IPCOMP=m | 235 | CONFIG_INET_IPCOMP=m |
236 | CONFIG_INET_XFRM_TUNNEL=m | ||
238 | CONFIG_INET_TUNNEL=y | 237 | CONFIG_INET_TUNNEL=y |
239 | CONFIG_INET_DIAG=y | 238 | CONFIG_INET_DIAG=y |
240 | CONFIG_INET_TCP_DIAG=y | 239 | CONFIG_INET_TCP_DIAG=y |
@@ -246,6 +245,8 @@ CONFIG_TCP_CONG_BIC=y | |||
246 | # | 245 | # |
247 | # CONFIG_IP_VS is not set | 246 | # CONFIG_IP_VS is not set |
248 | # CONFIG_IPV6 is not set | 247 | # CONFIG_IPV6 is not set |
248 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
249 | # CONFIG_INET6_TUNNEL is not set | ||
249 | CONFIG_NETFILTER=y | 250 | CONFIG_NETFILTER=y |
250 | # CONFIG_NETFILTER_DEBUG is not set | 251 | # CONFIG_NETFILTER_DEBUG is not set |
251 | 252 | ||
@@ -272,6 +273,7 @@ CONFIG_IP_NF_IRC=m | |||
272 | CONFIG_IP_NF_TFTP=m | 273 | CONFIG_IP_NF_TFTP=m |
273 | CONFIG_IP_NF_AMANDA=m | 274 | CONFIG_IP_NF_AMANDA=m |
274 | # CONFIG_IP_NF_PPTP is not set | 275 | # CONFIG_IP_NF_PPTP is not set |
276 | # CONFIG_IP_NF_H323 is not set | ||
275 | CONFIG_IP_NF_QUEUE=m | 277 | CONFIG_IP_NF_QUEUE=m |
276 | 278 | ||
277 | # | 279 | # |
@@ -519,6 +521,7 @@ CONFIG_MD_RAID0=y | |||
519 | CONFIG_MD_RAID1=y | 521 | CONFIG_MD_RAID1=y |
520 | CONFIG_MD_RAID10=m | 522 | CONFIG_MD_RAID10=m |
521 | CONFIG_MD_RAID5=y | 523 | CONFIG_MD_RAID5=y |
524 | # CONFIG_MD_RAID5_RESHAPE is not set | ||
522 | CONFIG_MD_RAID6=m | 525 | CONFIG_MD_RAID6=m |
523 | CONFIG_MD_MULTIPATH=m | 526 | CONFIG_MD_MULTIPATH=m |
524 | CONFIG_MD_FAULTY=m | 527 | CONFIG_MD_FAULTY=m |
@@ -750,6 +753,7 @@ CONFIG_HW_CONSOLE=y | |||
750 | # | 753 | # |
751 | CONFIG_SERIAL_8250=y | 754 | CONFIG_SERIAL_8250=y |
752 | CONFIG_SERIAL_8250_CONSOLE=y | 755 | CONFIG_SERIAL_8250_CONSOLE=y |
756 | CONFIG_SERIAL_8250_PCI=y | ||
753 | CONFIG_SERIAL_8250_NR_UARTS=4 | 757 | CONFIG_SERIAL_8250_NR_UARTS=4 |
754 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 758 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
755 | # CONFIG_SERIAL_8250_EXTENDED is not set | 759 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -767,7 +771,9 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
767 | # CONFIG_PRINTER is not set | 771 | # CONFIG_PRINTER is not set |
768 | # CONFIG_PPDEV is not set | 772 | # CONFIG_PPDEV is not set |
769 | # CONFIG_TIPAR is not set | 773 | # CONFIG_TIPAR is not set |
774 | CONFIG_HVC_DRIVER=y | ||
770 | CONFIG_HVC_CONSOLE=y | 775 | CONFIG_HVC_CONSOLE=y |
776 | # CONFIG_HVC_RTAS is not set | ||
771 | CONFIG_HVCS=m | 777 | CONFIG_HVCS=m |
772 | 778 | ||
773 | # | 779 | # |
@@ -779,7 +785,6 @@ CONFIG_HVCS=m | |||
779 | # Watchdog Cards | 785 | # Watchdog Cards |
780 | # | 786 | # |
781 | # CONFIG_WATCHDOG is not set | 787 | # CONFIG_WATCHDOG is not set |
782 | # CONFIG_RTC is not set | ||
783 | CONFIG_GEN_RTC=y | 788 | CONFIG_GEN_RTC=y |
784 | # CONFIG_GEN_RTC_X is not set | 789 | # CONFIG_GEN_RTC_X is not set |
785 | # CONFIG_DTLK is not set | 790 | # CONFIG_DTLK is not set |
@@ -830,7 +835,6 @@ CONFIG_I2C_ALGOBIT=y | |||
830 | # CONFIG_I2C_PARPORT_LIGHT is not set | 835 | # CONFIG_I2C_PARPORT_LIGHT is not set |
831 | # CONFIG_I2C_PROSAVAGE is not set | 836 | # CONFIG_I2C_PROSAVAGE is not set |
832 | # CONFIG_I2C_SAVAGE4 is not set | 837 | # CONFIG_I2C_SAVAGE4 is not set |
833 | # CONFIG_SCx200_ACB is not set | ||
834 | # CONFIG_I2C_SIS5595 is not set | 838 | # CONFIG_I2C_SIS5595 is not set |
835 | # CONFIG_I2C_SIS630 is not set | 839 | # CONFIG_I2C_SIS630 is not set |
836 | # CONFIG_I2C_SIS96X is not set | 840 | # CONFIG_I2C_SIS96X is not set |
@@ -849,9 +853,7 @@ CONFIG_I2C_ALGOBIT=y | |||
849 | # CONFIG_SENSORS_PCF8574 is not set | 853 | # CONFIG_SENSORS_PCF8574 is not set |
850 | # CONFIG_SENSORS_PCA9539 is not set | 854 | # CONFIG_SENSORS_PCA9539 is not set |
851 | # CONFIG_SENSORS_PCF8591 is not set | 855 | # CONFIG_SENSORS_PCF8591 is not set |
852 | # CONFIG_SENSORS_RTC8564 is not set | ||
853 | # CONFIG_SENSORS_MAX6875 is not set | 856 | # CONFIG_SENSORS_MAX6875 is not set |
854 | # CONFIG_RTC_X1205_I2C is not set | ||
855 | # CONFIG_I2C_DEBUG_CORE is not set | 857 | # CONFIG_I2C_DEBUG_CORE is not set |
856 | # CONFIG_I2C_DEBUG_ALGO is not set | 858 | # CONFIG_I2C_DEBUG_ALGO is not set |
857 | # CONFIG_I2C_DEBUG_BUS is not set | 859 | # CONFIG_I2C_DEBUG_BUS is not set |
@@ -879,10 +881,6 @@ CONFIG_I2C_ALGOBIT=y | |||
879 | # | 881 | # |
880 | 882 | ||
881 | # | 883 | # |
882 | # Multimedia Capabilities Port drivers | ||
883 | # | ||
884 | |||
885 | # | ||
886 | # Multimedia devices | 884 | # Multimedia devices |
887 | # | 885 | # |
888 | # CONFIG_VIDEO_DEV is not set | 886 | # CONFIG_VIDEO_DEV is not set |
@@ -891,6 +889,7 @@ CONFIG_I2C_ALGOBIT=y | |||
891 | # Digital Video Broadcasting Devices | 889 | # Digital Video Broadcasting Devices |
892 | # | 890 | # |
893 | # CONFIG_DVB is not set | 891 | # CONFIG_DVB is not set |
892 | # CONFIG_USB_DABUSB is not set | ||
894 | 893 | ||
895 | # | 894 | # |
896 | # Graphics support | 895 | # Graphics support |
@@ -900,6 +899,7 @@ CONFIG_FB_CFB_FILLRECT=y | |||
900 | CONFIG_FB_CFB_COPYAREA=y | 899 | CONFIG_FB_CFB_COPYAREA=y |
901 | CONFIG_FB_CFB_IMAGEBLIT=y | 900 | CONFIG_FB_CFB_IMAGEBLIT=y |
902 | CONFIG_FB_MACMODES=y | 901 | CONFIG_FB_MACMODES=y |
902 | CONFIG_FB_FIRMWARE_EDID=y | ||
903 | CONFIG_FB_MODE_HELPERS=y | 903 | CONFIG_FB_MODE_HELPERS=y |
904 | CONFIG_FB_TILEBLITTING=y | 904 | CONFIG_FB_TILEBLITTING=y |
905 | # CONFIG_FB_CIRRUS is not set | 905 | # CONFIG_FB_CIRRUS is not set |
@@ -919,7 +919,6 @@ CONFIG_FB_MATROX_MYSTIQUE=y | |||
919 | CONFIG_FB_MATROX_G=y | 919 | CONFIG_FB_MATROX_G=y |
920 | # CONFIG_FB_MATROX_I2C is not set | 920 | # CONFIG_FB_MATROX_I2C is not set |
921 | CONFIG_FB_MATROX_MULTIHEAD=y | 921 | CONFIG_FB_MATROX_MULTIHEAD=y |
922 | # CONFIG_FB_RADEON_OLD is not set | ||
923 | CONFIG_FB_RADEON=y | 922 | CONFIG_FB_RADEON=y |
924 | CONFIG_FB_RADEON_I2C=y | 923 | CONFIG_FB_RADEON_I2C=y |
925 | # CONFIG_FB_RADEON_DEBUG is not set | 924 | # CONFIG_FB_RADEON_DEBUG is not set |
@@ -968,6 +967,7 @@ CONFIG_LCD_DEVICE=y | |||
968 | # | 967 | # |
969 | CONFIG_USB_ARCH_HAS_HCD=y | 968 | CONFIG_USB_ARCH_HAS_HCD=y |
970 | CONFIG_USB_ARCH_HAS_OHCI=y | 969 | CONFIG_USB_ARCH_HAS_OHCI=y |
970 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
971 | CONFIG_USB=y | 971 | CONFIG_USB=y |
972 | # CONFIG_USB_DEBUG is not set | 972 | # CONFIG_USB_DEBUG is not set |
973 | 973 | ||
@@ -1048,15 +1048,6 @@ CONFIG_USB_HIDDEV=y | |||
1048 | # CONFIG_USB_MICROTEK is not set | 1048 | # CONFIG_USB_MICROTEK is not set |
1049 | 1049 | ||
1050 | # | 1050 | # |
1051 | # USB Multimedia devices | ||
1052 | # | ||
1053 | # CONFIG_USB_DABUSB is not set | ||
1054 | |||
1055 | # | ||
1056 | # Video4Linux support is needed for USB Multimedia device support | ||
1057 | # | ||
1058 | |||
1059 | # | ||
1060 | # USB Network Adapters | 1051 | # USB Network Adapters |
1061 | # | 1052 | # |
1062 | # CONFIG_USB_CATC is not set | 1053 | # CONFIG_USB_CATC is not set |
@@ -1109,6 +1100,11 @@ CONFIG_USB_MON=y | |||
1109 | # CONFIG_MMC is not set | 1100 | # CONFIG_MMC is not set |
1110 | 1101 | ||
1111 | # | 1102 | # |
1103 | # LED devices | ||
1104 | # | ||
1105 | # CONFIG_NEW_LEDS is not set | ||
1106 | |||
1107 | # | ||
1112 | # InfiniBand support | 1108 | # InfiniBand support |
1113 | # | 1109 | # |
1114 | CONFIG_INFINIBAND=m | 1110 | CONFIG_INFINIBAND=m |
@@ -1121,12 +1117,13 @@ CONFIG_INFINIBAND_IPOIB=m | |||
1121 | # CONFIG_INFINIBAND_SRP is not set | 1117 | # CONFIG_INFINIBAND_SRP is not set |
1122 | 1118 | ||
1123 | # | 1119 | # |
1124 | # SN Devices | 1120 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
1125 | # | 1121 | # |
1126 | 1122 | ||
1127 | # | 1123 | # |
1128 | # EDAC - error detection and reporting (RAS) | 1124 | # Real Time Clock |
1129 | # | 1125 | # |
1126 | # CONFIG_RTC_CLASS is not set | ||
1130 | 1127 | ||
1131 | # | 1128 | # |
1132 | # File systems | 1129 | # File systems |
@@ -1202,7 +1199,6 @@ CONFIG_TMPFS=y | |||
1202 | CONFIG_HUGETLBFS=y | 1199 | CONFIG_HUGETLBFS=y |
1203 | CONFIG_HUGETLB_PAGE=y | 1200 | CONFIG_HUGETLB_PAGE=y |
1204 | CONFIG_RAMFS=y | 1201 | CONFIG_RAMFS=y |
1205 | # CONFIG_RELAYFS_FS is not set | ||
1206 | # CONFIG_CONFIGFS_FS is not set | 1202 | # CONFIG_CONFIGFS_FS is not set |
1207 | 1203 | ||
1208 | # | 1204 | # |
diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c index d9a7fdef59b9..4eba60a32890 100644 --- a/arch/powerpc/kernel/iommu.c +++ b/arch/powerpc/kernel/iommu.c | |||
@@ -61,6 +61,7 @@ __setup("iommu=", setup_iommu); | |||
61 | static unsigned long iommu_range_alloc(struct iommu_table *tbl, | 61 | static unsigned long iommu_range_alloc(struct iommu_table *tbl, |
62 | unsigned long npages, | 62 | unsigned long npages, |
63 | unsigned long *handle, | 63 | unsigned long *handle, |
64 | unsigned long mask, | ||
64 | unsigned int align_order) | 65 | unsigned int align_order) |
65 | { | 66 | { |
66 | unsigned long n, end, i, start; | 67 | unsigned long n, end, i, start; |
@@ -97,9 +98,21 @@ static unsigned long iommu_range_alloc(struct iommu_table *tbl, | |||
97 | */ | 98 | */ |
98 | if (start >= limit) | 99 | if (start >= limit) |
99 | start = largealloc ? tbl->it_largehint : tbl->it_hint; | 100 | start = largealloc ? tbl->it_largehint : tbl->it_hint; |
100 | 101 | ||
101 | again: | 102 | again: |
102 | 103 | ||
104 | if (limit + tbl->it_offset > mask) { | ||
105 | limit = mask - tbl->it_offset + 1; | ||
106 | /* If we're constrained on address range, first try | ||
107 | * at the masked hint to avoid O(n) search complexity, | ||
108 | * but on second pass, start at 0. | ||
109 | */ | ||
110 | if ((start & mask) >= limit || pass > 0) | ||
111 | start = 0; | ||
112 | else | ||
113 | start &= mask; | ||
114 | } | ||
115 | |||
103 | n = find_next_zero_bit(tbl->it_map, limit, start); | 116 | n = find_next_zero_bit(tbl->it_map, limit, start); |
104 | 117 | ||
105 | /* Align allocation */ | 118 | /* Align allocation */ |
@@ -150,14 +163,14 @@ static unsigned long iommu_range_alloc(struct iommu_table *tbl, | |||
150 | 163 | ||
151 | static dma_addr_t iommu_alloc(struct iommu_table *tbl, void *page, | 164 | static dma_addr_t iommu_alloc(struct iommu_table *tbl, void *page, |
152 | unsigned int npages, enum dma_data_direction direction, | 165 | unsigned int npages, enum dma_data_direction direction, |
153 | unsigned int align_order) | 166 | unsigned long mask, unsigned int align_order) |
154 | { | 167 | { |
155 | unsigned long entry, flags; | 168 | unsigned long entry, flags; |
156 | dma_addr_t ret = DMA_ERROR_CODE; | 169 | dma_addr_t ret = DMA_ERROR_CODE; |
157 | 170 | ||
158 | spin_lock_irqsave(&(tbl->it_lock), flags); | 171 | spin_lock_irqsave(&(tbl->it_lock), flags); |
159 | 172 | ||
160 | entry = iommu_range_alloc(tbl, npages, NULL, align_order); | 173 | entry = iommu_range_alloc(tbl, npages, NULL, mask, align_order); |
161 | 174 | ||
162 | if (unlikely(entry == DMA_ERROR_CODE)) { | 175 | if (unlikely(entry == DMA_ERROR_CODE)) { |
163 | spin_unlock_irqrestore(&(tbl->it_lock), flags); | 176 | spin_unlock_irqrestore(&(tbl->it_lock), flags); |
@@ -236,7 +249,7 @@ static void iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr, | |||
236 | 249 | ||
237 | int iommu_map_sg(struct device *dev, struct iommu_table *tbl, | 250 | int iommu_map_sg(struct device *dev, struct iommu_table *tbl, |
238 | struct scatterlist *sglist, int nelems, | 251 | struct scatterlist *sglist, int nelems, |
239 | enum dma_data_direction direction) | 252 | unsigned long mask, enum dma_data_direction direction) |
240 | { | 253 | { |
241 | dma_addr_t dma_next = 0, dma_addr; | 254 | dma_addr_t dma_next = 0, dma_addr; |
242 | unsigned long flags; | 255 | unsigned long flags; |
@@ -274,7 +287,7 @@ int iommu_map_sg(struct device *dev, struct iommu_table *tbl, | |||
274 | vaddr = (unsigned long)page_address(s->page) + s->offset; | 287 | vaddr = (unsigned long)page_address(s->page) + s->offset; |
275 | npages = PAGE_ALIGN(vaddr + slen) - (vaddr & PAGE_MASK); | 288 | npages = PAGE_ALIGN(vaddr + slen) - (vaddr & PAGE_MASK); |
276 | npages >>= PAGE_SHIFT; | 289 | npages >>= PAGE_SHIFT; |
277 | entry = iommu_range_alloc(tbl, npages, &handle, 0); | 290 | entry = iommu_range_alloc(tbl, npages, &handle, mask >> PAGE_SHIFT, 0); |
278 | 291 | ||
279 | DBG(" - vaddr: %lx, size: %lx\n", vaddr, slen); | 292 | DBG(" - vaddr: %lx, size: %lx\n", vaddr, slen); |
280 | 293 | ||
@@ -479,7 +492,8 @@ void iommu_free_table(struct device_node *dn) | |||
479 | * byte within the page as vaddr. | 492 | * byte within the page as vaddr. |
480 | */ | 493 | */ |
481 | dma_addr_t iommu_map_single(struct iommu_table *tbl, void *vaddr, | 494 | dma_addr_t iommu_map_single(struct iommu_table *tbl, void *vaddr, |
482 | size_t size, enum dma_data_direction direction) | 495 | size_t size, unsigned long mask, |
496 | enum dma_data_direction direction) | ||
483 | { | 497 | { |
484 | dma_addr_t dma_handle = DMA_ERROR_CODE; | 498 | dma_addr_t dma_handle = DMA_ERROR_CODE; |
485 | unsigned long uaddr; | 499 | unsigned long uaddr; |
@@ -492,7 +506,8 @@ dma_addr_t iommu_map_single(struct iommu_table *tbl, void *vaddr, | |||
492 | npages >>= PAGE_SHIFT; | 506 | npages >>= PAGE_SHIFT; |
493 | 507 | ||
494 | if (tbl) { | 508 | if (tbl) { |
495 | dma_handle = iommu_alloc(tbl, vaddr, npages, direction, 0); | 509 | dma_handle = iommu_alloc(tbl, vaddr, npages, direction, |
510 | mask >> PAGE_SHIFT, 0); | ||
496 | if (dma_handle == DMA_ERROR_CODE) { | 511 | if (dma_handle == DMA_ERROR_CODE) { |
497 | if (printk_ratelimit()) { | 512 | if (printk_ratelimit()) { |
498 | printk(KERN_INFO "iommu_alloc failed, " | 513 | printk(KERN_INFO "iommu_alloc failed, " |
@@ -521,7 +536,7 @@ void iommu_unmap_single(struct iommu_table *tbl, dma_addr_t dma_handle, | |||
521 | * to the dma address (mapping) of the first page. | 536 | * to the dma address (mapping) of the first page. |
522 | */ | 537 | */ |
523 | void *iommu_alloc_coherent(struct iommu_table *tbl, size_t size, | 538 | void *iommu_alloc_coherent(struct iommu_table *tbl, size_t size, |
524 | dma_addr_t *dma_handle, gfp_t flag) | 539 | dma_addr_t *dma_handle, unsigned long mask, gfp_t flag) |
525 | { | 540 | { |
526 | void *ret = NULL; | 541 | void *ret = NULL; |
527 | dma_addr_t mapping; | 542 | dma_addr_t mapping; |
@@ -551,7 +566,8 @@ void *iommu_alloc_coherent(struct iommu_table *tbl, size_t size, | |||
551 | memset(ret, 0, size); | 566 | memset(ret, 0, size); |
552 | 567 | ||
553 | /* Set up tces to cover the allocated range */ | 568 | /* Set up tces to cover the allocated range */ |
554 | mapping = iommu_alloc(tbl, ret, npages, DMA_BIDIRECTIONAL, order); | 569 | mapping = iommu_alloc(tbl, ret, npages, DMA_BIDIRECTIONAL, |
570 | mask >> PAGE_SHIFT, order); | ||
555 | if (mapping == DMA_ERROR_CODE) { | 571 | if (mapping == DMA_ERROR_CODE) { |
556 | free_pages((unsigned long)ret, order); | 572 | free_pages((unsigned long)ret, order); |
557 | ret = NULL; | 573 | ret = NULL; |
diff --git a/arch/powerpc/kernel/pci_iommu.c b/arch/powerpc/kernel/pci_iommu.c index c336f3e31cff..c1d95e14bbed 100644 --- a/arch/powerpc/kernel/pci_iommu.c +++ b/arch/powerpc/kernel/pci_iommu.c | |||
@@ -59,6 +59,25 @@ static inline struct iommu_table *devnode_table(struct device *dev) | |||
59 | } | 59 | } |
60 | 60 | ||
61 | 61 | ||
62 | static inline unsigned long device_to_mask(struct device *hwdev) | ||
63 | { | ||
64 | struct pci_dev *pdev; | ||
65 | |||
66 | if (!hwdev) { | ||
67 | pdev = ppc64_isabridge_dev; | ||
68 | if (!pdev) /* This is the best guess we can do */ | ||
69 | return 0xfffffffful; | ||
70 | } else | ||
71 | pdev = to_pci_dev(hwdev); | ||
72 | |||
73 | if (pdev->dma_mask) | ||
74 | return pdev->dma_mask; | ||
75 | |||
76 | /* Assume devices without mask can take 32 bit addresses */ | ||
77 | return 0xfffffffful; | ||
78 | } | ||
79 | |||
80 | |||
62 | /* Allocates a contiguous real buffer and creates mappings over it. | 81 | /* Allocates a contiguous real buffer and creates mappings over it. |
63 | * Returns the virtual address of the buffer and sets dma_handle | 82 | * Returns the virtual address of the buffer and sets dma_handle |
64 | * to the dma address (mapping) of the first page. | 83 | * to the dma address (mapping) of the first page. |
@@ -67,7 +86,7 @@ static void *pci_iommu_alloc_coherent(struct device *hwdev, size_t size, | |||
67 | dma_addr_t *dma_handle, gfp_t flag) | 86 | dma_addr_t *dma_handle, gfp_t flag) |
68 | { | 87 | { |
69 | return iommu_alloc_coherent(devnode_table(hwdev), size, dma_handle, | 88 | return iommu_alloc_coherent(devnode_table(hwdev), size, dma_handle, |
70 | flag); | 89 | device_to_mask(hwdev), flag); |
71 | } | 90 | } |
72 | 91 | ||
73 | static void pci_iommu_free_coherent(struct device *hwdev, size_t size, | 92 | static void pci_iommu_free_coherent(struct device *hwdev, size_t size, |
@@ -85,7 +104,8 @@ static void pci_iommu_free_coherent(struct device *hwdev, size_t size, | |||
85 | static dma_addr_t pci_iommu_map_single(struct device *hwdev, void *vaddr, | 104 | static dma_addr_t pci_iommu_map_single(struct device *hwdev, void *vaddr, |
86 | size_t size, enum dma_data_direction direction) | 105 | size_t size, enum dma_data_direction direction) |
87 | { | 106 | { |
88 | return iommu_map_single(devnode_table(hwdev), vaddr, size, direction); | 107 | return iommu_map_single(devnode_table(hwdev), vaddr, size, |
108 | device_to_mask(hwdev), direction); | ||
89 | } | 109 | } |
90 | 110 | ||
91 | 111 | ||
@@ -100,7 +120,7 @@ static int pci_iommu_map_sg(struct device *pdev, struct scatterlist *sglist, | |||
100 | int nelems, enum dma_data_direction direction) | 120 | int nelems, enum dma_data_direction direction) |
101 | { | 121 | { |
102 | return iommu_map_sg(pdev, devnode_table(pdev), sglist, | 122 | return iommu_map_sg(pdev, devnode_table(pdev), sglist, |
103 | nelems, direction); | 123 | nelems, device_to_mask(pdev), direction); |
104 | } | 124 | } |
105 | 125 | ||
106 | static void pci_iommu_unmap_sg(struct device *pdev, struct scatterlist *sglist, | 126 | static void pci_iommu_unmap_sg(struct device *pdev, struct scatterlist *sglist, |
@@ -112,7 +132,19 @@ static void pci_iommu_unmap_sg(struct device *pdev, struct scatterlist *sglist, | |||
112 | /* We support DMA to/from any memory page via the iommu */ | 132 | /* We support DMA to/from any memory page via the iommu */ |
113 | static int pci_iommu_dma_supported(struct device *dev, u64 mask) | 133 | static int pci_iommu_dma_supported(struct device *dev, u64 mask) |
114 | { | 134 | { |
115 | return 1; | 135 | struct iommu_table *tbl = devnode_table(dev); |
136 | |||
137 | if (!tbl || tbl->it_offset > mask) { | ||
138 | printk(KERN_INFO "Warning: IOMMU table offset too big for device mask\n"); | ||
139 | if (tbl) | ||
140 | printk(KERN_INFO "mask: 0x%08lx, table offset: 0x%08lx\n", | ||
141 | mask, tbl->it_offset); | ||
142 | else | ||
143 | printk(KERN_INFO "mask: 0x%08lx, table unavailable\n", | ||
144 | mask); | ||
145 | return 0; | ||
146 | } else | ||
147 | return 1; | ||
116 | } | 148 | } |
117 | 149 | ||
118 | void pci_iommu_init(void) | 150 | void pci_iommu_init(void) |
diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c index dfa5398ab3c8..4b052ae5dc34 100644 --- a/arch/powerpc/kernel/ppc_ksyms.c +++ b/arch/powerpc/kernel/ppc_ksyms.c | |||
@@ -81,6 +81,7 @@ EXPORT_SYMBOL(strcat); | |||
81 | EXPORT_SYMBOL(strlen); | 81 | EXPORT_SYMBOL(strlen); |
82 | EXPORT_SYMBOL(strcmp); | 82 | EXPORT_SYMBOL(strcmp); |
83 | EXPORT_SYMBOL(strcasecmp); | 83 | EXPORT_SYMBOL(strcasecmp); |
84 | EXPORT_SYMBOL(strncasecmp); | ||
84 | 85 | ||
85 | EXPORT_SYMBOL(csum_partial); | 86 | EXPORT_SYMBOL(csum_partial); |
86 | EXPORT_SYMBOL(csum_partial_copy_generic); | 87 | EXPORT_SYMBOL(csum_partial_copy_generic); |
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index 4336390bcf34..1cb69e8fb0b1 100644 --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c | |||
@@ -62,7 +62,7 @@ static int __initdata dt_root_addr_cells; | |||
62 | static int __initdata dt_root_size_cells; | 62 | static int __initdata dt_root_size_cells; |
63 | 63 | ||
64 | #ifdef CONFIG_PPC64 | 64 | #ifdef CONFIG_PPC64 |
65 | static int __initdata iommu_is_off; | 65 | int __initdata iommu_is_off; |
66 | int __initdata iommu_force_on; | 66 | int __initdata iommu_force_on; |
67 | unsigned long tce_alloc_start, tce_alloc_end; | 67 | unsigned long tce_alloc_start, tce_alloc_end; |
68 | #endif | 68 | #endif |
diff --git a/arch/powerpc/kernel/sysfs.c b/arch/powerpc/kernel/sysfs.c index 73560ef6f802..ed737cacf92d 100644 --- a/arch/powerpc/kernel/sysfs.c +++ b/arch/powerpc/kernel/sysfs.c | |||
@@ -279,7 +279,7 @@ static void unregister_cpu_online(unsigned int cpu) | |||
279 | } | 279 | } |
280 | #endif /* CONFIG_HOTPLUG_CPU */ | 280 | #endif /* CONFIG_HOTPLUG_CPU */ |
281 | 281 | ||
282 | static int __devinit sysfs_cpu_notify(struct notifier_block *self, | 282 | static int sysfs_cpu_notify(struct notifier_block *self, |
283 | unsigned long action, void *hcpu) | 283 | unsigned long action, void *hcpu) |
284 | { | 284 | { |
285 | unsigned int cpu = (unsigned int)(long)hcpu; | 285 | unsigned int cpu = (unsigned int)(long)hcpu; |
@@ -297,7 +297,7 @@ static int __devinit sysfs_cpu_notify(struct notifier_block *self, | |||
297 | return NOTIFY_OK; | 297 | return NOTIFY_OK; |
298 | } | 298 | } |
299 | 299 | ||
300 | static struct notifier_block __devinitdata sysfs_cpu_nb = { | 300 | static struct notifier_block sysfs_cpu_nb = { |
301 | .notifier_call = sysfs_cpu_notify, | 301 | .notifier_call = sysfs_cpu_notify, |
302 | }; | 302 | }; |
303 | 303 | ||
diff --git a/arch/powerpc/kernel/systbl.S b/arch/powerpc/kernel/systbl.S index a14c96403840..0b98eea73c5e 100644 --- a/arch/powerpc/kernel/systbl.S +++ b/arch/powerpc/kernel/systbl.S | |||
@@ -324,3 +324,9 @@ COMPAT_SYS(ppoll) | |||
324 | SYSCALL(unshare) | 324 | SYSCALL(unshare) |
325 | SYSCALL(splice) | 325 | SYSCALL(splice) |
326 | SYSCALL(tee) | 326 | SYSCALL(tee) |
327 | SYSCALL(vmsplice) | ||
328 | |||
329 | /* | ||
330 | * please add new calls to arch/powerpc/platforms/cell/spu_callbacks.c | ||
331 | * as well when appropriate. | ||
332 | */ | ||
diff --git a/arch/powerpc/kernel/vio.c b/arch/powerpc/kernel/vio.c index 13c655ba2841..971020cf3f7d 100644 --- a/arch/powerpc/kernel/vio.c +++ b/arch/powerpc/kernel/vio.c | |||
@@ -202,7 +202,7 @@ static dma_addr_t vio_map_single(struct device *dev, void *vaddr, | |||
202 | size_t size, enum dma_data_direction direction) | 202 | size_t size, enum dma_data_direction direction) |
203 | { | 203 | { |
204 | return iommu_map_single(to_vio_dev(dev)->iommu_table, vaddr, size, | 204 | return iommu_map_single(to_vio_dev(dev)->iommu_table, vaddr, size, |
205 | direction); | 205 | ~0ul, direction); |
206 | } | 206 | } |
207 | 207 | ||
208 | static void vio_unmap_single(struct device *dev, dma_addr_t dma_handle, | 208 | static void vio_unmap_single(struct device *dev, dma_addr_t dma_handle, |
@@ -216,7 +216,7 @@ static int vio_map_sg(struct device *dev, struct scatterlist *sglist, | |||
216 | int nelems, enum dma_data_direction direction) | 216 | int nelems, enum dma_data_direction direction) |
217 | { | 217 | { |
218 | return iommu_map_sg(dev, to_vio_dev(dev)->iommu_table, sglist, | 218 | return iommu_map_sg(dev, to_vio_dev(dev)->iommu_table, sglist, |
219 | nelems, direction); | 219 | nelems, ~0ul, direction); |
220 | } | 220 | } |
221 | 221 | ||
222 | static void vio_unmap_sg(struct device *dev, struct scatterlist *sglist, | 222 | static void vio_unmap_sg(struct device *dev, struct scatterlist *sglist, |
@@ -229,7 +229,7 @@ static void *vio_alloc_coherent(struct device *dev, size_t size, | |||
229 | dma_addr_t *dma_handle, gfp_t flag) | 229 | dma_addr_t *dma_handle, gfp_t flag) |
230 | { | 230 | { |
231 | return iommu_alloc_coherent(to_vio_dev(dev)->iommu_table, size, | 231 | return iommu_alloc_coherent(to_vio_dev(dev)->iommu_table, size, |
232 | dma_handle, flag); | 232 | dma_handle, ~0ul, flag); |
233 | } | 233 | } |
234 | 234 | ||
235 | static void vio_free_coherent(struct device *dev, size_t size, | 235 | static void vio_free_coherent(struct device *dev, size_t size, |
diff --git a/arch/powerpc/platforms/cell/spu_callbacks.c b/arch/powerpc/platforms/cell/spu_callbacks.c index 6594bec73882..b283380a2a18 100644 --- a/arch/powerpc/platforms/cell/spu_callbacks.c +++ b/arch/powerpc/platforms/cell/spu_callbacks.c | |||
@@ -317,17 +317,17 @@ void *spu_syscall_table[] = { | |||
317 | [__NR_ppoll] sys_ni_syscall, /* sys_ppoll */ | 317 | [__NR_ppoll] sys_ni_syscall, /* sys_ppoll */ |
318 | [__NR_unshare] sys_unshare, | 318 | [__NR_unshare] sys_unshare, |
319 | [__NR_splice] sys_splice, | 319 | [__NR_splice] sys_splice, |
320 | [__NR_tee] sys_tee, | ||
321 | [__NR_vmsplice] sys_vmsplice, | ||
320 | }; | 322 | }; |
321 | 323 | ||
322 | long spu_sys_callback(struct spu_syscall_block *s) | 324 | long spu_sys_callback(struct spu_syscall_block *s) |
323 | { | 325 | { |
324 | long (*syscall)(u64 a1, u64 a2, u64 a3, u64 a4, u64 a5, u64 a6); | 326 | long (*syscall)(u64 a1, u64 a2, u64 a3, u64 a4, u64 a5, u64 a6); |
325 | 327 | ||
326 | BUILD_BUG_ON(ARRAY_SIZE(spu_syscall_table) != __NR_syscalls); | ||
327 | |||
328 | syscall = spu_syscall_table[s->nr_ret]; | 328 | syscall = spu_syscall_table[s->nr_ret]; |
329 | 329 | ||
330 | if (s->nr_ret >= __NR_syscalls) { | 330 | if (s->nr_ret >= ARRAY_SIZE(spu_syscall_table)) { |
331 | pr_debug("%s: invalid syscall #%ld", __FUNCTION__, s->nr_ret); | 331 | pr_debug("%s: invalid syscall #%ld", __FUNCTION__, s->nr_ret); |
332 | return -ENOSYS; | 332 | return -ENOSYS; |
333 | } | 333 | } |
diff --git a/arch/powerpc/platforms/powermac/low_i2c.c b/arch/powerpc/platforms/powermac/low_i2c.c index e14f9ac55cf4..df2343e1956b 100644 --- a/arch/powerpc/platforms/powermac/low_i2c.c +++ b/arch/powerpc/platforms/powermac/low_i2c.c | |||
@@ -231,6 +231,14 @@ static u8 kw_i2c_wait_interrupt(struct pmac_i2c_host_kw *host) | |||
231 | return isr; | 231 | return isr; |
232 | } | 232 | } |
233 | 233 | ||
234 | static void kw_i2c_do_stop(struct pmac_i2c_host_kw *host, int result) | ||
235 | { | ||
236 | kw_write_reg(reg_control, KW_I2C_CTL_STOP); | ||
237 | host->state = state_stop; | ||
238 | host->result = result; | ||
239 | } | ||
240 | |||
241 | |||
234 | static void kw_i2c_handle_interrupt(struct pmac_i2c_host_kw *host, u8 isr) | 242 | static void kw_i2c_handle_interrupt(struct pmac_i2c_host_kw *host, u8 isr) |
235 | { | 243 | { |
236 | u8 ack; | 244 | u8 ack; |
@@ -246,42 +254,36 @@ static void kw_i2c_handle_interrupt(struct pmac_i2c_host_kw *host, u8 isr) | |||
246 | } | 254 | } |
247 | 255 | ||
248 | if (isr == 0) { | 256 | if (isr == 0) { |
257 | printk(KERN_WARNING "low_i2c: Timeout in i2c transfer" | ||
258 | " on keywest !\n"); | ||
249 | if (host->state != state_stop) { | 259 | if (host->state != state_stop) { |
250 | DBG_LOW("KW: Timeout !\n"); | 260 | kw_i2c_do_stop(host, -EIO); |
251 | host->result = -EIO; | 261 | return; |
252 | goto stop; | ||
253 | } | ||
254 | if (host->state == state_stop) { | ||
255 | ack = kw_read_reg(reg_status); | ||
256 | if (ack & KW_I2C_STAT_BUSY) | ||
257 | kw_write_reg(reg_status, 0); | ||
258 | host->state = state_idle; | ||
259 | kw_write_reg(reg_ier, 0x00); | ||
260 | if (!host->polled) | ||
261 | complete(&host->complete); | ||
262 | } | 262 | } |
263 | ack = kw_read_reg(reg_status); | ||
264 | if (ack & KW_I2C_STAT_BUSY) | ||
265 | kw_write_reg(reg_status, 0); | ||
266 | host->state = state_idle; | ||
267 | kw_write_reg(reg_ier, 0x00); | ||
268 | if (!host->polled) | ||
269 | complete(&host->complete); | ||
263 | return; | 270 | return; |
264 | } | 271 | } |
265 | 272 | ||
266 | if (isr & KW_I2C_IRQ_ADDR) { | 273 | if (isr & KW_I2C_IRQ_ADDR) { |
267 | ack = kw_read_reg(reg_status); | 274 | ack = kw_read_reg(reg_status); |
268 | if (host->state != state_addr) { | 275 | if (host->state != state_addr) { |
269 | kw_write_reg(reg_isr, KW_I2C_IRQ_ADDR); | ||
270 | WRONG_STATE("KW_I2C_IRQ_ADDR"); | 276 | WRONG_STATE("KW_I2C_IRQ_ADDR"); |
271 | host->result = -EIO; | 277 | kw_i2c_do_stop(host, -EIO); |
272 | goto stop; | ||
273 | } | 278 | } |
274 | if ((ack & KW_I2C_STAT_LAST_AAK) == 0) { | 279 | if ((ack & KW_I2C_STAT_LAST_AAK) == 0) { |
275 | host->result = -ENODEV; | 280 | host->result = -ENXIO; |
276 | DBG_LOW("KW: NAK on address\n"); | ||
277 | host->state = state_stop; | 281 | host->state = state_stop; |
278 | return; | 282 | DBG_LOW("KW: NAK on address\n"); |
279 | } else { | 283 | } else { |
280 | if (host->len == 0) { | 284 | if (host->len == 0) |
281 | kw_write_reg(reg_isr, KW_I2C_IRQ_ADDR); | 285 | kw_i2c_do_stop(host, 0); |
282 | goto stop; | 286 | else if (host->rw) { |
283 | } | ||
284 | if (host->rw) { | ||
285 | host->state = state_read; | 287 | host->state = state_read; |
286 | if (host->len > 1) | 288 | if (host->len > 1) |
287 | kw_write_reg(reg_control, | 289 | kw_write_reg(reg_control, |
@@ -308,25 +310,19 @@ static void kw_i2c_handle_interrupt(struct pmac_i2c_host_kw *host, u8 isr) | |||
308 | ack = kw_read_reg(reg_status); | 310 | ack = kw_read_reg(reg_status); |
309 | if ((ack & KW_I2C_STAT_LAST_AAK) == 0) { | 311 | if ((ack & KW_I2C_STAT_LAST_AAK) == 0) { |
310 | DBG_LOW("KW: nack on data write\n"); | 312 | DBG_LOW("KW: nack on data write\n"); |
311 | host->result = -EIO; | 313 | host->result = -EFBIG; |
312 | goto stop; | 314 | host->state = state_stop; |
313 | } else if (host->len) { | 315 | } else if (host->len) { |
314 | kw_write_reg(reg_data, *(host->data++)); | 316 | kw_write_reg(reg_data, *(host->data++)); |
315 | host->len--; | 317 | host->len--; |
316 | } else { | 318 | } else |
317 | kw_write_reg(reg_control, KW_I2C_CTL_STOP); | 319 | kw_i2c_do_stop(host, 0); |
318 | host->state = state_stop; | ||
319 | host->result = 0; | ||
320 | } | ||
321 | kw_write_reg(reg_isr, KW_I2C_IRQ_DATA); | ||
322 | } else { | 320 | } else { |
323 | kw_write_reg(reg_isr, KW_I2C_IRQ_DATA); | ||
324 | WRONG_STATE("KW_I2C_IRQ_DATA"); | 321 | WRONG_STATE("KW_I2C_IRQ_DATA"); |
325 | if (host->state != state_stop) { | 322 | if (host->state != state_stop) |
326 | host->result = -EIO; | 323 | kw_i2c_do_stop(host, -EIO); |
327 | goto stop; | ||
328 | } | ||
329 | } | 324 | } |
325 | kw_write_reg(reg_isr, KW_I2C_IRQ_DATA); | ||
330 | } | 326 | } |
331 | 327 | ||
332 | if (isr & KW_I2C_IRQ_STOP) { | 328 | if (isr & KW_I2C_IRQ_STOP) { |
@@ -340,14 +336,10 @@ static void kw_i2c_handle_interrupt(struct pmac_i2c_host_kw *host, u8 isr) | |||
340 | complete(&host->complete); | 336 | complete(&host->complete); |
341 | } | 337 | } |
342 | 338 | ||
339 | /* Below should only happen in manual mode which we don't use ... */ | ||
343 | if (isr & KW_I2C_IRQ_START) | 340 | if (isr & KW_I2C_IRQ_START) |
344 | kw_write_reg(reg_isr, KW_I2C_IRQ_START); | 341 | kw_write_reg(reg_isr, KW_I2C_IRQ_START); |
345 | 342 | ||
346 | return; | ||
347 | stop: | ||
348 | kw_write_reg(reg_control, KW_I2C_CTL_STOP); | ||
349 | host->state = state_stop; | ||
350 | return; | ||
351 | } | 343 | } |
352 | 344 | ||
353 | /* Interrupt handler */ | 345 | /* Interrupt handler */ |
@@ -544,11 +536,11 @@ static struct pmac_i2c_host_kw *__init kw_i2c_host_init(struct device_node *np) | |||
544 | return NULL; | 536 | return NULL; |
545 | } | 537 | } |
546 | 538 | ||
547 | /* Make sure IRA is disabled */ | 539 | /* Make sure IRQ is disabled */ |
548 | kw_write_reg(reg_ier, 0); | 540 | kw_write_reg(reg_ier, 0); |
549 | 541 | ||
550 | /* Request chip interrupt */ | 542 | /* Request chip interrupt */ |
551 | if (request_irq(host->irq, kw_i2c_irq, SA_SHIRQ, "keywest i2c", host)) | 543 | if (request_irq(host->irq, kw_i2c_irq, 0, "keywest i2c", host)) |
552 | host->irq = NO_IRQ; | 544 | host->irq = NO_IRQ; |
553 | 545 | ||
554 | printk(KERN_INFO "KeyWest i2c @0x%08x irq %d %s\n", | 546 | printk(KERN_INFO "KeyWest i2c @0x%08x irq %d %s\n", |
diff --git a/arch/powerpc/sysdev/dart_iommu.c b/arch/powerpc/sysdev/dart_iommu.c index 61d317428610..38087bd6e3cf 100644 --- a/arch/powerpc/sysdev/dart_iommu.c +++ b/arch/powerpc/sysdev/dart_iommu.c | |||
@@ -49,6 +49,7 @@ | |||
49 | 49 | ||
50 | #include "dart.h" | 50 | #include "dart.h" |
51 | 51 | ||
52 | extern int iommu_is_off; | ||
52 | extern int iommu_force_on; | 53 | extern int iommu_force_on; |
53 | 54 | ||
54 | /* Physical base address and size of the DART table */ | 55 | /* Physical base address and size of the DART table */ |
@@ -329,10 +330,17 @@ void iommu_init_early_dart(void) | |||
329 | 330 | ||
330 | void __init alloc_dart_table(void) | 331 | void __init alloc_dart_table(void) |
331 | { | 332 | { |
332 | /* Only reserve DART space if machine has more than 2GB of RAM | 333 | /* Only reserve DART space if machine has more than 1GB of RAM |
333 | * or if requested with iommu=on on cmdline. | 334 | * or if requested with iommu=on on cmdline. |
335 | * | ||
336 | * 1GB of RAM is picked as limit because some default devices | ||
337 | * (i.e. Airport Extreme) have 30 bit address range limits. | ||
334 | */ | 338 | */ |
335 | if (lmb_end_of_DRAM() <= 0x80000000ull && !iommu_force_on) | 339 | |
340 | if (iommu_is_off) | ||
341 | return; | ||
342 | |||
343 | if (!iommu_force_on && lmb_end_of_DRAM() <= 0x40000000ull) | ||
336 | return; | 344 | return; |
337 | 345 | ||
338 | /* 512 pages (2MB) is max DART tablesize. */ | 346 | /* 512 pages (2MB) is max DART tablesize. */ |
diff --git a/arch/ppc/kernel/asm-offsets.c b/arch/ppc/kernel/asm-offsets.c index 77e4dc780f8c..cc7c4aea9397 100644 --- a/arch/ppc/kernel/asm-offsets.c +++ b/arch/ppc/kernel/asm-offsets.c | |||
@@ -134,6 +134,7 @@ main(void) | |||
134 | DEFINE(TI_TASK, offsetof(struct thread_info, task)); | 134 | DEFINE(TI_TASK, offsetof(struct thread_info, task)); |
135 | DEFINE(TI_EXECDOMAIN, offsetof(struct thread_info, exec_domain)); | 135 | DEFINE(TI_EXECDOMAIN, offsetof(struct thread_info, exec_domain)); |
136 | DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); | 136 | DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); |
137 | DEFINE(TI_LOCAL_FLAGS, offsetof(struct thread_info, flags)); | ||
137 | DEFINE(TI_CPU, offsetof(struct thread_info, cpu)); | 138 | DEFINE(TI_CPU, offsetof(struct thread_info, cpu)); |
138 | DEFINE(TI_PREEMPT, offsetof(struct thread_info, preempt_count)); | 139 | DEFINE(TI_PREEMPT, offsetof(struct thread_info, preempt_count)); |
139 | 140 | ||
diff --git a/arch/ppc/kernel/entry.S b/arch/ppc/kernel/entry.S index 5891ecbdc703..1adc9145516f 100644 --- a/arch/ppc/kernel/entry.S +++ b/arch/ppc/kernel/entry.S | |||
@@ -128,29 +128,26 @@ transfer_to_handler: | |||
128 | stw r12,4(r11) | 128 | stw r12,4(r11) |
129 | #endif | 129 | #endif |
130 | b 3f | 130 | b 3f |
131 | |||
131 | 2: /* if from kernel, check interrupted DOZE/NAP mode and | 132 | 2: /* if from kernel, check interrupted DOZE/NAP mode and |
132 | * check for stack overflow | 133 | * check for stack overflow |
133 | */ | 134 | */ |
135 | lwz r9,THREAD_INFO-THREAD(r12) | ||
136 | cmplw r1,r9 /* if r1 <= current->thread_info */ | ||
137 | ble- stack_ovf /* then the kernel stack overflowed */ | ||
138 | 5: | ||
134 | #ifdef CONFIG_6xx | 139 | #ifdef CONFIG_6xx |
135 | mfspr r11,SPRN_HID0 | 140 | tophys(r9,r9) /* check local flags */ |
136 | mtcr r11 | 141 | lwz r12,TI_LOCAL_FLAGS(r9) |
137 | BEGIN_FTR_SECTION | 142 | mtcrf 0x01,r12 |
138 | bt- 8,4f /* Check DOZE */ | 143 | bt- 31-TLF_NAPPING,4f |
139 | END_FTR_SECTION_IFSET(CPU_FTR_CAN_DOZE) | ||
140 | BEGIN_FTR_SECTION | ||
141 | bt- 9,4f /* Check NAP */ | ||
142 | END_FTR_SECTION_IFSET(CPU_FTR_CAN_NAP) | ||
143 | #endif /* CONFIG_6xx */ | 144 | #endif /* CONFIG_6xx */ |
144 | .globl transfer_to_handler_cont | 145 | .globl transfer_to_handler_cont |
145 | transfer_to_handler_cont: | 146 | transfer_to_handler_cont: |
146 | lwz r11,THREAD_INFO-THREAD(r12) | ||
147 | cmplw r1,r11 /* if r1 <= current->thread_info */ | ||
148 | ble- stack_ovf /* then the kernel stack overflowed */ | ||
149 | 3: | 147 | 3: |
150 | mflr r9 | 148 | mflr r9 |
151 | lwz r11,0(r9) /* virtual address of handler */ | 149 | lwz r11,0(r9) /* virtual address of handler */ |
152 | lwz r9,4(r9) /* where to go when done */ | 150 | lwz r9,4(r9) /* where to go when done */ |
153 | FIX_SRR1(r10,r12) | ||
154 | mtspr SPRN_SRR0,r11 | 151 | mtspr SPRN_SRR0,r11 |
155 | mtspr SPRN_SRR1,r10 | 152 | mtspr SPRN_SRR1,r10 |
156 | mtlr r9 | 153 | mtlr r9 |
@@ -158,7 +155,9 @@ transfer_to_handler_cont: | |||
158 | RFI /* jump to handler, enable MMU */ | 155 | RFI /* jump to handler, enable MMU */ |
159 | 156 | ||
160 | #ifdef CONFIG_6xx | 157 | #ifdef CONFIG_6xx |
161 | 4: b power_save_6xx_restore | 158 | 4: rlwinm r12,r12,0,~_TLF_NAPPING |
159 | stw r12,TI_LOCAL_FLAGS(r9) | ||
160 | b power_save_6xx_restore | ||
162 | #endif | 161 | #endif |
163 | 162 | ||
164 | /* | 163 | /* |
@@ -167,10 +166,10 @@ transfer_to_handler_cont: | |||
167 | */ | 166 | */ |
168 | stack_ovf: | 167 | stack_ovf: |
169 | /* sometimes we use a statically-allocated stack, which is OK. */ | 168 | /* sometimes we use a statically-allocated stack, which is OK. */ |
170 | lis r11,_end@h | 169 | lis r12,_end@h |
171 | ori r11,r11,_end@l | 170 | ori r12,r12,_end@l |
172 | cmplw r1,r11 | 171 | cmplw r1,r12 |
173 | ble 3b /* r1 <= &_end is OK */ | 172 | ble 5b /* r1 <= &_end is OK */ |
174 | SAVE_NVGPRS(r11) | 173 | SAVE_NVGPRS(r11) |
175 | addi r3,r1,STACK_FRAME_OVERHEAD | 174 | addi r3,r1,STACK_FRAME_OVERHEAD |
176 | lis r1,init_thread_union@ha | 175 | lis r1,init_thread_union@ha |
diff --git a/arch/ppc/kernel/ppc_ksyms.c b/arch/ppc/kernel/ppc_ksyms.c index 865ba74991a9..b250b1b539b6 100644 --- a/arch/ppc/kernel/ppc_ksyms.c +++ b/arch/ppc/kernel/ppc_ksyms.c | |||
@@ -94,6 +94,7 @@ EXPORT_SYMBOL(strcat); | |||
94 | EXPORT_SYMBOL(strlen); | 94 | EXPORT_SYMBOL(strlen); |
95 | EXPORT_SYMBOL(strcmp); | 95 | EXPORT_SYMBOL(strcmp); |
96 | EXPORT_SYMBOL(strcasecmp); | 96 | EXPORT_SYMBOL(strcasecmp); |
97 | EXPORT_SYMBOL(strncasecmp); | ||
97 | EXPORT_SYMBOL(__div64_32); | 98 | EXPORT_SYMBOL(__div64_32); |
98 | 99 | ||
99 | EXPORT_SYMBOL(csum_partial); | 100 | EXPORT_SYMBOL(csum_partial); |
diff --git a/arch/s390/appldata/appldata_base.c b/arch/s390/appldata/appldata_base.c index 54d35c130907..9a22434a580c 100644 --- a/arch/s390/appldata/appldata_base.c +++ b/arch/s390/appldata/appldata_base.c | |||
@@ -652,7 +652,7 @@ appldata_cpu_notify(struct notifier_block *self, | |||
652 | return NOTIFY_OK; | 652 | return NOTIFY_OK; |
653 | } | 653 | } |
654 | 654 | ||
655 | static struct notifier_block __devinitdata appldata_nb = { | 655 | static struct notifier_block appldata_nb = { |
656 | .notifier_call = appldata_cpu_notify, | 656 | .notifier_call = appldata_cpu_notify, |
657 | }; | 657 | }; |
658 | 658 | ||
diff --git a/arch/x86_64/ia32/Makefile b/arch/x86_64/ia32/Makefile index 929e6b0771f8..e9263b4975e0 100644 --- a/arch/x86_64/ia32/Makefile +++ b/arch/x86_64/ia32/Makefile | |||
@@ -27,5 +27,5 @@ $(obj)/vsyscall-sysenter.so $(obj)/vsyscall-syscall.so: \ | |||
27 | $(obj)/vsyscall-%.so: $(src)/vsyscall.lds $(obj)/vsyscall-%.o FORCE | 27 | $(obj)/vsyscall-%.so: $(src)/vsyscall.lds $(obj)/vsyscall-%.o FORCE |
28 | $(call if_changed,syscall) | 28 | $(call if_changed,syscall) |
29 | 29 | ||
30 | AFLAGS_vsyscall-sysenter.o = -m32 | 30 | AFLAGS_vsyscall-sysenter.o = -m32 -Wa,-32 |
31 | AFLAGS_vsyscall-syscall.o = -m32 | 31 | AFLAGS_vsyscall-syscall.o = -m32 -Wa,-32 |
diff --git a/arch/x86_64/kernel/mce.c b/arch/x86_64/kernel/mce.c index 6f0790e8b6d3..c69fc43cee7b 100644 --- a/arch/x86_64/kernel/mce.c +++ b/arch/x86_64/kernel/mce.c | |||
@@ -629,7 +629,7 @@ static __cpuinit void mce_remove_device(unsigned int cpu) | |||
629 | #endif | 629 | #endif |
630 | 630 | ||
631 | /* Get notified when a cpu comes on/off. Be hotplug friendly. */ | 631 | /* Get notified when a cpu comes on/off. Be hotplug friendly. */ |
632 | static __cpuinit int | 632 | static int |
633 | mce_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) | 633 | mce_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) |
634 | { | 634 | { |
635 | unsigned int cpu = (unsigned long)hcpu; | 635 | unsigned int cpu = (unsigned long)hcpu; |
diff --git a/arch/x86_64/kernel/mce_amd.c b/arch/x86_64/kernel/mce_amd.c index d3ad7d81266d..d13b241ad094 100644 --- a/arch/x86_64/kernel/mce_amd.c +++ b/arch/x86_64/kernel/mce_amd.c | |||
@@ -482,7 +482,7 @@ static void threshold_remove_device(unsigned int cpu) | |||
482 | #endif | 482 | #endif |
483 | 483 | ||
484 | /* get notified when a cpu comes on/off */ | 484 | /* get notified when a cpu comes on/off */ |
485 | static __cpuinit int threshold_cpu_callback(struct notifier_block *nfb, | 485 | static int threshold_cpu_callback(struct notifier_block *nfb, |
486 | unsigned long action, void *hcpu) | 486 | unsigned long action, void *hcpu) |
487 | { | 487 | { |
488 | /* cpu was unsigned int to begin with */ | 488 | /* cpu was unsigned int to begin with */ |
diff --git a/arch/x86_64/kernel/pci-gart.c b/arch/x86_64/kernel/pci-gart.c index a6c01e121266..9d3d76c85ae7 100644 --- a/arch/x86_64/kernel/pci-gart.c +++ b/arch/x86_64/kernel/pci-gart.c | |||
@@ -112,10 +112,6 @@ static unsigned long alloc_iommu(int size) | |||
112 | static void free_iommu(unsigned long offset, int size) | 112 | static void free_iommu(unsigned long offset, int size) |
113 | { | 113 | { |
114 | unsigned long flags; | 114 | unsigned long flags; |
115 | if (size == 1) { | ||
116 | clear_bit(offset, iommu_gart_bitmap); | ||
117 | return; | ||
118 | } | ||
119 | spin_lock_irqsave(&iommu_bitmap_lock, flags); | 115 | spin_lock_irqsave(&iommu_bitmap_lock, flags); |
120 | __clear_bit_string(iommu_gart_bitmap, offset, size); | 116 | __clear_bit_string(iommu_gart_bitmap, offset, size); |
121 | spin_unlock_irqrestore(&iommu_bitmap_lock, flags); | 117 | spin_unlock_irqrestore(&iommu_bitmap_lock, flags); |
diff --git a/arch/x86_64/mm/numa.c b/arch/x86_64/mm/numa.c index cc02573a3271..b2fac14baac0 100644 --- a/arch/x86_64/mm/numa.c +++ b/arch/x86_64/mm/numa.c | |||
@@ -188,11 +188,13 @@ void __init setup_node_zones(int nodeid) | |||
188 | memory. */ | 188 | memory. */ |
189 | memmapsize = sizeof(struct page) * (end_pfn-start_pfn); | 189 | memmapsize = sizeof(struct page) * (end_pfn-start_pfn); |
190 | limit = end_pfn << PAGE_SHIFT; | 190 | limit = end_pfn << PAGE_SHIFT; |
191 | #ifdef CONFIG_FLAT_NODE_MEM_MAP | ||
191 | NODE_DATA(nodeid)->node_mem_map = | 192 | NODE_DATA(nodeid)->node_mem_map = |
192 | __alloc_bootmem_core(NODE_DATA(nodeid)->bdata, | 193 | __alloc_bootmem_core(NODE_DATA(nodeid)->bdata, |
193 | memmapsize, SMP_CACHE_BYTES, | 194 | memmapsize, SMP_CACHE_BYTES, |
194 | round_down(limit - memmapsize, PAGE_SIZE), | 195 | round_down(limit - memmapsize, PAGE_SIZE), |
195 | limit); | 196 | limit); |
197 | #endif | ||
196 | 198 | ||
197 | size_zones(zones, holes, start_pfn, end_pfn); | 199 | size_zones(zones, holes, start_pfn, end_pfn); |
198 | free_area_init_node(nodeid, NODE_DATA(nodeid), zones, | 200 | free_area_init_node(nodeid, NODE_DATA(nodeid), zones, |