aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2005-08-25 12:45:49 -0400
committerLen Brown <len.brown@intel.com>2005-08-25 12:45:49 -0400
commit09d4a80e66cdf3e68cdb06e907f7bc0b242acbd0 (patch)
tree29e6a11bffc92f6b8393344cab209e1f2b8bf7a9 /arch
parentd0d59b98d7a0b3801ce03e695ba885b698a6d122 (diff)
parent9c2c38a122cc23d6a09b8004d60a33913683eedf (diff)
Merge HEAD from ../from-linus
Diffstat (limited to 'arch')
-rw-r--r--arch/alpha/Kconfig2
-rw-r--r--arch/alpha/kernel/smp.c6
-rw-r--r--arch/alpha/oprofile/common.c6
-rw-r--r--arch/arm/Kconfig2
-rw-r--r--arch/arm/kernel/traps.c2
-rw-r--r--arch/arm/nwfpe/fpopcode.h6
-rw-r--r--arch/i386/kernel/traps.c10
-rw-r--r--arch/ia64/pci/pci.c1
-rw-r--r--arch/m32r/Kconfig3
-rw-r--r--arch/m32r/Kconfig.debug2
-rw-r--r--arch/m32r/kernel/setup_m32700ut.c4
-rw-r--r--arch/m32r/kernel/setup_opsput.c4
-rw-r--r--arch/m32r/kernel/smpboot.c1
-rw-r--r--arch/m32r/lib/csum_partial_copy.c1
-rw-r--r--arch/m32r/mm/discontig.c2
-rw-r--r--arch/ppc/Kconfig5
-rw-r--r--arch/ppc/platforms/4xx/Kconfig14
-rw-r--r--arch/ppc64/kernel/setup.c2
-rw-r--r--arch/s390/kernel/cpcmd.c8
-rw-r--r--arch/sparc64/kernel/pci.c1
-rw-r--r--arch/x86_64/defconfig21
-rw-r--r--arch/x86_64/pci/k8-bus.c13
22 files changed, 77 insertions, 39 deletions
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 083c5df42d35..189d5eababa8 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -522,7 +522,7 @@ source "mm/Kconfig"
522 522
523config NUMA 523config NUMA
524 bool "NUMA Support (EXPERIMENTAL)" 524 bool "NUMA Support (EXPERIMENTAL)"
525 depends on DISCONTIGMEM 525 depends on DISCONTIGMEM && BROKEN
526 help 526 help
527 Say Y to compile the kernel to support NUMA (Non-Uniform Memory 527 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
528 Access). This option is for configuring high-end multiprocessor 528 Access). This option is for configuring high-end multiprocessor
diff --git a/arch/alpha/kernel/smp.c b/arch/alpha/kernel/smp.c
index 8f1e78551b1e..e211aa7404e6 100644
--- a/arch/alpha/kernel/smp.c
+++ b/arch/alpha/kernel/smp.c
@@ -1036,7 +1036,7 @@ debug_spin_lock(spinlock_t * lock, const char *base_file, int line_no)
1036 " br 1b\n" 1036 " br 1b\n"
1037 ".previous" 1037 ".previous"
1038 : "=r" (tmp), "=m" (lock->lock), "=r" (stuck) 1038 : "=r" (tmp), "=m" (lock->lock), "=r" (stuck)
1039 : "1" (lock->lock), "2" (stuck) : "memory"); 1039 : "m" (lock->lock), "2" (stuck) : "memory");
1040 1040
1041 if (stuck < 0) { 1041 if (stuck < 0) {
1042 printk(KERN_WARNING 1042 printk(KERN_WARNING
@@ -1115,7 +1115,7 @@ void _raw_write_lock(rwlock_t * lock)
1115 ".previous" 1115 ".previous"
1116 : "=m" (*(volatile int *)lock), "=&r" (regx), "=&r" (regy), 1116 : "=m" (*(volatile int *)lock), "=&r" (regx), "=&r" (regy),
1117 "=&r" (stuck_lock), "=&r" (stuck_reader) 1117 "=&r" (stuck_lock), "=&r" (stuck_reader)
1118 : "0" (*(volatile int *)lock), "3" (stuck_lock), "4" (stuck_reader) : "memory"); 1118 : "m" (*(volatile int *)lock), "3" (stuck_lock), "4" (stuck_reader) : "memory");
1119 1119
1120 if (stuck_lock < 0) { 1120 if (stuck_lock < 0) {
1121 printk(KERN_WARNING "write_lock stuck at %p\n", inline_pc); 1121 printk(KERN_WARNING "write_lock stuck at %p\n", inline_pc);
@@ -1153,7 +1153,7 @@ void _raw_read_lock(rwlock_t * lock)
1153 " br 1b\n" 1153 " br 1b\n"
1154 ".previous" 1154 ".previous"
1155 : "=m" (*(volatile int *)lock), "=&r" (regx), "=&r" (stuck_lock) 1155 : "=m" (*(volatile int *)lock), "=&r" (regx), "=&r" (stuck_lock)
1156 : "0" (*(volatile int *)lock), "2" (stuck_lock) : "memory"); 1156 : "m" (*(volatile int *)lock), "2" (stuck_lock) : "memory");
1157 1157
1158 if (stuck_lock < 0) { 1158 if (stuck_lock < 0) {
1159 printk(KERN_WARNING "read_lock stuck at %p\n", inline_pc); 1159 printk(KERN_WARNING "read_lock stuck at %p\n", inline_pc);
diff --git a/arch/alpha/oprofile/common.c b/arch/alpha/oprofile/common.c
index 908eb4af8dec..ba788cfdc3c6 100644
--- a/arch/alpha/oprofile/common.c
+++ b/arch/alpha/oprofile/common.c
@@ -65,7 +65,7 @@ op_axp_setup(void)
65 model->reg_setup(&reg, ctr, &sys); 65 model->reg_setup(&reg, ctr, &sys);
66 66
67 /* Configure the registers on all cpus. */ 67 /* Configure the registers on all cpus. */
68 smp_call_function(model->cpu_setup, &reg, 0, 1); 68 (void)smp_call_function(model->cpu_setup, &reg, 0, 1);
69 model->cpu_setup(&reg); 69 model->cpu_setup(&reg);
70 return 0; 70 return 0;
71} 71}
@@ -86,7 +86,7 @@ op_axp_cpu_start(void *dummy)
86static int 86static int
87op_axp_start(void) 87op_axp_start(void)
88{ 88{
89 smp_call_function(op_axp_cpu_start, NULL, 0, 1); 89 (void)smp_call_function(op_axp_cpu_start, NULL, 0, 1);
90 op_axp_cpu_start(NULL); 90 op_axp_cpu_start(NULL);
91 return 0; 91 return 0;
92} 92}
@@ -101,7 +101,7 @@ op_axp_cpu_stop(void *dummy)
101static void 101static void
102op_axp_stop(void) 102op_axp_stop(void)
103{ 103{
104 smp_call_function(op_axp_cpu_stop, NULL, 0, 1); 104 (void)smp_call_function(op_axp_cpu_stop, NULL, 0, 1);
105 op_axp_cpu_stop(NULL); 105 op_axp_cpu_stop(NULL);
106} 106}
107 107
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 7bc4a583f4e1..c65c6eb9810d 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -310,7 +310,7 @@ menu "Kernel Features"
310 310
311config SMP 311config SMP
312 bool "Symmetric Multi-Processing (EXPERIMENTAL)" 312 bool "Symmetric Multi-Processing (EXPERIMENTAL)"
313 depends on EXPERIMENTAL #&& n 313 depends on EXPERIMENTAL && BROKEN #&& n
314 help 314 help
315 This enables support for systems with more than one CPU. If you have 315 This enables support for systems with more than one CPU. If you have
316 a system with only one CPU, like most personal computers, say N. If 316 a system with only one CPU, like most personal computers, say N. If
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
index d571c37ac30c..4554c961251c 100644
--- a/arch/arm/kernel/traps.c
+++ b/arch/arm/kernel/traps.c
@@ -617,7 +617,7 @@ baddataabort(int code, unsigned long instr, struct pt_regs *regs)
617 notify_die("unknown data abort code", regs, &info, instr, 0); 617 notify_die("unknown data abort code", regs, &info, instr, 0);
618} 618}
619 619
620volatile void __bug(const char *file, int line, void *data) 620void __attribute__((noreturn)) __bug(const char *file, int line, void *data)
621{ 621{
622 printk(KERN_CRIT"kernel BUG at %s:%d!", file, line); 622 printk(KERN_CRIT"kernel BUG at %s:%d!", file, line);
623 if (data) 623 if (data)
diff --git a/arch/arm/nwfpe/fpopcode.h b/arch/arm/nwfpe/fpopcode.h
index 8035f4faafbf..1777e92a88e6 100644
--- a/arch/arm/nwfpe/fpopcode.h
+++ b/arch/arm/nwfpe/fpopcode.h
@@ -370,20 +370,20 @@ TABLE 5
370#define getRoundingMode(opcode) ((opcode & MASK_ROUNDING_MODE) >> 5) 370#define getRoundingMode(opcode) ((opcode & MASK_ROUNDING_MODE) >> 5)
371 371
372#ifdef CONFIG_FPE_NWFPE_XP 372#ifdef CONFIG_FPE_NWFPE_XP
373static inline const floatx80 getExtendedConstant(const unsigned int nIndex) 373static inline __attribute_pure__ floatx80 getExtendedConstant(const unsigned int nIndex)
374{ 374{
375 extern const floatx80 floatx80Constant[]; 375 extern const floatx80 floatx80Constant[];
376 return floatx80Constant[nIndex]; 376 return floatx80Constant[nIndex];
377} 377}
378#endif 378#endif
379 379
380static inline const float64 getDoubleConstant(const unsigned int nIndex) 380static inline __attribute_pure__ float64 getDoubleConstant(const unsigned int nIndex)
381{ 381{
382 extern const float64 float64Constant[]; 382 extern const float64 float64Constant[];
383 return float64Constant[nIndex]; 383 return float64Constant[nIndex];
384} 384}
385 385
386static inline const float32 getSingleConstant(const unsigned int nIndex) 386static inline __attribute_pure__ float32 getSingleConstant(const unsigned int nIndex)
387{ 387{
388 extern const float32 float32Constant[]; 388 extern const float32 float32Constant[];
389 return float32Constant[nIndex]; 389 return float32Constant[nIndex];
diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c
index a61f33d06ea3..cd2d5d5514fe 100644
--- a/arch/i386/kernel/traps.c
+++ b/arch/i386/kernel/traps.c
@@ -803,15 +803,17 @@ void math_error(void __user *eip)
803 */ 803 */
804 cwd = get_fpu_cwd(task); 804 cwd = get_fpu_cwd(task);
805 swd = get_fpu_swd(task); 805 swd = get_fpu_swd(task);
806 switch (((~cwd) & swd & 0x3f) | (swd & 0x240)) { 806 switch (swd & ~cwd & 0x3f) {
807 case 0x000: 807 case 0x000:
808 default: 808 default:
809 break; 809 break;
810 case 0x001: /* Invalid Op */ 810 case 0x001: /* Invalid Op */
811 case 0x041: /* Stack Fault */ 811 /*
812 case 0x241: /* Stack Fault | Direction */ 812 * swd & 0x240 == 0x040: Stack Underflow
813 * swd & 0x240 == 0x240: Stack Overflow
814 * User must clear the SF bit (0x40) if set
815 */
813 info.si_code = FPE_FLTINV; 816 info.si_code = FPE_FLTINV;
814 /* Should we clear the SF or let user space do it ???? */
815 break; 817 break;
816 case 0x002: /* Denormalize */ 818 case 0x002: /* Denormalize */
817 case 0x010: /* Underflow */ 819 case 0x010: /* Underflow */
diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c
index 54d9ed444e4a..f9472c50ab42 100644
--- a/arch/ia64/pci/pci.c
+++ b/arch/ia64/pci/pci.c
@@ -380,6 +380,7 @@ void pcibios_bus_to_resource(struct pci_dev *dev,
380 res->start = region->start + offset; 380 res->start = region->start + offset;
381 res->end = region->end + offset; 381 res->end = region->end + offset;
382} 382}
383EXPORT_SYMBOL(pcibios_bus_to_resource);
383 384
384static int __devinit is_valid_resource(struct pci_dev *dev, int idx) 385static int __devinit is_valid_resource(struct pci_dev *dev, int idx)
385{ 386{
diff --git a/arch/m32r/Kconfig b/arch/m32r/Kconfig
index 7772951df313..7622d4ec5f08 100644
--- a/arch/m32r/Kconfig
+++ b/arch/m32r/Kconfig
@@ -269,7 +269,7 @@ config NR_CPUS
269# Common NUMA Features 269# Common NUMA Features
270config NUMA 270config NUMA
271 bool "Numa Memory Allocation Support" 271 bool "Numa Memory Allocation Support"
272 depends on SMP 272 depends on SMP && BROKEN
273 default n 273 default n
274 274
275# turning this on wastes a bunch of space. 275# turning this on wastes a bunch of space.
@@ -286,6 +286,7 @@ menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
286 286
287config PCI 287config PCI
288 bool "PCI support" 288 bool "PCI support"
289 depends on BROKEN
289 default n 290 default n
290 help 291 help
291 Find out whether you have a PCI motherboard. PCI is the name of a 292 Find out whether you have a PCI motherboard. PCI is the name of a
diff --git a/arch/m32r/Kconfig.debug b/arch/m32r/Kconfig.debug
index 31039723804f..bbf711bab69e 100644
--- a/arch/m32r/Kconfig.debug
+++ b/arch/m32r/Kconfig.debug
@@ -20,7 +20,7 @@ config DEBUG_STACK_USAGE
20 20
21config DEBUG_PAGEALLOC 21config DEBUG_PAGEALLOC
22 bool "Page alloc debugging" 22 bool "Page alloc debugging"
23 depends on DEBUG_KERNEL 23 depends on DEBUG_KERNEL && BROKEN
24 help 24 help
25 Unmap pages from the kernel linear mapping after free_pages(). 25 Unmap pages from the kernel linear mapping after free_pages().
26 This results in a large slowdown, but helps to find certain types 26 This results in a large slowdown, but helps to find certain types
diff --git a/arch/m32r/kernel/setup_m32700ut.c b/arch/m32r/kernel/setup_m32700ut.c
index a146b24a556b..708634b685e4 100644
--- a/arch/m32r/kernel/setup_m32700ut.c
+++ b/arch/m32r/kernel/setup_m32700ut.c
@@ -30,9 +30,11 @@
30typedef struct { 30typedef struct {
31 unsigned long icucr; /* ICU Control Register */ 31 unsigned long icucr; /* ICU Control Register */
32} icu_data_t; 32} icu_data_t;
33static icu_data_t icu_data[M32700UT_NUM_CPU_IRQ];
34#else
35icu_data_t icu_data[M32700UT_NUM_CPU_IRQ];
33#endif /* CONFIG_SMP */ 36#endif /* CONFIG_SMP */
34 37
35static icu_data_t icu_data[M32700UT_NUM_CPU_IRQ];
36 38
37static void disable_m32700ut_irq(unsigned int irq) 39static void disable_m32700ut_irq(unsigned int irq)
38{ 40{
diff --git a/arch/m32r/kernel/setup_opsput.c b/arch/m32r/kernel/setup_opsput.c
index f0301f58bcce..d7b7ec6d30f8 100644
--- a/arch/m32r/kernel/setup_opsput.c
+++ b/arch/m32r/kernel/setup_opsput.c
@@ -31,9 +31,11 @@
31typedef struct { 31typedef struct {
32 unsigned long icucr; /* ICU Control Register */ 32 unsigned long icucr; /* ICU Control Register */
33} icu_data_t; 33} icu_data_t;
34static icu_data_t icu_data[OPSPUT_NUM_CPU_IRQ];
35#else
36icu_data_t icu_data[OPSPUT_NUM_CPU_IRQ];
34#endif /* CONFIG_SMP */ 37#endif /* CONFIG_SMP */
35 38
36static icu_data_t icu_data[OPSPUT_NUM_CPU_IRQ];
37 39
38static void disable_opsput_irq(unsigned int irq) 40static void disable_opsput_irq(unsigned int irq)
39{ 41{
diff --git a/arch/m32r/kernel/smpboot.c b/arch/m32r/kernel/smpboot.c
index f9a0e723478d..640d592ea072 100644
--- a/arch/m32r/kernel/smpboot.c
+++ b/arch/m32r/kernel/smpboot.c
@@ -91,6 +91,7 @@ extern struct {
91 91
92/* which physical physical ID maps to which logical CPU number */ 92/* which physical physical ID maps to which logical CPU number */
93static volatile int physid_2_cpu[NR_CPUS]; 93static volatile int physid_2_cpu[NR_CPUS];
94#define physid_to_cpu(physid) physid_2_cpu[physid]
94 95
95/* which logical CPU number maps to which physical ID */ 96/* which logical CPU number maps to which physical ID */
96volatile int cpu_2_physid[NR_CPUS]; 97volatile int cpu_2_physid[NR_CPUS];
diff --git a/arch/m32r/lib/csum_partial_copy.c b/arch/m32r/lib/csum_partial_copy.c
index c871b4606b07..ddb16a83a8ce 100644
--- a/arch/m32r/lib/csum_partial_copy.c
+++ b/arch/m32r/lib/csum_partial_copy.c
@@ -58,3 +58,4 @@ csum_partial_copy_from_user (const unsigned char __user *src,
58 return csum_partial(dst, len-missing, sum); 58 return csum_partial(dst, len-missing, sum);
59} 59}
60EXPORT_SYMBOL(csum_partial_copy_from_user); 60EXPORT_SYMBOL(csum_partial_copy_from_user);
61EXPORT_SYMBOL(csum_partial);
diff --git a/arch/m32r/mm/discontig.c b/arch/m32r/mm/discontig.c
index 1d1a01e54b3f..08e727955555 100644
--- a/arch/m32r/mm/discontig.c
+++ b/arch/m32r/mm/discontig.c
@@ -12,12 +12,14 @@
12#include <linux/mmzone.h> 12#include <linux/mmzone.h>
13#include <linux/initrd.h> 13#include <linux/initrd.h>
14#include <linux/nodemask.h> 14#include <linux/nodemask.h>
15#include <linux/module.h>
15 16
16#include <asm/setup.h> 17#include <asm/setup.h>
17 18
18extern char _end[]; 19extern char _end[];
19 20
20struct pglist_data *node_data[MAX_NUMNODES]; 21struct pglist_data *node_data[MAX_NUMNODES];
22EXPORT_SYMBOL(node_data);
21static bootmem_data_t node_bdata[MAX_NUMNODES] __initdata; 23static bootmem_data_t node_bdata[MAX_NUMNODES] __initdata;
22 24
23pg_data_t m32r_node_data[MAX_NUMNODES]; 25pg_data_t m32r_node_data[MAX_NUMNODES];
diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig
index f6db3b385fea..e6fa1d1cc03a 100644
--- a/arch/ppc/Kconfig
+++ b/arch/ppc/Kconfig
@@ -911,6 +911,7 @@ config PPCBUG_NVRAM
911 default y if PPC_PREP 911 default y if PPC_PREP
912 912
913config SMP 913config SMP
914 depends on PPC_STD_MMU
914 bool "Symmetric multi-processing support" 915 bool "Symmetric multi-processing support"
915 ---help--- 916 ---help---
916 This enables support for systems with more than one CPU. If you have 917 This enables support for systems with more than one CPU. If you have
@@ -930,7 +931,7 @@ config SMP
930 931
931config IRQ_ALL_CPUS 932config IRQ_ALL_CPUS
932 bool "Distribute interrupts on all CPUs by default" 933 bool "Distribute interrupts on all CPUs by default"
933 depends on SMP 934 depends on SMP && !MV64360
934 help 935 help
935 This option gives the kernel permission to distribute IRQs across 936 This option gives the kernel permission to distribute IRQs across
936 multiple CPUs. Saying N here will route all IRQs to the first 937 multiple CPUs. Saying N here will route all IRQs to the first
@@ -1121,7 +1122,9 @@ config PROC_HARDWARE
1121 1122
1122source "drivers/zorro/Kconfig" 1123source "drivers/zorro/Kconfig"
1123 1124
1125if !44x || BROKEN
1124source kernel/power/Kconfig 1126source kernel/power/Kconfig
1127endif
1125 1128
1126config SECCOMP 1129config SECCOMP
1127 bool "Enable seccomp to safely compute untrusted bytecode" 1130 bool "Enable seccomp to safely compute untrusted bytecode"
diff --git a/arch/ppc/platforms/4xx/Kconfig b/arch/ppc/platforms/4xx/Kconfig
index f7c045764e04..805dd98908a3 100644
--- a/arch/ppc/platforms/4xx/Kconfig
+++ b/arch/ppc/platforms/4xx/Kconfig
@@ -3,6 +3,11 @@ config 4xx
3 depends on 40x || 44x 3 depends on 40x || 44x
4 default y 4 default y
5 5
6config WANT_EARLY_SERIAL
7 bool
8 select SERIAL_8250
9 default n
10
6menu "IBM 4xx options" 11menu "IBM 4xx options"
7 depends on 4xx 12 depends on 4xx
8 13
@@ -18,6 +23,7 @@ config ASH
18 23
19config BUBINGA 24config BUBINGA
20 bool "Bubinga" 25 bool "Bubinga"
26 select WANT_EARLY_SERIAL
21 help 27 help
22 This option enables support for the IBM 405EP evaluation board. 28 This option enables support for the IBM 405EP evaluation board.
23 29
@@ -70,21 +76,25 @@ choice
70 76
71config BAMBOO 77config BAMBOO
72 bool "Bamboo" 78 bool "Bamboo"
79 select WANT_EARLY_SERIAL
73 help 80 help
74 This option enables support for the IBM PPC440EP evaluation board. 81 This option enables support for the IBM PPC440EP evaluation board.
75 82
76config EBONY 83config EBONY
77 bool "Ebony" 84 bool "Ebony"
85 select WANT_EARLY_SERIAL
78 help 86 help
79 This option enables support for the IBM PPC440GP evaluation board. 87 This option enables support for the IBM PPC440GP evaluation board.
80 88
81config LUAN 89config LUAN
82 bool "Luan" 90 bool "Luan"
91 select WANT_EARLY_SERIAL
83 help 92 help
84 This option enables support for the IBM PPC440SP evaluation board. 93 This option enables support for the IBM PPC440SP evaluation board.
85 94
86config OCOTEA 95config OCOTEA
87 bool "Ocotea" 96 bool "Ocotea"
97 select WANT_EARLY_SERIAL
88 help 98 help
89 This option enables support for the IBM PPC440GX evaluation board. 99 This option enables support for the IBM PPC440GX evaluation board.
90 100
@@ -230,10 +240,6 @@ config PPC_GEN550
230 depends on 4xx 240 depends on 4xx
231 default y 241 default y
232 242
233config PM
234 bool "Power Management support (EXPERIMENTAL)"
235 depends on 4xx && EXPERIMENTAL
236
237choice 243choice
238 prompt "TTYS0 device and default console" 244 prompt "TTYS0 device and default console"
239 depends on 40x 245 depends on 40x
diff --git a/arch/ppc64/kernel/setup.c b/arch/ppc64/kernel/setup.c
index 687e85595208..e9c24d2dbd91 100644
--- a/arch/ppc64/kernel/setup.c
+++ b/arch/ppc64/kernel/setup.c
@@ -706,6 +706,8 @@ void machine_power_off(void)
706 local_irq_disable(); 706 local_irq_disable();
707 while (1) ; 707 while (1) ;
708} 708}
709/* Used by the G5 thermal driver */
710EXPORT_SYMBOL_GPL(machine_power_off);
709 711
710void machine_halt(void) 712void machine_halt(void)
711{ 713{
diff --git a/arch/s390/kernel/cpcmd.c b/arch/s390/kernel/cpcmd.c
index 20062145e84e..d47fecb42cc5 100644
--- a/arch/s390/kernel/cpcmd.c
+++ b/arch/s390/kernel/cpcmd.c
@@ -46,9 +46,9 @@ int __cpcmd(const char *cmd, char *response, int rlen, int *response_code)
46 "lra 3,0(%4)\n" 46 "lra 3,0(%4)\n"
47 "lr 5,%5\n" 47 "lr 5,%5\n"
48 "diag 2,4,0x8\n" 48 "diag 2,4,0x8\n"
49 "brc 8, .Litfits\n" 49 "brc 8, 1f\n"
50 "ar 5, %5\n" 50 "ar 5, %5\n"
51 ".Litfits: \n" 51 "1: \n"
52 "lr %0,4\n" 52 "lr %0,4\n"
53 "lr %1,5\n" 53 "lr %1,5\n"
54 : "=d" (return_code), "=d" (return_len) 54 : "=d" (return_code), "=d" (return_len)
@@ -64,9 +64,9 @@ int __cpcmd(const char *cmd, char *response, int rlen, int *response_code)
64 "sam31\n" 64 "sam31\n"
65 "diag 2,4,0x8\n" 65 "diag 2,4,0x8\n"
66 "sam64\n" 66 "sam64\n"
67 "brc 8, .Litfits\n" 67 "brc 8, 1f\n"
68 "agr 5, %5\n" 68 "agr 5, %5\n"
69 ".Litfits: \n" 69 "1: \n"
70 "lgr %0,4\n" 70 "lgr %0,4\n"
71 "lgr %1,5\n" 71 "lgr %1,5\n"
72 : "=d" (return_code), "=d" (return_len) 72 : "=d" (return_code), "=d" (return_len)
diff --git a/arch/sparc64/kernel/pci.c b/arch/sparc64/kernel/pci.c
index bba140d98b1b..f21c993f8856 100644
--- a/arch/sparc64/kernel/pci.c
+++ b/arch/sparc64/kernel/pci.c
@@ -540,6 +540,7 @@ void pcibios_bus_to_resource(struct pci_dev *pdev, struct resource *res,
540 540
541 pbm->parent->resource_adjust(pdev, res, root); 541 pbm->parent->resource_adjust(pdev, res, root);
542} 542}
543EXPORT_SYMBOL(pcibios_bus_to_resource);
543 544
544char * __init pcibios_setup(char *str) 545char * __init pcibios_setup(char *str)
545{ 546{
diff --git a/arch/x86_64/defconfig b/arch/x86_64/defconfig
index b95c6cf26591..bf57e2362bf4 100644
--- a/arch/x86_64/defconfig
+++ b/arch/x86_64/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.13-rc3 3# Linux kernel version: 2.6.13-rc6-git3
4# Fri Jul 22 16:47:31 2005 4# Fri Aug 12 16:40:34 2005
5# 5#
6CONFIG_X86_64=y 6CONFIG_X86_64=y
7CONFIG_64BIT=y 7CONFIG_64BIT=y
@@ -280,10 +280,6 @@ CONFIG_IPV6=y
280# Network testing 280# Network testing
281# 281#
282# CONFIG_NET_PKTGEN is not set 282# CONFIG_NET_PKTGEN is not set
283CONFIG_NETPOLL=y
284# CONFIG_NETPOLL_RX is not set
285# CONFIG_NETPOLL_TRAP is not set
286CONFIG_NET_POLL_CONTROLLER=y
287# CONFIG_HAMRADIO is not set 283# CONFIG_HAMRADIO is not set
288# CONFIG_IRDA is not set 284# CONFIG_IRDA is not set
289# CONFIG_BT is not set 285# CONFIG_BT is not set
@@ -459,6 +455,7 @@ CONFIG_AIC79XX_DEBUG_MASK=0
459# CONFIG_MEGARAID_NEWGEN is not set 455# CONFIG_MEGARAID_NEWGEN is not set
460# CONFIG_MEGARAID_LEGACY is not set 456# CONFIG_MEGARAID_LEGACY is not set
461CONFIG_SCSI_SATA=y 457CONFIG_SCSI_SATA=y
458# CONFIG_SCSI_SATA_AHCI is not set
462# CONFIG_SCSI_SATA_SVW is not set 459# CONFIG_SCSI_SATA_SVW is not set
463CONFIG_SCSI_ATA_PIIX=y 460CONFIG_SCSI_ATA_PIIX=y
464# CONFIG_SCSI_SATA_NV is not set 461# CONFIG_SCSI_SATA_NV is not set
@@ -488,6 +485,7 @@ CONFIG_SCSI_QLA2XXX=y
488# CONFIG_SCSI_QLA2300 is not set 485# CONFIG_SCSI_QLA2300 is not set
489# CONFIG_SCSI_QLA2322 is not set 486# CONFIG_SCSI_QLA2322 is not set
490# CONFIG_SCSI_QLA6312 is not set 487# CONFIG_SCSI_QLA6312 is not set
488# CONFIG_SCSI_QLA24XX is not set
491# CONFIG_SCSI_LPFC is not set 489# CONFIG_SCSI_LPFC is not set
492# CONFIG_SCSI_DC395x is not set 490# CONFIG_SCSI_DC395x is not set
493# CONFIG_SCSI_DC390T is not set 491# CONFIG_SCSI_DC390T is not set
@@ -508,9 +506,11 @@ CONFIG_BLK_DEV_DM=y
508# 506#
509# Fusion MPT device support 507# Fusion MPT device support
510# 508#
511# CONFIG_FUSION is not set 509CONFIG_FUSION=y
512# CONFIG_FUSION_SPI is not set 510CONFIG_FUSION_SPI=y
513# CONFIG_FUSION_FC is not set 511# CONFIG_FUSION_FC is not set
512CONFIG_FUSION_MAX_SGE=128
513# CONFIG_FUSION_CTL is not set
514 514
515# 515#
516# IEEE 1394 (FireWire) support 516# IEEE 1394 (FireWire) support
@@ -581,6 +581,7 @@ CONFIG_8139TOO=y
581# CONFIG_ACENIC is not set 581# CONFIG_ACENIC is not set
582# CONFIG_DL2K is not set 582# CONFIG_DL2K is not set
583CONFIG_E1000=y 583CONFIG_E1000=y
584# CONFIG_E1000_NAPI is not set
584# CONFIG_NS83820 is not set 585# CONFIG_NS83820 is not set
585# CONFIG_HAMACHI is not set 586# CONFIG_HAMACHI is not set
586# CONFIG_YELLOWFIN is not set 587# CONFIG_YELLOWFIN is not set
@@ -620,6 +621,10 @@ CONFIG_S2IO=m
620# CONFIG_NET_FC is not set 621# CONFIG_NET_FC is not set
621# CONFIG_SHAPER is not set 622# CONFIG_SHAPER is not set
622CONFIG_NETCONSOLE=y 623CONFIG_NETCONSOLE=y
624CONFIG_NETPOLL=y
625# CONFIG_NETPOLL_RX is not set
626# CONFIG_NETPOLL_TRAP is not set
627CONFIG_NET_POLL_CONTROLLER=y
623 628
624# 629#
625# ISDN subsystem 630# ISDN subsystem
diff --git a/arch/x86_64/pci/k8-bus.c b/arch/x86_64/pci/k8-bus.c
index c2c38b579939..d80c323669e0 100644
--- a/arch/x86_64/pci/k8-bus.c
+++ b/arch/x86_64/pci/k8-bus.c
@@ -47,13 +47,22 @@ fill_mp_bus_to_cpumask(void)
47 * if there are no busses hanging off of the current 47 * if there are no busses hanging off of the current
48 * ldt link then both the secondary and subordinate 48 * ldt link then both the secondary and subordinate
49 * bus number fields are set to 0. 49 * bus number fields are set to 0.
50 *
51 * RED-PEN
52 * This is slightly broken because it assumes
53 * HT node IDs == Linux node ids, which is not always
54 * true. However it is probably mostly true.
50 */ 55 */
51 if (!(SECONDARY_LDT_BUS_NUMBER(ldtbus) == 0 56 if (!(SECONDARY_LDT_BUS_NUMBER(ldtbus) == 0
52 && SUBORDINATE_LDT_BUS_NUMBER(ldtbus) == 0)) { 57 && SUBORDINATE_LDT_BUS_NUMBER(ldtbus) == 0)) {
53 for (j = SECONDARY_LDT_BUS_NUMBER(ldtbus); 58 for (j = SECONDARY_LDT_BUS_NUMBER(ldtbus);
54 j <= SUBORDINATE_LDT_BUS_NUMBER(ldtbus); 59 j <= SUBORDINATE_LDT_BUS_NUMBER(ldtbus);
55 j++) 60 j++) {
56 pci_bus_to_node[j] = NODE_ID(nid); 61 int node = NODE_ID(nid);
62 if (!node_online(node))
63 node = 0;
64 pci_bus_to_node[j] = node;
65 }
57 } 66 }
58 } 67 }
59 } 68 }