diff options
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/mips/Kconfig | 27 | ||||
| -rw-r--r-- | arch/mips/kernel/head.S | 1 | ||||
| -rw-r--r-- | arch/mips/sibyte/swarm/Makefile | 3 | ||||
| -rw-r--r-- | arch/mips/sibyte/swarm/platform.c | 85 | ||||
| -rw-r--r-- | arch/x86/kernel/acpi/boot.c | 16 | ||||
| -rw-r--r-- | arch/x86/kernel/cpu/cpufreq/p4-clockmod.c | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/kgdb.c | 7 |
8 files changed, 123 insertions, 20 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index c930b8ceb418..1e06d233fa83 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
| @@ -211,6 +211,7 @@ config MIPS_MALTA | |||
| 211 | select SYS_SUPPORTS_64BIT_KERNEL | 211 | select SYS_SUPPORTS_64BIT_KERNEL |
| 212 | select SYS_SUPPORTS_BIG_ENDIAN | 212 | select SYS_SUPPORTS_BIG_ENDIAN |
| 213 | select SYS_SUPPORTS_LITTLE_ENDIAN | 213 | select SYS_SUPPORTS_LITTLE_ENDIAN |
| 214 | select SYS_SUPPORTS_MIPS_CMP if BROKEN # because SYNC_R4K is broken | ||
| 214 | select SYS_SUPPORTS_MULTITHREADING | 215 | select SYS_SUPPORTS_MULTITHREADING |
| 215 | select SYS_SUPPORTS_SMARTMIPS | 216 | select SYS_SUPPORTS_SMARTMIPS |
| 216 | help | 217 | help |
| @@ -1499,6 +1500,18 @@ config MIPS_APSP_KSPD | |||
| 1499 | "exit" syscall notifying other kernel modules the SP program is | 1500 | "exit" syscall notifying other kernel modules the SP program is |
| 1500 | exiting. You probably want to say yes here. | 1501 | exiting. You probably want to say yes here. |
| 1501 | 1502 | ||
| 1503 | config MIPS_CMP | ||
| 1504 | bool "MIPS CMP framework support" | ||
| 1505 | depends on SYS_SUPPORTS_MIPS_CMP | ||
| 1506 | select SYNC_R4K if BROKEN | ||
| 1507 | select SYS_SUPPORTS_SMP | ||
| 1508 | select SYS_SUPPORTS_SCHED_SMT if SMP | ||
| 1509 | select WEAK_ORDERING | ||
| 1510 | default n | ||
| 1511 | help | ||
| 1512 | This is a placeholder option for the GCMP work. It will need to | ||
| 1513 | be handled differently... | ||
| 1514 | |||
| 1502 | config SB1_PASS_1_WORKAROUNDS | 1515 | config SB1_PASS_1_WORKAROUNDS |
| 1503 | bool | 1516 | bool |
| 1504 | depends on CPU_SB1_PASS_1 | 1517 | depends on CPU_SB1_PASS_1 |
| @@ -1675,6 +1688,9 @@ config SMP | |||
| 1675 | config SMP_UP | 1688 | config SMP_UP |
| 1676 | bool | 1689 | bool |
| 1677 | 1690 | ||
| 1691 | config SYS_SUPPORTS_MIPS_CMP | ||
| 1692 | bool | ||
| 1693 | |||
| 1678 | config SYS_SUPPORTS_SMP | 1694 | config SYS_SUPPORTS_SMP |
| 1679 | bool | 1695 | bool |
| 1680 | 1696 | ||
| @@ -1722,17 +1738,6 @@ config NR_CPUS | |||
| 1722 | performance should round up your number of processors to the next | 1738 | performance should round up your number of processors to the next |
| 1723 | power of two. | 1739 | power of two. |
| 1724 | 1740 | ||
| 1725 | config MIPS_CMP | ||
| 1726 | bool "MIPS CMP framework support" | ||
| 1727 | depends on SMP | ||
| 1728 | select SYNC_R4K | ||
| 1729 | select SYS_SUPPORTS_SCHED_SMT | ||
| 1730 | select WEAK_ORDERING | ||
| 1731 | default n | ||
| 1732 | help | ||
| 1733 | This is a placeholder option for the GCMP work. It will need to | ||
| 1734 | be handled differently... | ||
| 1735 | |||
| 1736 | source "kernel/time/Kconfig" | 1741 | source "kernel/time/Kconfig" |
| 1737 | 1742 | ||
| 1738 | # | 1743 | # |
diff --git a/arch/mips/kernel/head.S b/arch/mips/kernel/head.S index 361364501d34..492a0a8d70fb 100644 --- a/arch/mips/kernel/head.S +++ b/arch/mips/kernel/head.S | |||
| @@ -22,6 +22,7 @@ | |||
| 22 | #include <asm/irqflags.h> | 22 | #include <asm/irqflags.h> |
| 23 | #include <asm/regdef.h> | 23 | #include <asm/regdef.h> |
| 24 | #include <asm/page.h> | 24 | #include <asm/page.h> |
| 25 | #include <asm/pgtable-bits.h> | ||
| 25 | #include <asm/mipsregs.h> | 26 | #include <asm/mipsregs.h> |
| 26 | #include <asm/stackframe.h> | 27 | #include <asm/stackframe.h> |
| 27 | 28 | ||
diff --git a/arch/mips/sibyte/swarm/Makefile b/arch/mips/sibyte/swarm/Makefile index f18ba9201bbc..7b45f199d92a 100644 --- a/arch/mips/sibyte/swarm/Makefile +++ b/arch/mips/sibyte/swarm/Makefile | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | obj-y := setup.o rtc_xicor1241.o rtc_m41t81.o | 1 | obj-y := platform.o setup.o rtc_xicor1241.o \ |
| 2 | rtc_m41t81.o | ||
| 2 | 3 | ||
| 3 | obj-$(CONFIG_I2C_BOARDINFO) += swarm-i2c.o | 4 | obj-$(CONFIG_I2C_BOARDINFO) += swarm-i2c.o |
diff --git a/arch/mips/sibyte/swarm/platform.c b/arch/mips/sibyte/swarm/platform.c new file mode 100644 index 000000000000..54847fe1e564 --- /dev/null +++ b/arch/mips/sibyte/swarm/platform.c | |||
| @@ -0,0 +1,85 @@ | |||
| 1 | #include <linux/err.h> | ||
| 2 | #include <linux/kernel.h> | ||
| 3 | #include <linux/init.h> | ||
| 4 | #include <linux/io.h> | ||
| 5 | #include <linux/platform_device.h> | ||
| 6 | #include <linux/ata_platform.h> | ||
| 7 | |||
| 8 | #include <asm/sibyte/board.h> | ||
| 9 | #include <asm/sibyte/sb1250_genbus.h> | ||
| 10 | #include <asm/sibyte/sb1250_regs.h> | ||
| 11 | |||
| 12 | #if defined(CONFIG_SIBYTE_SWARM) || defined(CONFIG_SIBYTE_LITTLESUR) | ||
| 13 | |||
| 14 | #define DRV_NAME "pata-swarm" | ||
| 15 | |||
| 16 | #define SWARM_IDE_SHIFT 5 | ||
| 17 | #define SWARM_IDE_BASE 0x1f0 | ||
| 18 | #define SWARM_IDE_CTRL 0x3f6 | ||
| 19 | |||
| 20 | static struct resource swarm_pata_resource[] = { | ||
| 21 | { | ||
| 22 | .name = "Swarm GenBus IDE", | ||
| 23 | .flags = IORESOURCE_MEM, | ||
| 24 | }, { | ||
| 25 | .name = "Swarm GenBus IDE", | ||
| 26 | .flags = IORESOURCE_MEM, | ||
| 27 | }, { | ||
| 28 | .name = "Swarm GenBus IDE", | ||
| 29 | .flags = IORESOURCE_IRQ, | ||
| 30 | .start = K_INT_GB_IDE, | ||
| 31 | .end = K_INT_GB_IDE, | ||
| 32 | }, | ||
| 33 | }; | ||
| 34 | |||
| 35 | static struct pata_platform_info pata_platform_data = { | ||
| 36 | .ioport_shift = SWARM_IDE_SHIFT, | ||
| 37 | }; | ||
| 38 | |||
| 39 | static struct platform_device swarm_pata_device = { | ||
| 40 | .name = "pata_platform", | ||
| 41 | .id = -1, | ||
| 42 | .resource = swarm_pata_resource, | ||
| 43 | .num_resources = ARRAY_SIZE(swarm_pata_resource), | ||
| 44 | .dev = { | ||
| 45 | .platform_data = &pata_platform_data, | ||
| 46 | .coherent_dma_mask = ~0, /* grumble */ | ||
| 47 | }, | ||
| 48 | }; | ||
| 49 | |||
| 50 | static int __init swarm_pata_init(void) | ||
| 51 | { | ||
| 52 | u8 __iomem *base; | ||
| 53 | phys_t offset, size; | ||
| 54 | struct resource *r; | ||
| 55 | |||
| 56 | if (!SIBYTE_HAVE_IDE) | ||
| 57 | return -ENODEV; | ||
| 58 | |||
| 59 | base = ioremap(A_IO_EXT_BASE, 0x800); | ||
| 60 | offset = __raw_readq(base + R_IO_EXT_REG(R_IO_EXT_START_ADDR, IDE_CS)); | ||
| 61 | size = __raw_readq(base + R_IO_EXT_REG(R_IO_EXT_MULT_SIZE, IDE_CS)); | ||
| 62 | iounmap(base); | ||
| 63 | |||
| 64 | offset = G_IO_START_ADDR(offset) << S_IO_ADDRBASE; | ||
| 65 | size = (G_IO_MULT_SIZE(size) + 1) << S_IO_REGSIZE; | ||
| 66 | if (offset < A_PHYS_GENBUS || offset >= A_PHYS_GENBUS_END) { | ||
| 67 | pr_info(DRV_NAME ": PATA interface at GenBus disabled\n"); | ||
| 68 | |||
| 69 | return -EBUSY; | ||
| 70 | } | ||
| 71 | |||
| 72 | pr_info(DRV_NAME ": PATA interface at GenBus slot %i\n", IDE_CS); | ||
| 73 | |||
| 74 | r = swarm_pata_resource; | ||
| 75 | r[0].start = offset + (SWARM_IDE_BASE << SWARM_IDE_SHIFT); | ||
| 76 | r[0].end = offset + ((SWARM_IDE_BASE + 8) << SWARM_IDE_SHIFT) - 1; | ||
| 77 | r[1].start = offset + (SWARM_IDE_CTRL << SWARM_IDE_SHIFT); | ||
| 78 | r[1].end = offset + ((SWARM_IDE_CTRL + 1) << SWARM_IDE_SHIFT) - 1; | ||
| 79 | |||
| 80 | return platform_device_register(&swarm_pata_device); | ||
| 81 | } | ||
| 82 | |||
| 83 | device_initcall(swarm_pata_init); | ||
| 84 | |||
| 85 | #endif /* defined(CONFIG_SIBYTE_SWARM) || defined(CONFIG_SIBYTE_LITTLESUR) */ | ||
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index e5032d7b391d..7d40ef7b36e3 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c | |||
| @@ -1604,6 +1604,14 @@ static struct dmi_system_id __initdata acpi_dmi_table[] = { | |||
| 1604 | */ | 1604 | */ |
| 1605 | { | 1605 | { |
| 1606 | .callback = dmi_ignore_irq0_timer_override, | 1606 | .callback = dmi_ignore_irq0_timer_override, |
| 1607 | .ident = "HP nx6115 laptop", | ||
| 1608 | .matches = { | ||
| 1609 | DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), | ||
| 1610 | DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq nx6115"), | ||
| 1611 | }, | ||
| 1612 | }, | ||
| 1613 | { | ||
| 1614 | .callback = dmi_ignore_irq0_timer_override, | ||
| 1607 | .ident = "HP NX6125 laptop", | 1615 | .ident = "HP NX6125 laptop", |
| 1608 | .matches = { | 1616 | .matches = { |
| 1609 | DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), | 1617 | DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), |
| @@ -1618,6 +1626,14 @@ static struct dmi_system_id __initdata acpi_dmi_table[] = { | |||
| 1618 | DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq nx6325"), | 1626 | DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq nx6325"), |
| 1619 | }, | 1627 | }, |
| 1620 | }, | 1628 | }, |
| 1629 | { | ||
| 1630 | .callback = dmi_ignore_irq0_timer_override, | ||
| 1631 | .ident = "HP 6715b laptop", | ||
| 1632 | .matches = { | ||
| 1633 | DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), | ||
| 1634 | DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq 6715b"), | ||
| 1635 | }, | ||
| 1636 | }, | ||
| 1621 | {} | 1637 | {} |
| 1622 | }; | 1638 | }; |
| 1623 | 1639 | ||
diff --git a/arch/x86/kernel/cpu/cpufreq/p4-clockmod.c b/arch/x86/kernel/cpu/cpufreq/p4-clockmod.c index f1685fb91fbd..b8e05ee4f736 100644 --- a/arch/x86/kernel/cpu/cpufreq/p4-clockmod.c +++ b/arch/x86/kernel/cpu/cpufreq/p4-clockmod.c | |||
| @@ -171,7 +171,7 @@ static unsigned int cpufreq_p4_get_frequency(struct cpuinfo_x86 *c) | |||
| 171 | } | 171 | } |
| 172 | 172 | ||
| 173 | if (c->x86 != 0xF) { | 173 | if (c->x86 != 0xF) { |
| 174 | printk(KERN_WARNING PFX "Unknown p4-clockmod-capable CPU. Please send an e-mail to <cpufreq@lists.linux.org.uk>\n"); | 174 | printk(KERN_WARNING PFX "Unknown p4-clockmod-capable CPU. Please send an e-mail to <cpufreq@vger.kernel.org>\n"); |
| 175 | return 0; | 175 | return 0; |
| 176 | } | 176 | } |
| 177 | 177 | ||
diff --git a/arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c b/arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c index 15e13c01cc36..3b5f06423e77 100644 --- a/arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c +++ b/arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c | |||
| @@ -26,7 +26,7 @@ | |||
| 26 | #include <asm/cpufeature.h> | 26 | #include <asm/cpufeature.h> |
| 27 | 27 | ||
| 28 | #define PFX "speedstep-centrino: " | 28 | #define PFX "speedstep-centrino: " |
| 29 | #define MAINTAINER "cpufreq@lists.linux.org.uk" | 29 | #define MAINTAINER "cpufreq@vger.kernel.org" |
| 30 | 30 | ||
| 31 | #define dprintk(msg...) \ | 31 | #define dprintk(msg...) \ |
| 32 | cpufreq_debug_printk(CPUFREQ_DEBUG_DRIVER, "speedstep-centrino", msg) | 32 | cpufreq_debug_printk(CPUFREQ_DEBUG_DRIVER, "speedstep-centrino", msg) |
diff --git a/arch/x86/kernel/kgdb.c b/arch/x86/kernel/kgdb.c index 8282a2139681..10435a120d22 100644 --- a/arch/x86/kernel/kgdb.c +++ b/arch/x86/kernel/kgdb.c | |||
| @@ -455,12 +455,7 @@ static int __kgdb_notify(struct die_args *args, unsigned long cmd) | |||
| 455 | return NOTIFY_DONE; | 455 | return NOTIFY_DONE; |
| 456 | 456 | ||
| 457 | case DIE_NMI_IPI: | 457 | case DIE_NMI_IPI: |
| 458 | if (atomic_read(&kgdb_active) != -1) { | 458 | /* Just ignore, we will handle the roundup on DIE_NMI. */ |
| 459 | /* KGDB CPU roundup */ | ||
| 460 | kgdb_nmicallback(raw_smp_processor_id(), regs); | ||
| 461 | was_in_debug_nmi[raw_smp_processor_id()] = 1; | ||
| 462 | touch_nmi_watchdog(); | ||
| 463 | } | ||
| 464 | return NOTIFY_DONE; | 459 | return NOTIFY_DONE; |
| 465 | 460 | ||
| 466 | case DIE_NMIUNKNOWN: | 461 | case DIE_NMIUNKNOWN: |
