diff options
| -rw-r--r-- | arch/i386/Kconfig | 1 | ||||
| -rw-r--r-- | arch/i386/defconfig | 28 | ||||
| -rw-r--r-- | arch/i386/kernel/io_apic.c | 2 | ||||
| -rw-r--r-- | arch/i386/kernel/nmi.c | 8 | ||||
| -rw-r--r-- | arch/i386/kernel/quirks.c | 33 | ||||
| -rw-r--r-- | arch/i386/kernel/smpboot.c | 2 | ||||
| -rw-r--r-- | arch/i386/kernel/vmlinux.lds.S | 1 | ||||
| -rw-r--r-- | arch/x86_64/defconfig | 29 | ||||
| -rw-r--r-- | arch/x86_64/kernel/nmi.c | 9 | ||||
| -rw-r--r-- | arch/x86_64/kernel/vmlinux.lds.S | 1 |
10 files changed, 86 insertions, 28 deletions
diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig index c2362c7ba749..0d67a0a1151e 100644 --- a/arch/i386/Kconfig +++ b/arch/i386/Kconfig | |||
| @@ -190,6 +190,7 @@ endchoice | |||
| 190 | config PARAVIRT | 190 | config PARAVIRT |
| 191 | bool "Paravirtualization support (EXPERIMENTAL)" | 191 | bool "Paravirtualization support (EXPERIMENTAL)" |
| 192 | depends on EXPERIMENTAL | 192 | depends on EXPERIMENTAL |
| 193 | depends on !(X86_VISWS || X86_VOYAGER) | ||
| 193 | help | 194 | help |
| 194 | Paravirtualization is a way of running multiple instances of | 195 | Paravirtualization is a way of running multiple instances of |
| 195 | Linux on the same machine, under a hypervisor. This option | 196 | Linux on the same machine, under a hypervisor. This option |
diff --git a/arch/i386/defconfig b/arch/i386/defconfig index 65891f11aced..3265208e5899 100644 --- a/arch/i386/defconfig +++ b/arch/i386/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.19-git7 | 3 | # Linux kernel version: 2.6.19-git14 |
| 4 | # Wed Dec 6 23:50:49 2006 | 4 | # Sat Dec 9 21:23:14 2006 |
| 5 | # | 5 | # |
| 6 | CONFIG_X86_32=y | 6 | CONFIG_X86_32=y |
| 7 | CONFIG_GENERIC_TIME=y | 7 | CONFIG_GENERIC_TIME=y |
| @@ -12,6 +12,7 @@ CONFIG_X86=y | |||
| 12 | CONFIG_MMU=y | 12 | CONFIG_MMU=y |
| 13 | CONFIG_GENERIC_ISA_DMA=y | 13 | CONFIG_GENERIC_ISA_DMA=y |
| 14 | CONFIG_GENERIC_IOMAP=y | 14 | CONFIG_GENERIC_IOMAP=y |
| 15 | CONFIG_GENERIC_BUG=y | ||
| 15 | CONFIG_GENERIC_HWEIGHT=y | 16 | CONFIG_GENERIC_HWEIGHT=y |
| 16 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | 17 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y |
| 17 | CONFIG_DMI=y | 18 | CONFIG_DMI=y |
| @@ -141,6 +142,8 @@ CONFIG_X86_CMPXCHG=y | |||
| 141 | CONFIG_X86_XADD=y | 142 | CONFIG_X86_XADD=y |
| 142 | CONFIG_X86_L1_CACHE_SHIFT=7 | 143 | CONFIG_X86_L1_CACHE_SHIFT=7 |
| 143 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 144 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
| 145 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
| 146 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
| 144 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 147 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
| 145 | CONFIG_X86_WP_WORKS_OK=y | 148 | CONFIG_X86_WP_WORKS_OK=y |
| 146 | CONFIG_X86_INVLPG=y | 149 | CONFIG_X86_INVLPG=y |
| @@ -203,6 +206,7 @@ CONFIG_MTRR=y | |||
| 203 | CONFIG_SECCOMP=y | 206 | CONFIG_SECCOMP=y |
| 204 | # CONFIG_HZ_100 is not set | 207 | # CONFIG_HZ_100 is not set |
| 205 | CONFIG_HZ_250=y | 208 | CONFIG_HZ_250=y |
| 209 | # CONFIG_HZ_300 is not set | ||
| 206 | # CONFIG_HZ_1000 is not set | 210 | # CONFIG_HZ_1000 is not set |
| 207 | CONFIG_HZ=250 | 211 | CONFIG_HZ=250 |
| 208 | # CONFIG_KEXEC is not set | 212 | # CONFIG_KEXEC is not set |
| @@ -563,6 +567,7 @@ CONFIG_IDEDMA_AUTO=y | |||
| 563 | # | 567 | # |
| 564 | # CONFIG_RAID_ATTRS is not set | 568 | # CONFIG_RAID_ATTRS is not set |
| 565 | CONFIG_SCSI=y | 569 | CONFIG_SCSI=y |
| 570 | # CONFIG_SCSI_TGT is not set | ||
| 566 | CONFIG_SCSI_NETLINK=y | 571 | CONFIG_SCSI_NETLINK=y |
| 567 | # CONFIG_SCSI_PROC_FS is not set | 572 | # CONFIG_SCSI_PROC_FS is not set |
| 568 | 573 | ||
| @@ -583,6 +588,7 @@ CONFIG_CHR_DEV_SG=y | |||
| 583 | # CONFIG_SCSI_MULTI_LUN is not set | 588 | # CONFIG_SCSI_MULTI_LUN is not set |
| 584 | # CONFIG_SCSI_CONSTANTS is not set | 589 | # CONFIG_SCSI_CONSTANTS is not set |
| 585 | # CONFIG_SCSI_LOGGING is not set | 590 | # CONFIG_SCSI_LOGGING is not set |
| 591 | # CONFIG_SCSI_SCAN_ASYNC is not set | ||
| 586 | 592 | ||
| 587 | # | 593 | # |
| 588 | # SCSI Transports | 594 | # SCSI Transports |
| @@ -642,6 +648,7 @@ CONFIG_AIC79XX_DEBUG_MASK=0 | |||
| 642 | # CONFIG_SCSI_DC390T is not set | 648 | # CONFIG_SCSI_DC390T is not set |
| 643 | # CONFIG_SCSI_NSP32 is not set | 649 | # CONFIG_SCSI_NSP32 is not set |
| 644 | # CONFIG_SCSI_DEBUG is not set | 650 | # CONFIG_SCSI_DEBUG is not set |
| 651 | # CONFIG_SCSI_SRP is not set | ||
| 645 | 652 | ||
| 646 | # | 653 | # |
| 647 | # Serial ATA (prod) and Parallel ATA (experimental) drivers | 654 | # Serial ATA (prod) and Parallel ATA (experimental) drivers |
| @@ -1082,10 +1089,7 @@ CONFIG_SOUND=y | |||
| 1082 | # Open Sound System | 1089 | # Open Sound System |
| 1083 | # | 1090 | # |
| 1084 | CONFIG_SOUND_PRIME=y | 1091 | CONFIG_SOUND_PRIME=y |
| 1085 | CONFIG_OSS_OBSOLETE_DRIVER=y | ||
| 1086 | # CONFIG_SOUND_BT878 is not set | 1092 | # CONFIG_SOUND_BT878 is not set |
| 1087 | # CONFIG_SOUND_EMU10K1 is not set | ||
| 1088 | # CONFIG_SOUND_FUSION is not set | ||
| 1089 | # CONFIG_SOUND_ES1371 is not set | 1093 | # CONFIG_SOUND_ES1371 is not set |
| 1090 | CONFIG_SOUND_ICH=y | 1094 | CONFIG_SOUND_ICH=y |
| 1091 | # CONFIG_SOUND_TRIDENT is not set | 1095 | # CONFIG_SOUND_TRIDENT is not set |
| @@ -1095,6 +1099,11 @@ CONFIG_SOUND_ICH=y | |||
| 1095 | # CONFIG_SOUND_OSS is not set | 1099 | # CONFIG_SOUND_OSS is not set |
| 1096 | 1100 | ||
| 1097 | # | 1101 | # |
| 1102 | # HID Devices | ||
| 1103 | # | ||
| 1104 | CONFIG_HID=y | ||
| 1105 | |||
| 1106 | # | ||
| 1098 | # USB support | 1107 | # USB support |
| 1099 | # | 1108 | # |
| 1100 | CONFIG_USB_ARCH_HAS_HCD=y | 1109 | CONFIG_USB_ARCH_HAS_HCD=y |
| @@ -1158,8 +1167,7 @@ CONFIG_USB_STORAGE=y | |||
| 1158 | # USB Input Devices | 1167 | # USB Input Devices |
| 1159 | # | 1168 | # |
| 1160 | CONFIG_USB_HID=y | 1169 | CONFIG_USB_HID=y |
| 1161 | CONFIG_USB_HIDINPUT=y | 1170 | # CONFIG_USB_HID_POWERBOOK is not set |
| 1162 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set | ||
| 1163 | # CONFIG_HID_FF is not set | 1171 | # CONFIG_HID_FF is not set |
| 1164 | # CONFIG_USB_HIDDEV is not set | 1172 | # CONFIG_USB_HIDDEV is not set |
| 1165 | # CONFIG_USB_AIPTEK is not set | 1173 | # CONFIG_USB_AIPTEK is not set |
| @@ -1444,6 +1452,11 @@ CONFIG_NLS_ISO8859_15=y | |||
| 1444 | CONFIG_NLS_UTF8=y | 1452 | CONFIG_NLS_UTF8=y |
| 1445 | 1453 | ||
| 1446 | # | 1454 | # |
| 1455 | # Distributed Lock Manager | ||
| 1456 | # | ||
| 1457 | # CONFIG_DLM is not set | ||
| 1458 | |||
| 1459 | # | ||
| 1447 | # Instrumentation Support | 1460 | # Instrumentation Support |
| 1448 | # | 1461 | # |
| 1449 | CONFIG_PROFILING=y | 1462 | CONFIG_PROFILING=y |
| @@ -1509,6 +1522,7 @@ CONFIG_DOUBLEFAULT=y | |||
| 1509 | # | 1522 | # |
| 1510 | # Library routines | 1523 | # Library routines |
| 1511 | # | 1524 | # |
| 1525 | CONFIG_BITREVERSE=y | ||
| 1512 | # CONFIG_CRC_CCITT is not set | 1526 | # CONFIG_CRC_CCITT is not set |
| 1513 | # CONFIG_CRC16 is not set | 1527 | # CONFIG_CRC16 is not set |
| 1514 | CONFIG_CRC32=y | 1528 | CONFIG_CRC32=y |
diff --git a/arch/i386/kernel/io_apic.c b/arch/i386/kernel/io_apic.c index e21dcde0790e..2424cc9c7b3d 100644 --- a/arch/i386/kernel/io_apic.c +++ b/arch/i386/kernel/io_apic.c | |||
| @@ -2485,7 +2485,7 @@ device_initcall(ioapic_init_sysfs); | |||
| 2485 | int create_irq(void) | 2485 | int create_irq(void) |
| 2486 | { | 2486 | { |
| 2487 | /* Allocate an unused irq */ | 2487 | /* Allocate an unused irq */ |
| 2488 | int irq, new, vector; | 2488 | int irq, new, vector = 0; |
| 2489 | unsigned long flags; | 2489 | unsigned long flags; |
| 2490 | 2490 | ||
| 2491 | irq = -ENOSPC; | 2491 | irq = -ENOSPC; |
diff --git a/arch/i386/kernel/nmi.c b/arch/i386/kernel/nmi.c index f5bc7e1be801..a5e34d655965 100644 --- a/arch/i386/kernel/nmi.c +++ b/arch/i386/kernel/nmi.c | |||
| @@ -195,6 +195,8 @@ static __cpuinit inline int nmi_known_cpu(void) | |||
| 195 | return 0; | 195 | return 0; |
| 196 | } | 196 | } |
| 197 | 197 | ||
| 198 | static int endflag __initdata = 0; | ||
| 199 | |||
| 198 | #ifdef CONFIG_SMP | 200 | #ifdef CONFIG_SMP |
| 199 | /* The performance counters used by NMI_LOCAL_APIC don't trigger when | 201 | /* The performance counters used by NMI_LOCAL_APIC don't trigger when |
| 200 | * the CPU is idle. To make sure the NMI watchdog really ticks on all | 202 | * the CPU is idle. To make sure the NMI watchdog really ticks on all |
| @@ -202,7 +204,6 @@ static __cpuinit inline int nmi_known_cpu(void) | |||
| 202 | */ | 204 | */ |
| 203 | static __init void nmi_cpu_busy(void *data) | 205 | static __init void nmi_cpu_busy(void *data) |
| 204 | { | 206 | { |
| 205 | volatile int *endflag = data; | ||
| 206 | local_irq_enable_in_hardirq(); | 207 | local_irq_enable_in_hardirq(); |
| 207 | /* Intentionally don't use cpu_relax here. This is | 208 | /* Intentionally don't use cpu_relax here. This is |
| 208 | to make sure that the performance counter really ticks, | 209 | to make sure that the performance counter really ticks, |
| @@ -210,14 +211,13 @@ static __init void nmi_cpu_busy(void *data) | |||
| 210 | pause instruction. On a real HT machine this is fine because | 211 | pause instruction. On a real HT machine this is fine because |
| 211 | all other CPUs are busy with "useless" delay loops and don't | 212 | all other CPUs are busy with "useless" delay loops and don't |
| 212 | care if they get somewhat less cycles. */ | 213 | care if they get somewhat less cycles. */ |
| 213 | while (*endflag == 0) | 214 | while (endflag == 0) |
| 214 | barrier(); | 215 | mb(); |
| 215 | } | 216 | } |
| 216 | #endif | 217 | #endif |
| 217 | 218 | ||
| 218 | static int __init check_nmi_watchdog(void) | 219 | static int __init check_nmi_watchdog(void) |
| 219 | { | 220 | { |
| 220 | volatile int endflag = 0; | ||
| 221 | unsigned int *prev_nmi_count; | 221 | unsigned int *prev_nmi_count; |
| 222 | int cpu; | 222 | int cpu; |
| 223 | 223 | ||
diff --git a/arch/i386/kernel/quirks.c b/arch/i386/kernel/quirks.c index a01320a7b636..34874c398b44 100644 --- a/arch/i386/kernel/quirks.c +++ b/arch/i386/kernel/quirks.c | |||
| @@ -10,13 +10,38 @@ | |||
| 10 | #if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_SMP) && defined(CONFIG_PCI) | 10 | #if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_SMP) && defined(CONFIG_PCI) |
| 11 | static void __devinit verify_quirk_intel_irqbalance(struct pci_dev *dev) | 11 | static void __devinit verify_quirk_intel_irqbalance(struct pci_dev *dev) |
| 12 | { | 12 | { |
| 13 | u8 config, rev; | ||
| 14 | u32 word; | ||
| 15 | |||
| 16 | /* BIOS may enable hardware IRQ balancing for | ||
| 17 | * E7520/E7320/E7525(revision ID 0x9 and below) | ||
| 18 | * based platforms. | ||
| 19 | * For those platforms, make sure that the genapic is set to 'flat' | ||
| 20 | */ | ||
| 21 | pci_read_config_byte(dev, PCI_CLASS_REVISION, &rev); | ||
| 22 | if (rev > 0x9) | ||
| 23 | return; | ||
| 24 | |||
| 25 | /* enable access to config space*/ | ||
| 26 | pci_read_config_byte(dev, 0xf4, &config); | ||
| 27 | pci_write_config_byte(dev, 0xf4, config|0x2); | ||
| 28 | |||
| 29 | /* read xTPR register */ | ||
| 30 | raw_pci_ops->read(0, 0, 0x40, 0x4c, 2, &word); | ||
| 31 | |||
| 32 | if (!(word & (1 << 13))) { | ||
| 13 | #ifdef CONFIG_X86_64 | 33 | #ifdef CONFIG_X86_64 |
| 14 | if (genapic != &apic_flat) | 34 | if (genapic != &apic_flat) |
| 15 | panic("APIC mode must be flat on this system\n"); | 35 | panic("APIC mode must be flat on this system\n"); |
| 16 | #elif defined(CONFIG_X86_GENERICARCH) | 36 | #elif defined(CONFIG_X86_GENERICARCH) |
| 17 | if (genapic != &apic_default) | 37 | if (genapic != &apic_default) |
| 18 | panic("APIC mode must be default(flat) on this system. Use apic=default\n"); | 38 | panic("APIC mode must be default(flat) on this system. Use apic=default\n"); |
| 19 | #endif | 39 | #endif |
| 40 | } | ||
| 41 | |||
| 42 | /* put back the original value for config space*/ | ||
| 43 | if (!(config & 0x2)) | ||
| 44 | pci_write_config_byte(dev, 0xf4, config); | ||
| 20 | } | 45 | } |
| 21 | 46 | ||
| 22 | void __init quirk_intel_irqbalance(void) | 47 | void __init quirk_intel_irqbalance(void) |
diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c index 1e00b03163b9..b0f84e5778ad 100644 --- a/arch/i386/kernel/smpboot.c +++ b/arch/i386/kernel/smpboot.c | |||
| @@ -69,7 +69,7 @@ static int __devinitdata smp_b_stepping; | |||
| 69 | 69 | ||
| 70 | /* Number of siblings per CPU package */ | 70 | /* Number of siblings per CPU package */ |
| 71 | int smp_num_siblings = 1; | 71 | int smp_num_siblings = 1; |
| 72 | #ifdef CONFIG_X86_HT | 72 | #ifdef CONFIG_SMP |
| 73 | EXPORT_SYMBOL(smp_num_siblings); | 73 | EXPORT_SYMBOL(smp_num_siblings); |
| 74 | #endif | 74 | #endif |
| 75 | 75 | ||
diff --git a/arch/i386/kernel/vmlinux.lds.S b/arch/i386/kernel/vmlinux.lds.S index 16d3c7133ad7..a53c8b1854b5 100644 --- a/arch/i386/kernel/vmlinux.lds.S +++ b/arch/i386/kernel/vmlinux.lds.S | |||
| @@ -26,6 +26,7 @@ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") | |||
| 26 | OUTPUT_ARCH(i386) | 26 | OUTPUT_ARCH(i386) |
| 27 | ENTRY(phys_startup_32) | 27 | ENTRY(phys_startup_32) |
| 28 | jiffies = jiffies_64; | 28 | jiffies = jiffies_64; |
| 29 | _proxy_pda = 0; | ||
| 29 | 30 | ||
| 30 | PHDRS { | 31 | PHDRS { |
| 31 | text PT_LOAD FLAGS(5); /* R_E */ | 32 | text PT_LOAD FLAGS(5); /* R_E */ |
diff --git a/arch/x86_64/defconfig b/arch/x86_64/defconfig index 96f226cfb339..1a1c6a1a299b 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.19-git7 | 3 | # Linux kernel version: 2.6.19-git14 |
| 4 | # Wed Dec 6 23:50:47 2006 | 4 | # Sat Dec 9 21:23:09 2006 |
| 5 | # | 5 | # |
| 6 | CONFIG_X86_64=y | 6 | CONFIG_X86_64=y |
| 7 | CONFIG_64BIT=y | 7 | CONFIG_64BIT=y |
| @@ -22,6 +22,9 @@ CONFIG_ARCH_MAY_HAVE_PC_FDC=y | |||
| 22 | CONFIG_ARCH_POPULATES_NODE_MAP=y | 22 | CONFIG_ARCH_POPULATES_NODE_MAP=y |
| 23 | CONFIG_DMI=y | 23 | CONFIG_DMI=y |
| 24 | CONFIG_AUDIT_ARCH=y | 24 | CONFIG_AUDIT_ARCH=y |
| 25 | CONFIG_GENERIC_BUG=y | ||
| 26 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
| 27 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
| 25 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 28 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
| 26 | 29 | ||
| 27 | # | 30 | # |
| @@ -170,6 +173,7 @@ CONFIG_SECCOMP=y | |||
| 170 | # CONFIG_CC_STACKPROTECTOR is not set | 173 | # CONFIG_CC_STACKPROTECTOR is not set |
| 171 | # CONFIG_HZ_100 is not set | 174 | # CONFIG_HZ_100 is not set |
| 172 | CONFIG_HZ_250=y | 175 | CONFIG_HZ_250=y |
| 176 | # CONFIG_HZ_300 is not set | ||
| 173 | # CONFIG_HZ_1000 is not set | 177 | # CONFIG_HZ_1000 is not set |
| 174 | CONFIG_HZ=250 | 178 | CONFIG_HZ=250 |
| 175 | # CONFIG_REORDER is not set | 179 | # CONFIG_REORDER is not set |
| @@ -514,6 +518,7 @@ CONFIG_IDEDMA_AUTO=y | |||
| 514 | # | 518 | # |
| 515 | # CONFIG_RAID_ATTRS is not set | 519 | # CONFIG_RAID_ATTRS is not set |
| 516 | CONFIG_SCSI=y | 520 | CONFIG_SCSI=y |
| 521 | # CONFIG_SCSI_TGT is not set | ||
| 517 | CONFIG_SCSI_NETLINK=y | 522 | CONFIG_SCSI_NETLINK=y |
| 518 | # CONFIG_SCSI_PROC_FS is not set | 523 | # CONFIG_SCSI_PROC_FS is not set |
| 519 | 524 | ||
| @@ -534,6 +539,7 @@ CONFIG_CHR_DEV_SG=y | |||
| 534 | # CONFIG_SCSI_MULTI_LUN is not set | 539 | # CONFIG_SCSI_MULTI_LUN is not set |
| 535 | CONFIG_SCSI_CONSTANTS=y | 540 | CONFIG_SCSI_CONSTANTS=y |
| 536 | # CONFIG_SCSI_LOGGING is not set | 541 | # CONFIG_SCSI_LOGGING is not set |
| 542 | # CONFIG_SCSI_SCAN_ASYNC is not set | ||
| 537 | 543 | ||
| 538 | # | 544 | # |
| 539 | # SCSI Transports | 545 | # SCSI Transports |
| @@ -587,6 +593,7 @@ CONFIG_MEGARAID_SAS=y | |||
| 587 | # CONFIG_SCSI_DC395x is not set | 593 | # CONFIG_SCSI_DC395x is not set |
| 588 | # CONFIG_SCSI_DC390T is not set | 594 | # CONFIG_SCSI_DC390T is not set |
| 589 | # CONFIG_SCSI_DEBUG is not set | 595 | # CONFIG_SCSI_DEBUG is not set |
| 596 | # CONFIG_SCSI_SRP is not set | ||
| 590 | 597 | ||
| 591 | # | 598 | # |
| 592 | # Serial ATA (prod) and Parallel ATA (experimental) drivers | 599 | # Serial ATA (prod) and Parallel ATA (experimental) drivers |
| @@ -1106,10 +1113,7 @@ CONFIG_SOUND=y | |||
| 1106 | # Open Sound System | 1113 | # Open Sound System |
| 1107 | # | 1114 | # |
| 1108 | CONFIG_SOUND_PRIME=y | 1115 | CONFIG_SOUND_PRIME=y |
| 1109 | CONFIG_OSS_OBSOLETE_DRIVER=y | ||
| 1110 | # CONFIG_SOUND_BT878 is not set | 1116 | # CONFIG_SOUND_BT878 is not set |
| 1111 | # CONFIG_SOUND_EMU10K1 is not set | ||
| 1112 | # CONFIG_SOUND_FUSION is not set | ||
| 1113 | # CONFIG_SOUND_ES1371 is not set | 1117 | # CONFIG_SOUND_ES1371 is not set |
| 1114 | CONFIG_SOUND_ICH=y | 1118 | CONFIG_SOUND_ICH=y |
| 1115 | # CONFIG_SOUND_TRIDENT is not set | 1119 | # CONFIG_SOUND_TRIDENT is not set |
| @@ -1119,6 +1123,11 @@ CONFIG_SOUND_ICH=y | |||
| 1119 | # CONFIG_SOUND_OSS is not set | 1123 | # CONFIG_SOUND_OSS is not set |
| 1120 | 1124 | ||
| 1121 | # | 1125 | # |
| 1126 | # HID Devices | ||
| 1127 | # | ||
| 1128 | CONFIG_HID=y | ||
| 1129 | |||
| 1130 | # | ||
| 1122 | # USB support | 1131 | # USB support |
| 1123 | # | 1132 | # |
| 1124 | CONFIG_USB_ARCH_HAS_HCD=y | 1133 | CONFIG_USB_ARCH_HAS_HCD=y |
| @@ -1182,8 +1191,7 @@ CONFIG_USB_STORAGE=y | |||
| 1182 | # USB Input Devices | 1191 | # USB Input Devices |
| 1183 | # | 1192 | # |
| 1184 | CONFIG_USB_HID=y | 1193 | CONFIG_USB_HID=y |
| 1185 | CONFIG_USB_HIDINPUT=y | 1194 | # CONFIG_USB_HID_POWERBOOK is not set |
| 1186 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set | ||
| 1187 | # CONFIG_HID_FF is not set | 1195 | # CONFIG_HID_FF is not set |
| 1188 | # CONFIG_USB_HIDDEV is not set | 1196 | # CONFIG_USB_HIDDEV is not set |
| 1189 | # CONFIG_USB_AIPTEK is not set | 1197 | # CONFIG_USB_AIPTEK is not set |
| @@ -1475,6 +1483,11 @@ CONFIG_NLS_ISO8859_15=y | |||
| 1475 | CONFIG_NLS_UTF8=y | 1483 | CONFIG_NLS_UTF8=y |
| 1476 | 1484 | ||
| 1477 | # | 1485 | # |
| 1486 | # Distributed Lock Manager | ||
| 1487 | # | ||
| 1488 | # CONFIG_DLM is not set | ||
| 1489 | |||
| 1490 | # | ||
| 1478 | # Instrumentation Support | 1491 | # Instrumentation Support |
| 1479 | # | 1492 | # |
| 1480 | CONFIG_PROFILING=y | 1493 | CONFIG_PROFILING=y |
| @@ -1504,6 +1517,7 @@ CONFIG_DETECT_SOFTLOCKUP=y | |||
| 1504 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1517 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
| 1505 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 1518 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
| 1506 | # CONFIG_DEBUG_KOBJECT is not set | 1519 | # CONFIG_DEBUG_KOBJECT is not set |
| 1520 | CONFIG_DEBUG_BUGVERBOSE=y | ||
| 1507 | # CONFIG_DEBUG_INFO is not set | 1521 | # CONFIG_DEBUG_INFO is not set |
| 1508 | CONFIG_DEBUG_FS=y | 1522 | CONFIG_DEBUG_FS=y |
| 1509 | # CONFIG_DEBUG_VM is not set | 1523 | # CONFIG_DEBUG_VM is not set |
| @@ -1534,6 +1548,7 @@ CONFIG_DEBUG_STACKOVERFLOW=y | |||
| 1534 | # | 1548 | # |
| 1535 | # Library routines | 1549 | # Library routines |
| 1536 | # | 1550 | # |
| 1551 | CONFIG_BITREVERSE=y | ||
| 1537 | # CONFIG_CRC_CCITT is not set | 1552 | # CONFIG_CRC_CCITT is not set |
| 1538 | # CONFIG_CRC16 is not set | 1553 | # CONFIG_CRC16 is not set |
| 1539 | CONFIG_CRC32=y | 1554 | CONFIG_CRC32=y |
diff --git a/arch/x86_64/kernel/nmi.c b/arch/x86_64/kernel/nmi.c index 27e95e7922c1..186aebbae32d 100644 --- a/arch/x86_64/kernel/nmi.c +++ b/arch/x86_64/kernel/nmi.c | |||
| @@ -193,6 +193,8 @@ void nmi_watchdog_default(void) | |||
| 193 | nmi_watchdog = NMI_IO_APIC; | 193 | nmi_watchdog = NMI_IO_APIC; |
| 194 | } | 194 | } |
| 195 | 195 | ||
| 196 | static int endflag __initdata = 0; | ||
| 197 | |||
| 196 | #ifdef CONFIG_SMP | 198 | #ifdef CONFIG_SMP |
| 197 | /* The performance counters used by NMI_LOCAL_APIC don't trigger when | 199 | /* The performance counters used by NMI_LOCAL_APIC don't trigger when |
| 198 | * the CPU is idle. To make sure the NMI watchdog really ticks on all | 200 | * the CPU is idle. To make sure the NMI watchdog really ticks on all |
| @@ -200,7 +202,6 @@ void nmi_watchdog_default(void) | |||
| 200 | */ | 202 | */ |
| 201 | static __init void nmi_cpu_busy(void *data) | 203 | static __init void nmi_cpu_busy(void *data) |
| 202 | { | 204 | { |
| 203 | volatile int *endflag = data; | ||
| 204 | local_irq_enable_in_hardirq(); | 205 | local_irq_enable_in_hardirq(); |
| 205 | /* Intentionally don't use cpu_relax here. This is | 206 | /* Intentionally don't use cpu_relax here. This is |
| 206 | to make sure that the performance counter really ticks, | 207 | to make sure that the performance counter really ticks, |
| @@ -208,14 +209,13 @@ static __init void nmi_cpu_busy(void *data) | |||
| 208 | pause instruction. On a real HT machine this is fine because | 209 | pause instruction. On a real HT machine this is fine because |
| 209 | all other CPUs are busy with "useless" delay loops and don't | 210 | all other CPUs are busy with "useless" delay loops and don't |
| 210 | care if they get somewhat less cycles. */ | 211 | care if they get somewhat less cycles. */ |
| 211 | while (*endflag == 0) | 212 | while (endflag == 0) |
| 212 | barrier(); | 213 | mb(); |
| 213 | } | 214 | } |
| 214 | #endif | 215 | #endif |
| 215 | 216 | ||
| 216 | int __init check_nmi_watchdog (void) | 217 | int __init check_nmi_watchdog (void) |
| 217 | { | 218 | { |
| 218 | volatile int endflag = 0; | ||
| 219 | int *counts; | 219 | int *counts; |
| 220 | int cpu; | 220 | int cpu; |
| 221 | 221 | ||
| @@ -256,6 +256,7 @@ int __init check_nmi_watchdog (void) | |||
| 256 | if (!atomic_read(&nmi_active)) { | 256 | if (!atomic_read(&nmi_active)) { |
| 257 | kfree(counts); | 257 | kfree(counts); |
| 258 | atomic_set(&nmi_active, -1); | 258 | atomic_set(&nmi_active, -1); |
| 259 | endflag = 1; | ||
| 259 | return -1; | 260 | return -1; |
| 260 | } | 261 | } |
| 261 | endflag = 1; | 262 | endflag = 1; |
diff --git a/arch/x86_64/kernel/vmlinux.lds.S b/arch/x86_64/kernel/vmlinux.lds.S index 6c417788c54b..514be5dd2303 100644 --- a/arch/x86_64/kernel/vmlinux.lds.S +++ b/arch/x86_64/kernel/vmlinux.lds.S | |||
| @@ -13,6 +13,7 @@ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") | |||
| 13 | OUTPUT_ARCH(i386:x86-64) | 13 | OUTPUT_ARCH(i386:x86-64) |
| 14 | ENTRY(phys_startup_64) | 14 | ENTRY(phys_startup_64) |
| 15 | jiffies_64 = jiffies; | 15 | jiffies_64 = jiffies; |
| 16 | _proxy_pda = 0; | ||
| 16 | PHDRS { | 17 | PHDRS { |
| 17 | text PT_LOAD FLAGS(5); /* R_E */ | 18 | text PT_LOAD FLAGS(5); /* R_E */ |
| 18 | data PT_LOAD FLAGS(7); /* RWE */ | 19 | data PT_LOAD FLAGS(7); /* RWE */ |
