aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/mips/Kconfig4
-rw-r--r--arch/mips/au1000/common/dbdma.c2
-rw-r--r--arch/mips/au1000/common/irq.c16
-rw-r--r--arch/mips/au1000/pb1200/irqmap.c2
-rw-r--r--arch/mips/oprofile/op_model_mipsxx.c44
-rw-r--r--arch/mips/pci/pci-bcm1480.c5
-rw-r--r--arch/s390/kernel/entry.S2
-rw-r--r--arch/s390/kernel/setup.c4
-rw-r--r--arch/sparc/kernel/devices.c4
-rw-r--r--arch/sparc/kernel/pcic.c8
-rw-r--r--arch/sparc64/defconfig9
-rw-r--r--arch/sparc64/kernel/isa.c2
-rw-r--r--arch/sparc64/kernel/ldc.c15
-rw-r--r--arch/sparc64/kernel/pci_sun4v.c4
-rw-r--r--arch/sparc64/kernel/smp.c5
-rw-r--r--arch/um/Makefile-i3865
-rw-r--r--arch/x86/Kconfig8
-rw-r--r--arch/x86/kernel/cpu/intel_cacheinfo.c2
-rw-r--r--arch/x86/kernel/nmi_32.c3
-rw-r--r--arch/x86/kernel/nmi_64.c3
-rw-r--r--arch/x86/kernel/topology.c5
21 files changed, 103 insertions, 49 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 455bd1f560aa..c6fc405a6c8e 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -714,6 +714,10 @@ config ARCH_HAS_ILOG2_U64
714 bool 714 bool
715 default n 715 default n
716 716
717config ARCH_SUPPORTS_OPROFILE
718 bool
719 default y if !MIPS_MT_SMTC
720
717config GENERIC_FIND_NEXT_BIT 721config GENERIC_FIND_NEXT_BIT
718 bool 722 bool
719 default y 723 default y
diff --git a/arch/mips/au1000/common/dbdma.c b/arch/mips/au1000/common/dbdma.c
index 9d6ad43fded6..edf91f41a786 100644
--- a/arch/mips/au1000/common/dbdma.c
+++ b/arch/mips/au1000/common/dbdma.c
@@ -859,7 +859,7 @@ dbdma_interrupt(int irq, void *dev_id)
859 859
860 intstat = dbdma_gptr->ddma_intstat; 860 intstat = dbdma_gptr->ddma_intstat;
861 au_sync(); 861 au_sync();
862 chan_index = ffs(intstat); 862 chan_index = __ffs(intstat);
863 863
864 ctp = chan_tab_ptr[chan_index]; 864 ctp = chan_tab_ptr[chan_index];
865 cp = ctp->chan_ptr; 865 cp = ctp->chan_ptr;
diff --git a/arch/mips/au1000/common/irq.c b/arch/mips/au1000/common/irq.c
index ddfb7f0a17a6..3c7714f057ac 100644
--- a/arch/mips/au1000/common/irq.c
+++ b/arch/mips/au1000/common/irq.c
@@ -462,9 +462,9 @@ static void intc0_req0_irqdispatch(void)
462 return; 462 return;
463 } 463 }
464#endif 464#endif
465 bit = ffs(intc0_req0); 465 bit = __ffs(intc0_req0);
466 intc0_req0 &= ~(1 << bit); 466 intc0_req0 &= ~(1 << bit);
467 do_IRQ(MIPS_CPU_IRQ_BASE + bit); 467 do_IRQ(AU1000_INTC0_INT_BASE + bit);
468} 468}
469 469
470 470
@@ -478,9 +478,9 @@ static void intc0_req1_irqdispatch(void)
478 if (!intc0_req1) 478 if (!intc0_req1)
479 return; 479 return;
480 480
481 bit = ffs(intc0_req1); 481 bit = __ffs(intc0_req1);
482 intc0_req1 &= ~(1 << bit); 482 intc0_req1 &= ~(1 << bit);
483 do_IRQ(bit); 483 do_IRQ(AU1000_INTC0_INT_BASE + bit);
484} 484}
485 485
486 486
@@ -498,9 +498,9 @@ static void intc1_req0_irqdispatch(void)
498 if (!intc1_req0) 498 if (!intc1_req0)
499 return; 499 return;
500 500
501 bit = ffs(intc1_req0); 501 bit = __ffs(intc1_req0);
502 intc1_req0 &= ~(1 << bit); 502 intc1_req0 &= ~(1 << bit);
503 do_IRQ(MIPS_CPU_IRQ_BASE + 32 + bit); 503 do_IRQ(AU1000_INTC1_INT_BASE + bit);
504} 504}
505 505
506 506
@@ -514,9 +514,9 @@ static void intc1_req1_irqdispatch(void)
514 if (!intc1_req1) 514 if (!intc1_req1)
515 return; 515 return;
516 516
517 bit = ffs(intc1_req1); 517 bit = __ffs(intc1_req1);
518 intc1_req1 &= ~(1 << bit); 518 intc1_req1 &= ~(1 << bit);
519 do_IRQ(MIPS_CPU_IRQ_BASE + 32 + bit); 519 do_IRQ(AU1000_INTC1_INT_BASE + bit);
520} 520}
521 521
522asmlinkage void plat_irq_dispatch(void) 522asmlinkage void plat_irq_dispatch(void)
diff --git a/arch/mips/au1000/pb1200/irqmap.c b/arch/mips/au1000/pb1200/irqmap.c
index c096be4ed4e7..8fcd0df86f93 100644
--- a/arch/mips/au1000/pb1200/irqmap.c
+++ b/arch/mips/au1000/pb1200/irqmap.c
@@ -74,7 +74,7 @@ irqreturn_t pb1200_cascade_handler( int irq, void *dev_id)
74 bcsr->int_status = bisr; 74 bcsr->int_status = bisr;
75 for( ; bisr; bisr &= (bisr-1) ) 75 for( ; bisr; bisr &= (bisr-1) )
76 { 76 {
77 extirq_nr = PB1200_INT_BEGIN + ffs(bisr); 77 extirq_nr = PB1200_INT_BEGIN + __ffs(bisr);
78 /* Ack and dispatch IRQ */ 78 /* Ack and dispatch IRQ */
79 do_IRQ(extirq_nr); 79 do_IRQ(extirq_nr);
80 } 80 }
diff --git a/arch/mips/oprofile/op_model_mipsxx.c b/arch/mips/oprofile/op_model_mipsxx.c
index 423bc2c473df..bdfa07aecd97 100644
--- a/arch/mips/oprofile/op_model_mipsxx.c
+++ b/arch/mips/oprofile/op_model_mipsxx.c
@@ -6,6 +6,7 @@
6 * Copyright (C) 2004, 05, 06 by Ralf Baechle 6 * Copyright (C) 2004, 05, 06 by Ralf Baechle
7 * Copyright (C) 2005 by MIPS Technologies, Inc. 7 * Copyright (C) 2005 by MIPS Technologies, Inc.
8 */ 8 */
9#include <linux/cpumask.h>
9#include <linux/oprofile.h> 10#include <linux/oprofile.h>
10#include <linux/interrupt.h> 11#include <linux/interrupt.h>
11#include <linux/smp.h> 12#include <linux/smp.h>
@@ -33,11 +34,45 @@
33#ifdef CONFIG_MIPS_MT_SMP 34#ifdef CONFIG_MIPS_MT_SMP
34#define WHAT (M_TC_EN_VPE | M_PERFCTL_VPEID(smp_processor_id())) 35#define WHAT (M_TC_EN_VPE | M_PERFCTL_VPEID(smp_processor_id()))
35#define vpe_id() smp_processor_id() 36#define vpe_id() smp_processor_id()
37
38/*
39 * The number of bits to shift to convert between counters per core and
40 * counters per VPE. There is no reasonable interface atm to obtain the
41 * number of VPEs used by Linux and in the 34K this number is fixed to two
42 * anyways so we hardcore a few things here for the moment. The way it's
43 * done here will ensure that oprofile VSMP kernel will run right on a lesser
44 * core like a 24K also or with maxcpus=1.
45 */
46static inline unsigned int vpe_shift(void)
47{
48 if (num_possible_cpus() > 1)
49 return 1;
50
51 return 0;
52}
53
36#else 54#else
55
37#define WHAT 0 56#define WHAT 0
38#define vpe_id() 0 57#define vpe_id() 0
58
59static inline unsigned int vpe_shift(void)
60{
61 return 0;
62}
63
39#endif 64#endif
40 65
66static inline unsigned int counters_total_to_per_cpu(unsigned int counters)
67{
68 return counters >> vpe_shift();
69}
70
71static inline unsigned int counters_per_cpu_to_total(unsigned int counters)
72{
73 return counters << vpe_shift();
74}
75
41#define __define_perf_accessors(r, n, np) \ 76#define __define_perf_accessors(r, n, np) \
42 \ 77 \
43static inline unsigned int r_c0_ ## r ## n(void) \ 78static inline unsigned int r_c0_ ## r ## n(void) \
@@ -269,9 +304,7 @@ static int __init mipsxx_init(void)
269 304
270 reset_counters(counters); 305 reset_counters(counters);
271 306
272#ifdef CONFIG_MIPS_MT_SMP 307 counters = counters_total_to_per_cpu(counters);
273 counters >>= 1;
274#endif
275 308
276 op_model_mipsxx_ops.num_counters = counters; 309 op_model_mipsxx_ops.num_counters = counters;
277 switch (current_cpu_type()) { 310 switch (current_cpu_type()) {
@@ -330,9 +363,8 @@ static int __init mipsxx_init(void)
330static void mipsxx_exit(void) 363static void mipsxx_exit(void)
331{ 364{
332 int counters = op_model_mipsxx_ops.num_counters; 365 int counters = op_model_mipsxx_ops.num_counters;
333#ifdef CONFIG_MIPS_MT_SMP 366
334 counters <<= 1; 367 counters = counters_per_cpu_to_total(counters);
335#endif
336 reset_counters(counters); 368 reset_counters(counters);
337 369
338 perf_irq = null_perf_irq; 370 perf_irq = null_perf_irq;
diff --git a/arch/mips/pci/pci-bcm1480.c b/arch/mips/pci/pci-bcm1480.c
index bc647cb77298..47f316c86ab1 100644
--- a/arch/mips/pci/pci-bcm1480.c
+++ b/arch/mips/pci/pci-bcm1480.c
@@ -76,7 +76,10 @@ static inline void WRITECFG32(u32 addr, u32 data)
76 76
77int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 77int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
78{ 78{
79 return K_BCM1480_INT_PCI_INTA + pin; 79 if (pin == 0)
80 return -1;
81
82 return K_BCM1480_INT_PCI_INTA - 1 + pin;
80} 83}
81 84
82/* Do platform specific device initialization at pci_enable_device() time */ 85/* Do platform specific device initialization at pci_enable_device() time */
diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S
index b2b2edc40eb1..1a6dac8df6fb 100644
--- a/arch/s390/kernel/entry.S
+++ b/arch/s390/kernel/entry.S
@@ -1079,8 +1079,10 @@ cleanup_io_leave_insn:
1079.Lexecve_tail: .long execve_tail 1079.Lexecve_tail: .long execve_tail
1080.Ljump_table: .long pgm_check_table 1080.Ljump_table: .long pgm_check_table
1081.Lschedule: .long schedule 1081.Lschedule: .long schedule
1082#ifdef CONFIG_PREEMPT
1082.Lpreempt_schedule_irq: 1083.Lpreempt_schedule_irq:
1083 .long preempt_schedule_irq 1084 .long preempt_schedule_irq
1085#endif
1084.Ltrace: .long syscall_trace 1086.Ltrace: .long syscall_trace
1085.Lschedtail: .long schedule_tail 1087.Lschedtail: .long schedule_tail
1086.Lsysc_table: .long sys_call_table 1088.Lsysc_table: .long sys_call_table
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
index 50f8f1e3760e..577aa7dd660e 100644
--- a/arch/s390/kernel/setup.c
+++ b/arch/s390/kernel/setup.c
@@ -486,9 +486,7 @@ static void setup_addressing_mode(void)
486 if (s390_noexec) { 486 if (s390_noexec) {
487 printk("S390 execute protection active, "); 487 printk("S390 execute protection active, ");
488 set_amode_and_uaccess(PSW_ASC_SECONDARY, PSW32_ASC_SECONDARY); 488 set_amode_and_uaccess(PSW_ASC_SECONDARY, PSW32_ASC_SECONDARY);
489 return; 489 } else if (switch_amode) {
490 }
491 if (switch_amode) {
492 printk("S390 address spaces switched, "); 490 printk("S390 address spaces switched, ");
493 set_amode_and_uaccess(PSW_ASC_PRIMARY, PSW32_ASC_PRIMARY); 491 set_amode_and_uaccess(PSW_ASC_PRIMARY, PSW32_ASC_PRIMARY);
494 } 492 }
diff --git a/arch/sparc/kernel/devices.c b/arch/sparc/kernel/devices.c
index af90a5f9ab57..b240b8863fd0 100644
--- a/arch/sparc/kernel/devices.c
+++ b/arch/sparc/kernel/devices.c
@@ -62,8 +62,10 @@ static int __cpu_find_by(int (*compare)(int, int, void *), void *compare_arg,
62 int err = check_cpu_node(dp->node, &cur_inst, 62 int err = check_cpu_node(dp->node, &cur_inst,
63 compare, compare_arg, 63 compare, compare_arg,
64 prom_node, mid); 64 prom_node, mid);
65 if (!err) 65 if (!err) {
66 of_node_put(dp);
66 return 0; 67 return 0;
68 }
67 } 69 }
68 70
69 return -ENODEV; 71 return -ENODEV;
diff --git a/arch/sparc/kernel/pcic.c b/arch/sparc/kernel/pcic.c
index f2d432edc92d..4cd5d7818dc6 100644
--- a/arch/sparc/kernel/pcic.c
+++ b/arch/sparc/kernel/pcic.c
@@ -329,7 +329,7 @@ int __init pcic_probe(void)
329 pcic->pcic_res_cfg_addr.name = "pcic_cfg_addr"; 329 pcic->pcic_res_cfg_addr.name = "pcic_cfg_addr";
330 if ((pcic->pcic_config_space_addr = 330 if ((pcic->pcic_config_space_addr =
331 ioremap(regs[2].phys_addr, regs[2].reg_size * 2)) == 0) { 331 ioremap(regs[2].phys_addr, regs[2].reg_size * 2)) == 0) {
332 prom_printf("PCIC: Error, cannot map" 332 prom_printf("PCIC: Error, cannot map "
333 "PCI Configuration Space Address.\n"); 333 "PCI Configuration Space Address.\n");
334 prom_halt(); 334 prom_halt();
335 } 335 }
@@ -341,7 +341,7 @@ int __init pcic_probe(void)
341 pcic->pcic_res_cfg_data.name = "pcic_cfg_data"; 341 pcic->pcic_res_cfg_data.name = "pcic_cfg_data";
342 if ((pcic->pcic_config_space_data = 342 if ((pcic->pcic_config_space_data =
343 ioremap(regs[3].phys_addr, regs[3].reg_size * 2)) == 0) { 343 ioremap(regs[3].phys_addr, regs[3].reg_size * 2)) == 0) {
344 prom_printf("PCIC: Error, cannot map" 344 prom_printf("PCIC: Error, cannot map "
345 "PCI Configuration Space Data.\n"); 345 "PCI Configuration Space Data.\n");
346 prom_halt(); 346 prom_halt();
347 } 347 }
@@ -518,8 +518,8 @@ static void pcic_map_pci_device(struct linux_pcic *pcic,
518 * board in a PCI slot. We must remap it 518 * board in a PCI slot. We must remap it
519 * under 64K but it is not done yet. XXX 519 * under 64K but it is not done yet. XXX
520 */ 520 */
521 printk("PCIC: Skipping I/O space at 0x%lx," 521 printk("PCIC: Skipping I/O space at 0x%lx, "
522 "this will Oops if a driver attaches;" 522 "this will Oops if a driver attaches "
523 "device '%s' at %02x:%02x)\n", address, 523 "device '%s' at %02x:%02x)\n", address,
524 namebuf, dev->bus->number, dev->devfn); 524 namebuf, dev->bus->number, dev->devfn);
525 } 525 }
diff --git a/arch/sparc64/defconfig b/arch/sparc64/defconfig
index 22734ac08c8a..f62d9f6c5e2a 100644
--- a/arch/sparc64/defconfig
+++ b/arch/sparc64/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.24-rc1 3# Linux kernel version: 2.6.24-rc4
4# Wed Oct 31 15:36:47 2007 4# Tue Dec 4 00:37:59 2007
5# 5#
6CONFIG_SPARC=y 6CONFIG_SPARC=y
7CONFIG_SPARC64=y 7CONFIG_SPARC64=y
@@ -47,6 +47,7 @@ CONFIG_POSIX_MQUEUE=y
47# CONFIG_BSD_PROCESS_ACCT is not set 47# CONFIG_BSD_PROCESS_ACCT is not set
48# CONFIG_TASKSTATS is not set 48# CONFIG_TASKSTATS is not set
49# CONFIG_USER_NS is not set 49# CONFIG_USER_NS is not set
50# CONFIG_PID_NS is not set
50# CONFIG_AUDIT is not set 51# CONFIG_AUDIT is not set
51# CONFIG_IKCONFIG is not set 52# CONFIG_IKCONFIG is not set
52CONFIG_LOG_BUF_SHIFT=18 53CONFIG_LOG_BUF_SHIFT=18
@@ -154,6 +155,7 @@ CONFIG_PCI_DOMAINS=y
154CONFIG_PCI_SYSCALL=y 155CONFIG_PCI_SYSCALL=y
155CONFIG_ARCH_SUPPORTS_MSI=y 156CONFIG_ARCH_SUPPORTS_MSI=y
156CONFIG_PCI_MSI=y 157CONFIG_PCI_MSI=y
158# CONFIG_PCI_LEGACY is not set
157# CONFIG_PCI_DEBUG is not set 159# CONFIG_PCI_DEBUG is not set
158CONFIG_SUN_OPENPROMFS=m 160CONFIG_SUN_OPENPROMFS=m
159CONFIG_SPARC32_COMPAT=y 161CONFIG_SPARC32_COMPAT=y
@@ -359,7 +361,6 @@ CONFIG_IDE_GENERIC=y
359CONFIG_BLK_DEV_IDEPCI=y 361CONFIG_BLK_DEV_IDEPCI=y
360# CONFIG_IDEPCI_SHARE_IRQ is not set 362# CONFIG_IDEPCI_SHARE_IRQ is not set
361CONFIG_IDEPCI_PCIBUS_ORDER=y 363CONFIG_IDEPCI_PCIBUS_ORDER=y
362# CONFIG_BLK_DEV_OFFBOARD is not set
363# CONFIG_BLK_DEV_GENERIC is not set 364# CONFIG_BLK_DEV_GENERIC is not set
364# CONFIG_BLK_DEV_OPTI621 is not set 365# CONFIG_BLK_DEV_OPTI621 is not set
365CONFIG_BLK_DEV_IDEDMA_PCI=y 366CONFIG_BLK_DEV_IDEDMA_PCI=y
@@ -584,7 +585,6 @@ CONFIG_NIU=m
584# CONFIG_USB_KAWETH is not set 585# CONFIG_USB_KAWETH is not set
585# CONFIG_USB_PEGASUS is not set 586# CONFIG_USB_PEGASUS is not set
586# CONFIG_USB_RTL8150 is not set 587# CONFIG_USB_RTL8150 is not set
587# CONFIG_USB_USBNET_MII is not set
588# CONFIG_USB_USBNET is not set 588# CONFIG_USB_USBNET is not set
589# CONFIG_WAN is not set 589# CONFIG_WAN is not set
590# CONFIG_FDDI is not set 590# CONFIG_FDDI is not set
@@ -780,6 +780,7 @@ CONFIG_HWMON=y
780# CONFIG_SENSORS_ADT7470 is not set 780# CONFIG_SENSORS_ADT7470 is not set
781# CONFIG_SENSORS_ATXP1 is not set 781# CONFIG_SENSORS_ATXP1 is not set
782# CONFIG_SENSORS_DS1621 is not set 782# CONFIG_SENSORS_DS1621 is not set
783# CONFIG_SENSORS_I5K_AMB is not set
783# CONFIG_SENSORS_F71805F is not set 784# CONFIG_SENSORS_F71805F is not set
784# CONFIG_SENSORS_F71882FG is not set 785# CONFIG_SENSORS_F71882FG is not set
785# CONFIG_SENSORS_F75375S is not set 786# CONFIG_SENSORS_F75375S is not set
diff --git a/arch/sparc64/kernel/isa.c b/arch/sparc64/kernel/isa.c
index 0f19dce1c905..b5f7b354084f 100644
--- a/arch/sparc64/kernel/isa.c
+++ b/arch/sparc64/kernel/isa.c
@@ -155,6 +155,7 @@ void __init isa_init(void)
155 isa_br = kzalloc(sizeof(*isa_br), GFP_KERNEL); 155 isa_br = kzalloc(sizeof(*isa_br), GFP_KERNEL);
156 if (!isa_br) { 156 if (!isa_br) {
157 printk(KERN_DEBUG "isa: cannot allocate sparc_isa_bridge"); 157 printk(KERN_DEBUG "isa: cannot allocate sparc_isa_bridge");
158 pci_dev_put(pdev);
158 return; 159 return;
159 } 160 }
160 161
@@ -168,6 +169,7 @@ void __init isa_init(void)
168 printk(KERN_DEBUG "isa: device registration error for %s!\n", 169 printk(KERN_DEBUG "isa: device registration error for %s!\n",
169 dp->path_component_name); 170 dp->path_component_name);
170 kfree(isa_br); 171 kfree(isa_br);
172 pci_dev_put(pdev);
171 return; 173 return;
172 } 174 }
173 175
diff --git a/arch/sparc64/kernel/ldc.c b/arch/sparc64/kernel/ldc.c
index 217478a94128..63969f610284 100644
--- a/arch/sparc64/kernel/ldc.c
+++ b/arch/sparc64/kernel/ldc.c
@@ -2338,6 +2338,7 @@ static int __init ldc_init(void)
2338 unsigned long major, minor; 2338 unsigned long major, minor;
2339 struct mdesc_handle *hp; 2339 struct mdesc_handle *hp;
2340 const u64 *v; 2340 const u64 *v;
2341 int err;
2341 u64 mp; 2342 u64 mp;
2342 2343
2343 hp = mdesc_grab(); 2344 hp = mdesc_grab();
@@ -2345,29 +2346,33 @@ static int __init ldc_init(void)
2345 return -ENODEV; 2346 return -ENODEV;
2346 2347
2347 mp = mdesc_node_by_name(hp, MDESC_NODE_NULL, "platform"); 2348 mp = mdesc_node_by_name(hp, MDESC_NODE_NULL, "platform");
2349 err = -ENODEV;
2348 if (mp == MDESC_NODE_NULL) 2350 if (mp == MDESC_NODE_NULL)
2349 return -ENODEV; 2351 goto out;
2350 2352
2351 v = mdesc_get_property(hp, mp, "domaining-enabled", NULL); 2353 v = mdesc_get_property(hp, mp, "domaining-enabled", NULL);
2352 if (!v) 2354 if (!v)
2353 return -ENODEV; 2355 goto out;
2354 2356
2355 major = 1; 2357 major = 1;
2356 minor = 0; 2358 minor = 0;
2357 if (sun4v_hvapi_register(HV_GRP_LDOM, major, &minor)) { 2359 if (sun4v_hvapi_register(HV_GRP_LDOM, major, &minor)) {
2358 printk(KERN_INFO PFX "Could not register LDOM hvapi.\n"); 2360 printk(KERN_INFO PFX "Could not register LDOM hvapi.\n");
2359 return -ENODEV; 2361 goto out;
2360 } 2362 }
2361 2363
2362 printk(KERN_INFO "%s", version); 2364 printk(KERN_INFO "%s", version);
2363 2365
2364 if (!*v) { 2366 if (!*v) {
2365 printk(KERN_INFO PFX "Domaining disabled.\n"); 2367 printk(KERN_INFO PFX "Domaining disabled.\n");
2366 return -ENODEV; 2368 goto out;
2367 } 2369 }
2368 ldom_domaining_enabled = 1; 2370 ldom_domaining_enabled = 1;
2371 err = 0;
2369 2372
2370 return 0; 2373out:
2374 mdesc_release(hp);
2375 return err;
2371} 2376}
2372 2377
2373core_initcall(ldc_init); 2378core_initcall(ldc_init);
diff --git a/arch/sparc64/kernel/pci_sun4v.c b/arch/sparc64/kernel/pci_sun4v.c
index 8c4875bdb4a8..e587a372f3fe 100644
--- a/arch/sparc64/kernel/pci_sun4v.c
+++ b/arch/sparc64/kernel/pci_sun4v.c
@@ -1022,6 +1022,10 @@ void __init sun4v_pci_init(struct device_node *dp, char *model_name)
1022 } 1022 }
1023 1023
1024 prop = of_find_property(dp, "reg", NULL); 1024 prop = of_find_property(dp, "reg", NULL);
1025 if (!prop) {
1026 prom_printf("SUN4V_PCI: Could not find config registers\n");
1027 prom_halt();
1028 }
1025 regs = prop->value; 1029 regs = prop->value;
1026 1030
1027 devhandle = (regs->phys_addr >> 32UL) & 0x0fffffff; 1031 devhandle = (regs->phys_addr >> 32UL) & 0x0fffffff;
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c
index 7cd8d94df0dc..894b506f9636 100644
--- a/arch/sparc64/kernel/smp.c
+++ b/arch/sparc64/kernel/smp.c
@@ -236,8 +236,9 @@ void smp_synchronize_tick_client(void)
236 t[i].rt, t[i].master, t[i].diff, t[i].lat); 236 t[i].rt, t[i].master, t[i].diff, t[i].lat);
237#endif 237#endif
238 238
239 printk(KERN_INFO "CPU %d: synchronized TICK with master CPU (last diff %ld cycles," 239 printk(KERN_INFO "CPU %d: synchronized TICK with master CPU "
240 "maxerr %lu cycles)\n", smp_processor_id(), delta, rt); 240 "(last diff %ld cycles, maxerr %lu cycles)\n",
241 smp_processor_id(), delta, rt);
241} 242}
242 243
243static void smp_start_sync_tick_client(int cpu); 244static void smp_start_sync_tick_client(int cpu);
diff --git a/arch/um/Makefile-i386 b/arch/um/Makefile-i386
index 67290117d909..561e373bd850 100644
--- a/arch/um/Makefile-i386
+++ b/arch/um/Makefile-i386
@@ -22,11 +22,6 @@ export LDFLAGS HOSTCFLAGS HOSTLDFLAGS UML_OBJCOPYFLAGS
22endif 22endif
23endif 23endif
24 24
25KBUILD_CFLAGS += -DCONFIG_X86_32
26KBUILD_AFLAGS += -DCONFIG_X86_32
27CONFIG_X86_32 := y
28export CONFIG_X86_32
29
30# First of all, tune CFLAGS for the specific CPU. This actually sets cflags-y. 25# First of all, tune CFLAGS for the specific CPU. This actually sets cflags-y.
31include $(srctree)/arch/x86/Makefile_32.cpu 26include $(srctree)/arch/x86/Makefile_32.cpu
32 27
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 368864dfe6eb..80b7ba4056db 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -112,8 +112,9 @@ config GENERIC_TIME_VSYSCALL
112 bool 112 bool
113 default X86_64 113 default X86_64
114 114
115 115config ARCH_SUPPORTS_OPROFILE
116 116 bool
117 default y
117 118
118 119
119config ZONE_DMA32 120config ZONE_DMA32
@@ -148,7 +149,8 @@ config X86_SMP
148 149
149config X86_HT 150config X86_HT
150 bool 151 bool
151 depends on SMP && !(X86_VISWS || X86_VOYAGER || MK8) 152 depends on SMP
153 depends on (X86_32 && !(X86_VISWS || X86_VOYAGER)) || (X86_64 && !MK8)
152 default y 154 default y
153 155
154config X86_BIOS_REBOOT 156config X86_BIOS_REBOOT
diff --git a/arch/x86/kernel/cpu/intel_cacheinfo.c b/arch/x86/kernel/cpu/intel_cacheinfo.c
index 9921b01fe199..606fe4d55a91 100644
--- a/arch/x86/kernel/cpu/intel_cacheinfo.c
+++ b/arch/x86/kernel/cpu/intel_cacheinfo.c
@@ -497,7 +497,7 @@ static void __cpuinit cache_shared_cpu_map_setup(unsigned int cpu, int index) {}
497static void __cpuinit cache_remove_shared_cpu_map(unsigned int cpu, int index) {} 497static void __cpuinit cache_remove_shared_cpu_map(unsigned int cpu, int index) {}
498#endif 498#endif
499 499
500static void free_cache_attributes(unsigned int cpu) 500static void __cpuinit free_cache_attributes(unsigned int cpu)
501{ 501{
502 int i; 502 int i;
503 503
diff --git a/arch/x86/kernel/nmi_32.c b/arch/x86/kernel/nmi_32.c
index f5cc47c60b13..80ca72e5ac29 100644
--- a/arch/x86/kernel/nmi_32.c
+++ b/arch/x86/kernel/nmi_32.c
@@ -106,7 +106,8 @@ static int __init check_nmi_watchdog(void)
106 if (!per_cpu(wd_enabled, cpu)) 106 if (!per_cpu(wd_enabled, cpu))
107 continue; 107 continue;
108 if (nmi_count(cpu) - prev_nmi_count[cpu] <= 5) { 108 if (nmi_count(cpu) - prev_nmi_count[cpu] <= 5) {
109 printk("CPU#%d: NMI appears to be stuck (%d->%d)!\n", 109 printk(KERN_WARNING "WARNING: CPU#%d: NMI "
110 "appears to be stuck (%d->%d)!\n",
110 cpu, 111 cpu,
111 prev_nmi_count[cpu], 112 prev_nmi_count[cpu],
112 nmi_count(cpu)); 113 nmi_count(cpu));
diff --git a/arch/x86/kernel/nmi_64.c b/arch/x86/kernel/nmi_64.c
index a576fd740062..4253c4e8849c 100644
--- a/arch/x86/kernel/nmi_64.c
+++ b/arch/x86/kernel/nmi_64.c
@@ -109,7 +109,8 @@ int __init check_nmi_watchdog (void)
109 if (!per_cpu(wd_enabled, cpu)) 109 if (!per_cpu(wd_enabled, cpu))
110 continue; 110 continue;
111 if (cpu_pda(cpu)->__nmi_count - counts[cpu] <= 5) { 111 if (cpu_pda(cpu)->__nmi_count - counts[cpu] <= 5) {
112 printk("CPU#%d: NMI appears to be stuck (%d->%d)!\n", 112 printk(KERN_WARNING "WARNING: CPU#%d: NMI "
113 "appears to be stuck (%d->%d)!\n",
113 cpu, 114 cpu,
114 counts[cpu], 115 counts[cpu],
115 cpu_pda(cpu)->__nmi_count); 116 cpu_pda(cpu)->__nmi_count);
diff --git a/arch/x86/kernel/topology.c b/arch/x86/kernel/topology.c
index 8caa0b777466..7e16d675eb85 100644
--- a/arch/x86/kernel/topology.c
+++ b/arch/x86/kernel/topology.c
@@ -33,7 +33,7 @@
33 33
34static struct i386_cpu cpu_devices[NR_CPUS]; 34static struct i386_cpu cpu_devices[NR_CPUS];
35 35
36int arch_register_cpu(int num) 36int __cpuinit arch_register_cpu(int num)
37{ 37{
38 /* 38 /*
39 * CPU0 cannot be offlined due to several 39 * CPU0 cannot be offlined due to several
@@ -53,7 +53,8 @@ int arch_register_cpu(int num)
53} 53}
54 54
55#ifdef CONFIG_HOTPLUG_CPU 55#ifdef CONFIG_HOTPLUG_CPU
56void arch_unregister_cpu(int num) { 56void arch_unregister_cpu(int num)
57{
57 return unregister_cpu(&cpu_devices[num].cpu); 58 return unregister_cpu(&cpu_devices[num].cpu);
58} 59}
59EXPORT_SYMBOL(arch_register_cpu); 60EXPORT_SYMBOL(arch_register_cpu);