diff options
| -rw-r--r-- | Documentation/kernel-parameters.txt | 2 | ||||
| -rw-r--r-- | arch/frv/include/asm/bug.h | 5 | ||||
| -rw-r--r-- | arch/frv/include/asm/unistd.h | 4 | ||||
| -rw-r--r-- | arch/frv/kernel/entry.S | 2 | ||||
| -rw-r--r-- | arch/sh/configs/sh7785lcr_defconfig | 57 | ||||
| -rw-r--r-- | arch/sh/include/asm/ptrace.h | 2 | ||||
| -rw-r--r-- | arch/x86/Kconfig | 2 | ||||
| -rw-r--r-- | arch/x86/Makefile | 6 | ||||
| -rw-r--r-- | arch/x86/kernel/apic/io_apic.c | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/apic/nmi.c | 5 | ||||
| -rw-r--r-- | arch/x86/kernel/apic/x2apic_uv_x.c | 15 | ||||
| -rw-r--r-- | arch/x86/kernel/entry_64.S | 3 | ||||
| -rw-r--r-- | arch/x86/kernel/hpet.c | 18 | ||||
| -rw-r--r-- | arch/x86/kernel/quirks.c | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/uv_time.c | 10 | ||||
| -rw-r--r-- | arch/x86/kernel/xsave.c | 4 | ||||
| -rw-r--r-- | arch/x86/mm/numa_32.c | 2 | ||||
| -rw-r--r-- | arch/x86/mm/numa_64.c | 3 | ||||
| -rw-r--r-- | arch/x86/mm/srat_64.c | 6 | ||||
| -rw-r--r-- | drivers/input/mouse/maplemouse.c | 43 | ||||
| -rw-r--r-- | kernel/irq/manage.c | 5 | ||||
| -rw-r--r-- | kernel/lockdep.c | 22 | ||||
| -rw-r--r-- | kernel/panic.c | 2 |
23 files changed, 152 insertions, 70 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 600cdd72900c..90b3924071b6 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
| @@ -1620,6 +1620,8 @@ and is between 256 and 4096 characters. It is defined in the file | |||
| 1620 | 1620 | ||
| 1621 | nowb [ARM] | 1621 | nowb [ARM] |
| 1622 | 1622 | ||
| 1623 | nox2apic [X86-64,APIC] Do not enable x2APIC mode. | ||
| 1624 | |||
| 1623 | nptcg= [IA64] Override max number of concurrent global TLB | 1625 | nptcg= [IA64] Override max number of concurrent global TLB |
| 1624 | purges which is reported from either PAL_VM_SUMMARY or | 1626 | purges which is reported from either PAL_VM_SUMMARY or |
| 1625 | SAL PALO. | 1627 | SAL PALO. |
diff --git a/arch/frv/include/asm/bug.h b/arch/frv/include/asm/bug.h index 6b1b44d71028..2e054508a2f6 100644 --- a/arch/frv/include/asm/bug.h +++ b/arch/frv/include/asm/bug.h | |||
| @@ -30,7 +30,7 @@ extern void __debug_bug_printk(const char *file, unsigned line); | |||
| 30 | do { \ | 30 | do { \ |
| 31 | __debug_bug_trap(signr); \ | 31 | __debug_bug_trap(signr); \ |
| 32 | asm volatile("nop"); \ | 32 | asm volatile("nop"); \ |
| 33 | } while(0) | 33 | } while(1) |
| 34 | 34 | ||
| 35 | #define HAVE_ARCH_BUG | 35 | #define HAVE_ARCH_BUG |
| 36 | #define BUG() \ | 36 | #define BUG() \ |
| @@ -46,7 +46,8 @@ do { \ | |||
| 46 | #define HAVE_ARCH_KGDB_BAD_PAGE | 46 | #define HAVE_ARCH_KGDB_BAD_PAGE |
| 47 | #define kgdb_bad_page(page) do { kgdb_raise(SIGABRT); } while(0) | 47 | #define kgdb_bad_page(page) do { kgdb_raise(SIGABRT); } while(0) |
| 48 | #endif | 48 | #endif |
| 49 | #endif | 49 | |
| 50 | #endif /* CONFIG_BUG */ | ||
| 50 | 51 | ||
| 51 | #include <asm-generic/bug.h> | 52 | #include <asm-generic/bug.h> |
| 52 | 53 | ||
diff --git a/arch/frv/include/asm/unistd.h b/arch/frv/include/asm/unistd.h index edcfaf5f0414..96d78d5d2c41 100644 --- a/arch/frv/include/asm/unistd.h +++ b/arch/frv/include/asm/unistd.h | |||
| @@ -339,10 +339,12 @@ | |||
| 339 | #define __NR_dup3 330 | 339 | #define __NR_dup3 330 |
| 340 | #define __NR_pipe2 331 | 340 | #define __NR_pipe2 331 |
| 341 | #define __NR_inotify_init1 332 | 341 | #define __NR_inotify_init1 332 |
| 342 | #define __NR_preadv 333 | ||
| 343 | #define __NR_pwritev 334 | ||
| 342 | 344 | ||
| 343 | #ifdef __KERNEL__ | 345 | #ifdef __KERNEL__ |
| 344 | 346 | ||
| 345 | #define NR_syscalls 333 | 347 | #define NR_syscalls 335 |
| 346 | 348 | ||
| 347 | #define __ARCH_WANT_IPC_PARSE_VERSION | 349 | #define __ARCH_WANT_IPC_PARSE_VERSION |
| 348 | /* #define __ARCH_WANT_OLD_READDIR */ | 350 | /* #define __ARCH_WANT_OLD_READDIR */ |
diff --git a/arch/frv/kernel/entry.S b/arch/frv/kernel/entry.S index 99060ab507ee..1da523b3298e 100644 --- a/arch/frv/kernel/entry.S +++ b/arch/frv/kernel/entry.S | |||
| @@ -1525,5 +1525,7 @@ sys_call_table: | |||
| 1525 | .long sys_dup3 /* 330 */ | 1525 | .long sys_dup3 /* 330 */ |
| 1526 | .long sys_pipe2 | 1526 | .long sys_pipe2 |
| 1527 | .long sys_inotify_init1 | 1527 | .long sys_inotify_init1 |
| 1528 | .long sys_preadv | ||
| 1529 | .long sys_pwritev | ||
| 1528 | 1530 | ||
| 1529 | syscall_table_size = (. - sys_call_table) | 1531 | syscall_table_size = (. - sys_call_table) |
diff --git a/arch/sh/configs/sh7785lcr_defconfig b/arch/sh/configs/sh7785lcr_defconfig index 8a42bbef1f50..e4fac2efc055 100644 --- a/arch/sh/configs/sh7785lcr_defconfig +++ b/arch/sh/configs/sh7785lcr_defconfig | |||
| @@ -1,10 +1,11 @@ | |||
| 1 | # | 1 | # |
| 2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
| 3 | # Linux kernel version: 2.6.29 | 3 | # Linux kernel version: 2.6.30-rc2 |
| 4 | # Thu Apr 2 19:15:58 2009 | 4 | # Wed Apr 22 19:17:56 2009 |
| 5 | # | 5 | # |
| 6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
| 7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
| 8 | # CONFIG_SUPERH64 is not set | ||
| 8 | CONFIG_ARCH_DEFCONFIG="arch/sh/configs/shx3_defconfig" | 9 | CONFIG_ARCH_DEFCONFIG="arch/sh/configs/shx3_defconfig" |
| 9 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 10 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
| 10 | CONFIG_GENERIC_BUG=y | 11 | CONFIG_GENERIC_BUG=y |
| @@ -79,6 +80,7 @@ CONFIG_SYSCTL_SYSCALL=y | |||
| 79 | CONFIG_KALLSYMS=y | 80 | CONFIG_KALLSYMS=y |
| 80 | # CONFIG_KALLSYMS_ALL is not set | 81 | # CONFIG_KALLSYMS_ALL is not set |
| 81 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 82 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
| 83 | # CONFIG_STRIP_ASM_SYMS is not set | ||
| 82 | CONFIG_HOTPLUG=y | 84 | CONFIG_HOTPLUG=y |
| 83 | CONFIG_PRINTK=y | 85 | CONFIG_PRINTK=y |
| 84 | CONFIG_BUG=y | 86 | CONFIG_BUG=y |
| @@ -98,6 +100,7 @@ CONFIG_SLAB=y | |||
| 98 | # CONFIG_SLUB is not set | 100 | # CONFIG_SLUB is not set |
| 99 | # CONFIG_SLOB is not set | 101 | # CONFIG_SLOB is not set |
| 100 | CONFIG_PROFILING=y | 102 | CONFIG_PROFILING=y |
| 103 | # CONFIG_MARKERS is not set | ||
| 101 | # CONFIG_OPROFILE is not set | 104 | # CONFIG_OPROFILE is not set |
| 102 | CONFIG_HAVE_OPROFILE=y | 105 | CONFIG_HAVE_OPROFILE=y |
| 103 | # CONFIG_KPROBES is not set | 106 | # CONFIG_KPROBES is not set |
| @@ -106,6 +109,8 @@ CONFIG_HAVE_KPROBES=y | |||
| 106 | CONFIG_HAVE_KRETPROBES=y | 109 | CONFIG_HAVE_KRETPROBES=y |
| 107 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 110 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
| 108 | CONFIG_HAVE_CLK=y | 111 | CONFIG_HAVE_CLK=y |
| 112 | CONFIG_HAVE_DMA_API_DEBUG=y | ||
| 113 | # CONFIG_SLOW_WORK is not set | ||
| 109 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | 114 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y |
| 110 | CONFIG_SLABINFO=y | 115 | CONFIG_SLABINFO=y |
| 111 | CONFIG_RT_MUTEXES=y | 116 | CONFIG_RT_MUTEXES=y |
| @@ -118,7 +123,6 @@ CONFIG_MODULE_UNLOAD=y | |||
| 118 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 123 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
| 119 | CONFIG_BLOCK=y | 124 | CONFIG_BLOCK=y |
| 120 | # CONFIG_LBD is not set | 125 | # CONFIG_LBD is not set |
| 121 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 122 | # CONFIG_BLK_DEV_BSG is not set | 126 | # CONFIG_BLK_DEV_BSG is not set |
| 123 | # CONFIG_BLK_DEV_INTEGRITY is not set | 127 | # CONFIG_BLK_DEV_INTEGRITY is not set |
| 124 | 128 | ||
| @@ -166,6 +170,7 @@ CONFIG_CPU_SHX2=y | |||
| 166 | # CONFIG_CPU_SUBTYPE_SH7760 is not set | 170 | # CONFIG_CPU_SUBTYPE_SH7760 is not set |
| 167 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set | 171 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set |
| 168 | # CONFIG_CPU_SUBTYPE_SH7723 is not set | 172 | # CONFIG_CPU_SUBTYPE_SH7723 is not set |
| 173 | # CONFIG_CPU_SUBTYPE_SH7724 is not set | ||
| 169 | # CONFIG_CPU_SUBTYPE_SH7763 is not set | 174 | # CONFIG_CPU_SUBTYPE_SH7763 is not set |
| 170 | # CONFIG_CPU_SUBTYPE_SH7770 is not set | 175 | # CONFIG_CPU_SUBTYPE_SH7770 is not set |
| 171 | # CONFIG_CPU_SUBTYPE_SH7780 is not set | 176 | # CONFIG_CPU_SUBTYPE_SH7780 is not set |
| @@ -175,8 +180,6 @@ CONFIG_CPU_SUBTYPE_SH7785=y | |||
| 175 | # CONFIG_CPU_SUBTYPE_SH7343 is not set | 180 | # CONFIG_CPU_SUBTYPE_SH7343 is not set |
| 176 | # CONFIG_CPU_SUBTYPE_SH7722 is not set | 181 | # CONFIG_CPU_SUBTYPE_SH7722 is not set |
| 177 | # CONFIG_CPU_SUBTYPE_SH7366 is not set | 182 | # CONFIG_CPU_SUBTYPE_SH7366 is not set |
| 178 | # CONFIG_CPU_SUBTYPE_SH5_101 is not set | ||
| 179 | # CONFIG_CPU_SUBTYPE_SH5_103 is not set | ||
| 180 | 183 | ||
| 181 | # | 184 | # |
| 182 | # Memory management options | 185 | # Memory management options |
| @@ -186,38 +189,31 @@ CONFIG_MMU=y | |||
| 186 | CONFIG_PAGE_OFFSET=0x80000000 | 189 | CONFIG_PAGE_OFFSET=0x80000000 |
| 187 | CONFIG_MEMORY_START=0x08000000 | 190 | CONFIG_MEMORY_START=0x08000000 |
| 188 | CONFIG_MEMORY_SIZE=0x08000000 | 191 | CONFIG_MEMORY_SIZE=0x08000000 |
| 189 | # CONFIG_29BIT is not set | 192 | CONFIG_29BIT=y |
| 190 | CONFIG_32BIT=y | 193 | # CONFIG_PMB_ENABLE is not set |
| 191 | CONFIG_PMB_ENABLE=y | ||
| 192 | # CONFIG_PMB is not set | ||
| 193 | CONFIG_PMB_FIXED=y | ||
| 194 | # CONFIG_X2TLB is not set | 194 | # CONFIG_X2TLB is not set |
| 195 | CONFIG_VSYSCALL=y | 195 | CONFIG_VSYSCALL=y |
| 196 | # CONFIG_NUMA is not set | 196 | # CONFIG_NUMA is not set |
| 197 | CONFIG_ARCH_FLATMEM_ENABLE=y | 197 | CONFIG_ARCH_FLATMEM_ENABLE=y |
| 198 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | 198 | CONFIG_ARCH_SPARSEMEM_ENABLE=y |
| 199 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y | 199 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y |
| 200 | CONFIG_MAX_ACTIVE_REGIONS=2 | 200 | CONFIG_MAX_ACTIVE_REGIONS=1 |
| 201 | CONFIG_ARCH_POPULATES_NODE_MAP=y | 201 | CONFIG_ARCH_POPULATES_NODE_MAP=y |
| 202 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | 202 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y |
| 203 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
| 204 | CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y | ||
| 205 | CONFIG_PAGE_SIZE_4KB=y | 203 | CONFIG_PAGE_SIZE_4KB=y |
| 206 | # CONFIG_PAGE_SIZE_8KB is not set | 204 | # CONFIG_PAGE_SIZE_8KB is not set |
| 207 | # CONFIG_PAGE_SIZE_16KB is not set | 205 | # CONFIG_PAGE_SIZE_16KB is not set |
| 208 | # CONFIG_PAGE_SIZE_64KB is not set | 206 | # CONFIG_PAGE_SIZE_64KB is not set |
| 209 | CONFIG_ENTRY_OFFSET=0x00001000 | 207 | CONFIG_ENTRY_OFFSET=0x00001000 |
| 210 | CONFIG_SELECT_MEMORY_MODEL=y | 208 | CONFIG_SELECT_MEMORY_MODEL=y |
| 211 | # CONFIG_FLATMEM_MANUAL is not set | 209 | CONFIG_FLATMEM_MANUAL=y |
| 212 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 210 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
| 213 | CONFIG_SPARSEMEM_MANUAL=y | 211 | # CONFIG_SPARSEMEM_MANUAL is not set |
| 214 | CONFIG_SPARSEMEM=y | 212 | CONFIG_FLATMEM=y |
| 215 | CONFIG_HAVE_MEMORY_PRESENT=y | 213 | CONFIG_FLAT_NODE_MEM_MAP=y |
| 216 | CONFIG_SPARSEMEM_STATIC=y | 214 | CONFIG_SPARSEMEM_STATIC=y |
| 217 | # CONFIG_MEMORY_HOTPLUG is not set | ||
| 218 | CONFIG_PAGEFLAGS_EXTENDED=y | 215 | CONFIG_PAGEFLAGS_EXTENDED=y |
| 219 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 216 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
| 220 | CONFIG_MIGRATION=y | ||
| 221 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 217 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
| 222 | CONFIG_ZONE_DMA_FLAG=0 | 218 | CONFIG_ZONE_DMA_FLAG=0 |
| 223 | CONFIG_NR_QUICK=2 | 219 | CONFIG_NR_QUICK=2 |
| @@ -249,6 +245,7 @@ CONFIG_CPU_HAS_FPU=y | |||
| 249 | # | 245 | # |
| 250 | # CONFIG_SH_HIGHLANDER is not set | 246 | # CONFIG_SH_HIGHLANDER is not set |
| 251 | CONFIG_SH_SH7785LCR=y | 247 | CONFIG_SH_SH7785LCR=y |
| 248 | CONFIG_SH_SH7785LCR_29BIT_PHYSMAPS=y | ||
| 252 | 249 | ||
| 253 | # | 250 | # |
| 254 | # Timer and clock configuration | 251 | # Timer and clock configuration |
| @@ -672,6 +669,7 @@ CONFIG_NETDEV_1000=y | |||
| 672 | # CONFIG_E1000E is not set | 669 | # CONFIG_E1000E is not set |
| 673 | # CONFIG_IP1000 is not set | 670 | # CONFIG_IP1000 is not set |
| 674 | # CONFIG_IGB is not set | 671 | # CONFIG_IGB is not set |
| 672 | # CONFIG_IGBVF is not set | ||
| 675 | # CONFIG_NS83820 is not set | 673 | # CONFIG_NS83820 is not set |
| 676 | # CONFIG_HAMACHI is not set | 674 | # CONFIG_HAMACHI is not set |
| 677 | # CONFIG_YELLOWFIN is not set | 675 | # CONFIG_YELLOWFIN is not set |
| @@ -1009,15 +1007,17 @@ CONFIG_USB_HID=y | |||
| 1009 | # | 1007 | # |
| 1010 | # Special HID drivers | 1008 | # Special HID drivers |
| 1011 | # | 1009 | # |
| 1012 | CONFIG_HID_COMPAT=y | ||
| 1013 | CONFIG_HID_A4TECH=y | 1010 | CONFIG_HID_A4TECH=y |
| 1014 | CONFIG_HID_APPLE=y | 1011 | CONFIG_HID_APPLE=y |
| 1015 | CONFIG_HID_BELKIN=y | 1012 | CONFIG_HID_BELKIN=y |
| 1016 | CONFIG_HID_CHERRY=y | 1013 | CONFIG_HID_CHERRY=y |
| 1017 | CONFIG_HID_CHICONY=y | 1014 | CONFIG_HID_CHICONY=y |
| 1018 | CONFIG_HID_CYPRESS=y | 1015 | CONFIG_HID_CYPRESS=y |
| 1016 | # CONFIG_DRAGONRISE_FF is not set | ||
| 1019 | CONFIG_HID_EZKEY=y | 1017 | CONFIG_HID_EZKEY=y |
| 1018 | # CONFIG_HID_KYE is not set | ||
| 1020 | CONFIG_HID_GYRATION=y | 1019 | CONFIG_HID_GYRATION=y |
| 1020 | # CONFIG_HID_KENSINGTON is not set | ||
| 1021 | CONFIG_HID_LOGITECH=y | 1021 | CONFIG_HID_LOGITECH=y |
| 1022 | # CONFIG_LOGITECH_FF is not set | 1022 | # CONFIG_LOGITECH_FF is not set |
| 1023 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | 1023 | # CONFIG_LOGIRUMBLEPAD2_FF is not set |
| @@ -1218,6 +1218,7 @@ CONFIG_EXT2_FS=y | |||
| 1218 | # CONFIG_EXT2_FS_XATTR is not set | 1218 | # CONFIG_EXT2_FS_XATTR is not set |
| 1219 | # CONFIG_EXT2_FS_XIP is not set | 1219 | # CONFIG_EXT2_FS_XIP is not set |
| 1220 | CONFIG_EXT3_FS=y | 1220 | CONFIG_EXT3_FS=y |
| 1221 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
| 1221 | CONFIG_EXT3_FS_XATTR=y | 1222 | CONFIG_EXT3_FS_XATTR=y |
| 1222 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1223 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
| 1223 | # CONFIG_EXT3_FS_SECURITY is not set | 1224 | # CONFIG_EXT3_FS_SECURITY is not set |
| @@ -1240,6 +1241,11 @@ CONFIG_INOTIFY_USER=y | |||
| 1240 | # CONFIG_FUSE_FS is not set | 1241 | # CONFIG_FUSE_FS is not set |
| 1241 | 1242 | ||
| 1242 | # | 1243 | # |
| 1244 | # Caches | ||
| 1245 | # | ||
| 1246 | # CONFIG_FSCACHE is not set | ||
| 1247 | |||
| 1248 | # | ||
| 1243 | # CD-ROM/DVD Filesystems | 1249 | # CD-ROM/DVD Filesystems |
| 1244 | # | 1250 | # |
| 1245 | # CONFIG_ISO9660_FS is not set | 1251 | # CONFIG_ISO9660_FS is not set |
| @@ -1289,6 +1295,7 @@ CONFIG_MINIX_FS=y | |||
| 1289 | # CONFIG_ROMFS_FS is not set | 1295 | # CONFIG_ROMFS_FS is not set |
| 1290 | # CONFIG_SYSV_FS is not set | 1296 | # CONFIG_SYSV_FS is not set |
| 1291 | # CONFIG_UFS_FS is not set | 1297 | # CONFIG_UFS_FS is not set |
| 1298 | # CONFIG_NILFS2_FS is not set | ||
| 1292 | CONFIG_NETWORK_FILESYSTEMS=y | 1299 | CONFIG_NETWORK_FILESYSTEMS=y |
| 1293 | CONFIG_NFS_FS=y | 1300 | CONFIG_NFS_FS=y |
| 1294 | CONFIG_NFS_V3=y | 1301 | CONFIG_NFS_V3=y |
| @@ -1377,6 +1384,9 @@ CONFIG_DEBUG_KERNEL=y | |||
| 1377 | CONFIG_DETECT_SOFTLOCKUP=y | 1384 | CONFIG_DETECT_SOFTLOCKUP=y |
| 1378 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1385 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
| 1379 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1386 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
| 1387 | CONFIG_DETECT_HUNG_TASK=y | ||
| 1388 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
| 1389 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
| 1380 | CONFIG_SCHED_DEBUG=y | 1390 | CONFIG_SCHED_DEBUG=y |
| 1381 | # CONFIG_SCHEDSTATS is not set | 1391 | # CONFIG_SCHEDSTATS is not set |
| 1382 | # CONFIG_TIMER_STATS is not set | 1392 | # CONFIG_TIMER_STATS is not set |
| @@ -1413,6 +1423,7 @@ CONFIG_SYSCTL_SYSCALL_CHECK=y | |||
| 1413 | CONFIG_HAVE_FUNCTION_TRACER=y | 1423 | CONFIG_HAVE_FUNCTION_TRACER=y |
| 1414 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1424 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
| 1415 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 1425 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
| 1426 | CONFIG_TRACING_SUPPORT=y | ||
| 1416 | 1427 | ||
| 1417 | # | 1428 | # |
| 1418 | # Tracers | 1429 | # Tracers |
| @@ -1422,9 +1433,14 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
| 1422 | # CONFIG_PREEMPT_TRACER is not set | 1433 | # CONFIG_PREEMPT_TRACER is not set |
| 1423 | # CONFIG_SCHED_TRACER is not set | 1434 | # CONFIG_SCHED_TRACER is not set |
| 1424 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1435 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
| 1436 | # CONFIG_EVENT_TRACER is not set | ||
| 1425 | # CONFIG_BOOT_TRACER is not set | 1437 | # CONFIG_BOOT_TRACER is not set |
| 1426 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 1438 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
| 1427 | # CONFIG_STACK_TRACER is not set | 1439 | # CONFIG_STACK_TRACER is not set |
| 1440 | # CONFIG_KMEMTRACE is not set | ||
| 1441 | # CONFIG_WORKQUEUE_TRACER is not set | ||
| 1442 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 1443 | # CONFIG_DMA_API_DEBUG is not set | ||
| 1428 | # CONFIG_SAMPLES is not set | 1444 | # CONFIG_SAMPLES is not set |
| 1429 | CONFIG_HAVE_ARCH_KGDB=y | 1445 | CONFIG_HAVE_ARCH_KGDB=y |
| 1430 | # CONFIG_KGDB is not set | 1446 | # CONFIG_KGDB is not set |
| @@ -1542,6 +1558,7 @@ CONFIG_CRYPTO_DES=y | |||
| 1542 | # | 1558 | # |
| 1543 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | 1559 | # CONFIG_CRYPTO_ANSI_CPRNG is not set |
| 1544 | # CONFIG_CRYPTO_HW is not set | 1560 | # CONFIG_CRYPTO_HW is not set |
| 1561 | # CONFIG_BINARY_PRINTF is not set | ||
| 1545 | 1562 | ||
| 1546 | # | 1563 | # |
| 1547 | # Library routines | 1564 | # Library routines |
diff --git a/arch/sh/include/asm/ptrace.h b/arch/sh/include/asm/ptrace.h index d3f6caa936b0..68e20ff9aa9b 100644 --- a/arch/sh/include/asm/ptrace.h +++ b/arch/sh/include/asm/ptrace.h | |||
| @@ -9,7 +9,7 @@ | |||
| 9 | struct pt_regs { | 9 | struct pt_regs { |
| 10 | unsigned long long pc; | 10 | unsigned long long pc; |
| 11 | unsigned long long sr; | 11 | unsigned long long sr; |
| 12 | unsigned long long syscall_nr; | 12 | long long syscall_nr; |
| 13 | unsigned long long regs[63]; | 13 | unsigned long long regs[63]; |
| 14 | unsigned long long tregs[8]; | 14 | unsigned long long tregs[8]; |
| 15 | unsigned long long pad[2]; | 15 | unsigned long long pad[2]; |
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index c9086e6307a5..df9e885eee14 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
| @@ -277,6 +277,7 @@ config SPARSE_IRQ | |||
| 277 | config NUMA_MIGRATE_IRQ_DESC | 277 | config NUMA_MIGRATE_IRQ_DESC |
| 278 | bool "Move irq desc when changing irq smp_affinity" | 278 | bool "Move irq desc when changing irq smp_affinity" |
| 279 | depends on SPARSE_IRQ && NUMA | 279 | depends on SPARSE_IRQ && NUMA |
| 280 | depends on BROKEN | ||
| 280 | default n | 281 | default n |
| 281 | ---help--- | 282 | ---help--- |
| 282 | This enables moving irq_desc to cpu/node that irq will use handled. | 283 | This enables moving irq_desc to cpu/node that irq will use handled. |
| @@ -664,6 +665,7 @@ config MAXSMP | |||
| 664 | 665 | ||
| 665 | config NR_CPUS | 666 | config NR_CPUS |
| 666 | int "Maximum number of CPUs" if SMP && !MAXSMP | 667 | int "Maximum number of CPUs" if SMP && !MAXSMP |
| 668 | range 2 8 if SMP && X86_32 && !X86_BIGSMP | ||
| 667 | range 2 512 if SMP && !MAXSMP | 669 | range 2 512 if SMP && !MAXSMP |
| 668 | default "1" if !SMP | 670 | default "1" if !SMP |
| 669 | default "4096" if MAXSMP | 671 | default "4096" if MAXSMP |
diff --git a/arch/x86/Makefile b/arch/x86/Makefile index f05d8c91d9e5..8c86b72afdc2 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile | |||
| @@ -153,7 +153,7 @@ endif | |||
| 153 | 153 | ||
| 154 | boot := arch/x86/boot | 154 | boot := arch/x86/boot |
| 155 | 155 | ||
| 156 | BOOT_TARGETS = bzlilo bzdisk fdimage fdimage144 fdimage288 isoimage install | 156 | BOOT_TARGETS = bzlilo bzdisk fdimage fdimage144 fdimage288 isoimage |
| 157 | 157 | ||
| 158 | PHONY += bzImage $(BOOT_TARGETS) | 158 | PHONY += bzImage $(BOOT_TARGETS) |
| 159 | 159 | ||
| @@ -171,6 +171,10 @@ bzImage: vmlinux | |||
| 171 | $(BOOT_TARGETS): vmlinux | 171 | $(BOOT_TARGETS): vmlinux |
| 172 | $(Q)$(MAKE) $(build)=$(boot) $@ | 172 | $(Q)$(MAKE) $(build)=$(boot) $@ |
| 173 | 173 | ||
| 174 | PHONY += install | ||
| 175 | install: | ||
| 176 | $(Q)$(MAKE) $(build)=$(boot) $@ | ||
| 177 | |||
| 174 | PHONY += vdso_install | 178 | PHONY += vdso_install |
| 175 | vdso_install: | 179 | vdso_install: |
| 176 | $(Q)$(MAKE) $(build)=arch/x86/vdso $@ | 180 | $(Q)$(MAKE) $(build)=arch/x86/vdso $@ |
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index a2789e42e162..30da617d18e4 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c | |||
| @@ -3670,12 +3670,14 @@ int arch_setup_hpet_msi(unsigned int irq) | |||
| 3670 | { | 3670 | { |
| 3671 | int ret; | 3671 | int ret; |
| 3672 | struct msi_msg msg; | 3672 | struct msi_msg msg; |
| 3673 | struct irq_desc *desc = irq_to_desc(irq); | ||
| 3673 | 3674 | ||
| 3674 | ret = msi_compose_msg(NULL, irq, &msg); | 3675 | ret = msi_compose_msg(NULL, irq, &msg); |
| 3675 | if (ret < 0) | 3676 | if (ret < 0) |
| 3676 | return ret; | 3677 | return ret; |
| 3677 | 3678 | ||
| 3678 | hpet_msi_write(irq, &msg); | 3679 | hpet_msi_write(irq, &msg); |
| 3680 | desc->status |= IRQ_MOVE_PCNTXT; | ||
| 3679 | set_irq_chip_and_handler_name(irq, &hpet_msi_type, handle_edge_irq, | 3681 | set_irq_chip_and_handler_name(irq, &hpet_msi_type, handle_edge_irq, |
| 3680 | "edge"); | 3682 | "edge"); |
| 3681 | 3683 | ||
diff --git a/arch/x86/kernel/apic/nmi.c b/arch/x86/kernel/apic/nmi.c index d6bd62407152..ce4fbfa315a1 100644 --- a/arch/x86/kernel/apic/nmi.c +++ b/arch/x86/kernel/apic/nmi.c | |||
| @@ -138,7 +138,7 @@ int __init check_nmi_watchdog(void) | |||
| 138 | if (!prev_nmi_count) | 138 | if (!prev_nmi_count) |
| 139 | goto error; | 139 | goto error; |
| 140 | 140 | ||
| 141 | alloc_cpumask_var(&backtrace_mask, GFP_KERNEL); | 141 | alloc_cpumask_var(&backtrace_mask, GFP_KERNEL|__GFP_ZERO); |
| 142 | printk(KERN_INFO "Testing NMI watchdog ... "); | 142 | printk(KERN_INFO "Testing NMI watchdog ... "); |
| 143 | 143 | ||
| 144 | #ifdef CONFIG_SMP | 144 | #ifdef CONFIG_SMP |
| @@ -414,7 +414,8 @@ nmi_watchdog_tick(struct pt_regs *regs, unsigned reason) | |||
| 414 | touched = 1; | 414 | touched = 1; |
| 415 | } | 415 | } |
| 416 | 416 | ||
| 417 | if (cpumask_test_cpu(cpu, backtrace_mask)) { | 417 | /* We can be called before check_nmi_watchdog, hence NULL check. */ |
| 418 | if (backtrace_mask != NULL && cpumask_test_cpu(cpu, backtrace_mask)) { | ||
| 418 | static DEFINE_SPINLOCK(lock); /* Serialise the printks */ | 419 | static DEFINE_SPINLOCK(lock); /* Serialise the printks */ |
| 419 | 420 | ||
| 420 | spin_lock(&lock); | 421 | spin_lock(&lock); |
diff --git a/arch/x86/kernel/apic/x2apic_uv_x.c b/arch/x86/kernel/apic/x2apic_uv_x.c index de1a50af807b..2bda69352976 100644 --- a/arch/x86/kernel/apic/x2apic_uv_x.c +++ b/arch/x86/kernel/apic/x2apic_uv_x.c | |||
| @@ -19,6 +19,7 @@ | |||
| 19 | #include <linux/timer.h> | 19 | #include <linux/timer.h> |
| 20 | #include <linux/cpu.h> | 20 | #include <linux/cpu.h> |
| 21 | #include <linux/init.h> | 21 | #include <linux/init.h> |
| 22 | #include <linux/io.h> | ||
| 22 | 23 | ||
| 23 | #include <asm/uv/uv_mmrs.h> | 24 | #include <asm/uv/uv_mmrs.h> |
| 24 | #include <asm/uv/uv_hub.h> | 25 | #include <asm/uv/uv_hub.h> |
| @@ -34,6 +35,17 @@ DEFINE_PER_CPU(int, x2apic_extra_bits); | |||
| 34 | 35 | ||
| 35 | static enum uv_system_type uv_system_type; | 36 | static enum uv_system_type uv_system_type; |
| 36 | 37 | ||
| 38 | static int early_get_nodeid(void) | ||
| 39 | { | ||
| 40 | union uvh_node_id_u node_id; | ||
| 41 | unsigned long *mmr; | ||
| 42 | |||
| 43 | mmr = early_ioremap(UV_LOCAL_MMR_BASE | UVH_NODE_ID, sizeof(*mmr)); | ||
| 44 | node_id.v = *mmr; | ||
| 45 | early_iounmap(mmr, sizeof(*mmr)); | ||
| 46 | return node_id.s.node_id; | ||
| 47 | } | ||
| 48 | |||
| 37 | static int uv_acpi_madt_oem_check(char *oem_id, char *oem_table_id) | 49 | static int uv_acpi_madt_oem_check(char *oem_id, char *oem_table_id) |
| 38 | { | 50 | { |
| 39 | if (!strcmp(oem_id, "SGI")) { | 51 | if (!strcmp(oem_id, "SGI")) { |
| @@ -42,6 +54,8 @@ static int uv_acpi_madt_oem_check(char *oem_id, char *oem_table_id) | |||
| 42 | else if (!strcmp(oem_table_id, "UVX")) | 54 | else if (!strcmp(oem_table_id, "UVX")) |
| 43 | uv_system_type = UV_X2APIC; | 55 | uv_system_type = UV_X2APIC; |
| 44 | else if (!strcmp(oem_table_id, "UVH")) { | 56 | else if (!strcmp(oem_table_id, "UVH")) { |
| 57 | __get_cpu_var(x2apic_extra_bits) = | ||
| 58 | early_get_nodeid() << (UV_APIC_PNODE_SHIFT - 1); | ||
| 45 | uv_system_type = UV_NON_UNIQUE_APIC; | 59 | uv_system_type = UV_NON_UNIQUE_APIC; |
| 46 | return 1; | 60 | return 1; |
| 47 | } | 61 | } |
| @@ -638,6 +652,7 @@ void __init uv_system_init(void) | |||
| 638 | if (uv_node_to_blade[nid] >= 0) | 652 | if (uv_node_to_blade[nid] >= 0) |
| 639 | continue; | 653 | continue; |
| 640 | paddr = node_start_pfn(nid) << PAGE_SHIFT; | 654 | paddr = node_start_pfn(nid) << PAGE_SHIFT; |
| 655 | paddr = uv_soc_phys_ram_to_gpa(paddr); | ||
| 641 | pnode = (paddr >> m_val) & pnode_mask; | 656 | pnode = (paddr >> m_val) & pnode_mask; |
| 642 | blade = boot_pnode_to_blade(pnode); | 657 | blade = boot_pnode_to_blade(pnode); |
| 643 | uv_node_to_blade[nid] = blade; | 658 | uv_node_to_blade[nid] = blade; |
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S index a331ec38af9e..38946c6e8433 100644 --- a/arch/x86/kernel/entry_64.S +++ b/arch/x86/kernel/entry_64.S | |||
| @@ -1410,7 +1410,10 @@ ENTRY(paranoid_exit) | |||
| 1410 | paranoid_swapgs: | 1410 | paranoid_swapgs: |
| 1411 | TRACE_IRQS_IRETQ 0 | 1411 | TRACE_IRQS_IRETQ 0 |
| 1412 | SWAPGS_UNSAFE_STACK | 1412 | SWAPGS_UNSAFE_STACK |
| 1413 | RESTORE_ALL 8 | ||
| 1414 | jmp irq_return | ||
| 1413 | paranoid_restore: | 1415 | paranoid_restore: |
| 1416 | TRACE_IRQS_IRETQ 0 | ||
| 1414 | RESTORE_ALL 8 | 1417 | RESTORE_ALL 8 |
| 1415 | jmp irq_return | 1418 | jmp irq_return |
| 1416 | paranoid_userspace: | 1419 | paranoid_userspace: |
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c index 3f0019e0a229..81408b93f887 100644 --- a/arch/x86/kernel/hpet.c +++ b/arch/x86/kernel/hpet.c | |||
| @@ -236,6 +236,10 @@ static void hpet_stop_counter(void) | |||
| 236 | unsigned long cfg = hpet_readl(HPET_CFG); | 236 | unsigned long cfg = hpet_readl(HPET_CFG); |
| 237 | cfg &= ~HPET_CFG_ENABLE; | 237 | cfg &= ~HPET_CFG_ENABLE; |
| 238 | hpet_writel(cfg, HPET_CFG); | 238 | hpet_writel(cfg, HPET_CFG); |
| 239 | } | ||
| 240 | |||
| 241 | static void hpet_reset_counter(void) | ||
| 242 | { | ||
| 239 | hpet_writel(0, HPET_COUNTER); | 243 | hpet_writel(0, HPET_COUNTER); |
| 240 | hpet_writel(0, HPET_COUNTER + 4); | 244 | hpet_writel(0, HPET_COUNTER + 4); |
| 241 | } | 245 | } |
| @@ -250,6 +254,7 @@ static void hpet_start_counter(void) | |||
| 250 | static void hpet_restart_counter(void) | 254 | static void hpet_restart_counter(void) |
| 251 | { | 255 | { |
| 252 | hpet_stop_counter(); | 256 | hpet_stop_counter(); |
| 257 | hpet_reset_counter(); | ||
| 253 | hpet_start_counter(); | 258 | hpet_start_counter(); |
| 254 | } | 259 | } |
| 255 | 260 | ||
| @@ -309,7 +314,7 @@ static int hpet_setup_msi_irq(unsigned int irq); | |||
| 309 | static void hpet_set_mode(enum clock_event_mode mode, | 314 | static void hpet_set_mode(enum clock_event_mode mode, |
| 310 | struct clock_event_device *evt, int timer) | 315 | struct clock_event_device *evt, int timer) |
| 311 | { | 316 | { |
| 312 | unsigned long cfg; | 317 | unsigned long cfg, cmp, now; |
| 313 | uint64_t delta; | 318 | uint64_t delta; |
| 314 | 319 | ||
| 315 | switch (mode) { | 320 | switch (mode) { |
| @@ -317,12 +322,23 @@ static void hpet_set_mode(enum clock_event_mode mode, | |||
| 317 | hpet_stop_counter(); | 322 | hpet_stop_counter(); |
| 318 | delta = ((uint64_t)(NSEC_PER_SEC/HZ)) * evt->mult; | 323 | delta = ((uint64_t)(NSEC_PER_SEC/HZ)) * evt->mult; |
| 319 | delta >>= evt->shift; | 324 | delta >>= evt->shift; |
| 325 | now = hpet_readl(HPET_COUNTER); | ||
| 326 | cmp = now + (unsigned long) delta; | ||
| 320 | cfg = hpet_readl(HPET_Tn_CFG(timer)); | 327 | cfg = hpet_readl(HPET_Tn_CFG(timer)); |
| 321 | /* Make sure we use edge triggered interrupts */ | 328 | /* Make sure we use edge triggered interrupts */ |
| 322 | cfg &= ~HPET_TN_LEVEL; | 329 | cfg &= ~HPET_TN_LEVEL; |
| 323 | cfg |= HPET_TN_ENABLE | HPET_TN_PERIODIC | | 330 | cfg |= HPET_TN_ENABLE | HPET_TN_PERIODIC | |
| 324 | HPET_TN_SETVAL | HPET_TN_32BIT; | 331 | HPET_TN_SETVAL | HPET_TN_32BIT; |
| 325 | hpet_writel(cfg, HPET_Tn_CFG(timer)); | 332 | hpet_writel(cfg, HPET_Tn_CFG(timer)); |
| 333 | hpet_writel(cmp, HPET_Tn_CMP(timer)); | ||
| 334 | udelay(1); | ||
| 335 | /* | ||
| 336 | * HPET on AMD 81xx needs a second write (with HPET_TN_SETVAL | ||
| 337 | * cleared) to T0_CMP to set the period. The HPET_TN_SETVAL | ||
| 338 | * bit is automatically cleared after the first write. | ||
| 339 | * (See AMD-8111 HyperTransport I/O Hub Data Sheet, | ||
| 340 | * Publication # 24674) | ||
| 341 | */ | ||
| 326 | hpet_writel((unsigned long) delta, HPET_Tn_CMP(timer)); | 342 | hpet_writel((unsigned long) delta, HPET_Tn_CMP(timer)); |
| 327 | hpet_start_counter(); | 343 | hpet_start_counter(); |
| 328 | hpet_print_config(); | 344 | hpet_print_config(); |
diff --git a/arch/x86/kernel/quirks.c b/arch/x86/kernel/quirks.c index e95022e4f5d5..7563b31b4f03 100644 --- a/arch/x86/kernel/quirks.c +++ b/arch/x86/kernel/quirks.c | |||
| @@ -261,8 +261,6 @@ static void old_ich_force_enable_hpet_user(struct pci_dev *dev) | |||
| 261 | { | 261 | { |
| 262 | if (hpet_force_user) | 262 | if (hpet_force_user) |
| 263 | old_ich_force_enable_hpet(dev); | 263 | old_ich_force_enable_hpet(dev); |
| 264 | else | ||
| 265 | hpet_print_force_info(); | ||
| 266 | } | 264 | } |
| 267 | 265 | ||
| 268 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB_1, | 266 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB_1, |
diff --git a/arch/x86/kernel/uv_time.c b/arch/x86/kernel/uv_time.c index 2ffb6c53326e..583f11d5c480 100644 --- a/arch/x86/kernel/uv_time.c +++ b/arch/x86/kernel/uv_time.c | |||
| @@ -29,7 +29,7 @@ | |||
| 29 | 29 | ||
| 30 | #define RTC_NAME "sgi_rtc" | 30 | #define RTC_NAME "sgi_rtc" |
| 31 | 31 | ||
| 32 | static cycle_t uv_read_rtc(void); | 32 | static cycle_t uv_read_rtc(struct clocksource *cs); |
| 33 | static int uv_rtc_next_event(unsigned long, struct clock_event_device *); | 33 | static int uv_rtc_next_event(unsigned long, struct clock_event_device *); |
| 34 | static void uv_rtc_timer_setup(enum clock_event_mode, | 34 | static void uv_rtc_timer_setup(enum clock_event_mode, |
| 35 | struct clock_event_device *); | 35 | struct clock_event_device *); |
| @@ -123,7 +123,7 @@ static int uv_setup_intr(int cpu, u64 expires) | |||
| 123 | /* Initialize comparator value */ | 123 | /* Initialize comparator value */ |
| 124 | uv_write_global_mmr64(pnode, UVH_INT_CMPB, expires); | 124 | uv_write_global_mmr64(pnode, UVH_INT_CMPB, expires); |
| 125 | 125 | ||
| 126 | return (expires < uv_read_rtc() && !uv_intr_pending(pnode)); | 126 | return (expires < uv_read_rtc(NULL) && !uv_intr_pending(pnode)); |
| 127 | } | 127 | } |
| 128 | 128 | ||
| 129 | /* | 129 | /* |
| @@ -256,7 +256,7 @@ static int uv_rtc_unset_timer(int cpu) | |||
| 256 | 256 | ||
| 257 | spin_lock_irqsave(&head->lock, flags); | 257 | spin_lock_irqsave(&head->lock, flags); |
| 258 | 258 | ||
| 259 | if (head->next_cpu == bcpu && uv_read_rtc() >= *t) | 259 | if (head->next_cpu == bcpu && uv_read_rtc(NULL) >= *t) |
| 260 | rc = 1; | 260 | rc = 1; |
| 261 | 261 | ||
| 262 | *t = ULLONG_MAX; | 262 | *t = ULLONG_MAX; |
| @@ -278,7 +278,7 @@ static int uv_rtc_unset_timer(int cpu) | |||
| 278 | /* | 278 | /* |
| 279 | * Read the RTC. | 279 | * Read the RTC. |
| 280 | */ | 280 | */ |
| 281 | static cycle_t uv_read_rtc(void) | 281 | static cycle_t uv_read_rtc(struct clocksource *cs) |
| 282 | { | 282 | { |
| 283 | return (cycle_t)uv_read_local_mmr(UVH_RTC); | 283 | return (cycle_t)uv_read_local_mmr(UVH_RTC); |
| 284 | } | 284 | } |
| @@ -291,7 +291,7 @@ static int uv_rtc_next_event(unsigned long delta, | |||
| 291 | { | 291 | { |
| 292 | int ced_cpu = cpumask_first(ced->cpumask); | 292 | int ced_cpu = cpumask_first(ced->cpumask); |
| 293 | 293 | ||
| 294 | return uv_rtc_set_timer(ced_cpu, delta + uv_read_rtc()); | 294 | return uv_rtc_set_timer(ced_cpu, delta + uv_read_rtc(NULL)); |
| 295 | } | 295 | } |
| 296 | 296 | ||
| 297 | /* | 297 | /* |
diff --git a/arch/x86/kernel/xsave.c b/arch/x86/kernel/xsave.c index 0a5b04aa98f1..c5ee17e8c6d9 100644 --- a/arch/x86/kernel/xsave.c +++ b/arch/x86/kernel/xsave.c | |||
| @@ -89,7 +89,7 @@ int save_i387_xstate(void __user *buf) | |||
| 89 | 89 | ||
| 90 | if (!used_math()) | 90 | if (!used_math()) |
| 91 | return 0; | 91 | return 0; |
| 92 | clear_used_math(); /* trigger finit */ | 92 | |
| 93 | if (task_thread_info(tsk)->status & TS_USEDFPU) { | 93 | if (task_thread_info(tsk)->status & TS_USEDFPU) { |
| 94 | /* | 94 | /* |
| 95 | * Start with clearing the user buffer. This will present a | 95 | * Start with clearing the user buffer. This will present a |
| @@ -114,6 +114,8 @@ int save_i387_xstate(void __user *buf) | |||
| 114 | return -1; | 114 | return -1; |
| 115 | } | 115 | } |
| 116 | 116 | ||
| 117 | clear_used_math(); /* trigger finit */ | ||
| 118 | |||
| 117 | if (task_thread_info(tsk)->status & TS_XSAVE) { | 119 | if (task_thread_info(tsk)->status & TS_XSAVE) { |
| 118 | struct _fpstate __user *fx = buf; | 120 | struct _fpstate __user *fx = buf; |
| 119 | struct _xstate __user *x = buf; | 121 | struct _xstate __user *x = buf; |
diff --git a/arch/x86/mm/numa_32.c b/arch/x86/mm/numa_32.c index 3daefa04ace5..d2530062fe00 100644 --- a/arch/x86/mm/numa_32.c +++ b/arch/x86/mm/numa_32.c | |||
| @@ -257,7 +257,7 @@ void resume_map_numa_kva(pgd_t *pgd_base) | |||
| 257 | } | 257 | } |
| 258 | #endif | 258 | #endif |
| 259 | 259 | ||
| 260 | static unsigned long calculate_numa_remap_pages(void) | 260 | static __init unsigned long calculate_numa_remap_pages(void) |
| 261 | { | 261 | { |
| 262 | int nid; | 262 | int nid; |
| 263 | unsigned long size, reserve_pages = 0; | 263 | unsigned long size, reserve_pages = 0; |
diff --git a/arch/x86/mm/numa_64.c b/arch/x86/mm/numa_64.c index d73aaa892371..2d05a12029dc 100644 --- a/arch/x86/mm/numa_64.c +++ b/arch/x86/mm/numa_64.c | |||
| @@ -188,6 +188,9 @@ void __init setup_node_bootmem(int nodeid, unsigned long start, | |||
| 188 | const int pgdat_size = roundup(sizeof(pg_data_t), PAGE_SIZE); | 188 | const int pgdat_size = roundup(sizeof(pg_data_t), PAGE_SIZE); |
| 189 | int nid; | 189 | int nid; |
| 190 | 190 | ||
| 191 | if (!end) | ||
| 192 | return; | ||
| 193 | |||
| 191 | start = roundup(start, ZONE_ALIGN); | 194 | start = roundup(start, ZONE_ALIGN); |
| 192 | 195 | ||
| 193 | printk(KERN_INFO "Bootmem setup node %d %016lx-%016lx\n", nodeid, | 196 | printk(KERN_INFO "Bootmem setup node %d %016lx-%016lx\n", nodeid, |
diff --git a/arch/x86/mm/srat_64.c b/arch/x86/mm/srat_64.c index c7d272b8574c..33c5fa57e43d 100644 --- a/arch/x86/mm/srat_64.c +++ b/arch/x86/mm/srat_64.c | |||
| @@ -28,6 +28,7 @@ int acpi_numa __initdata; | |||
| 28 | static struct acpi_table_slit *acpi_slit; | 28 | static struct acpi_table_slit *acpi_slit; |
| 29 | 29 | ||
| 30 | static nodemask_t nodes_parsed __initdata; | 30 | static nodemask_t nodes_parsed __initdata; |
| 31 | static nodemask_t cpu_nodes_parsed __initdata; | ||
| 31 | static struct bootnode nodes[MAX_NUMNODES] __initdata; | 32 | static struct bootnode nodes[MAX_NUMNODES] __initdata; |
| 32 | static struct bootnode nodes_add[MAX_NUMNODES]; | 33 | static struct bootnode nodes_add[MAX_NUMNODES]; |
| 33 | static int found_add_area __initdata; | 34 | static int found_add_area __initdata; |
| @@ -141,6 +142,7 @@ acpi_numa_x2apic_affinity_init(struct acpi_srat_x2apic_cpu_affinity *pa) | |||
| 141 | 142 | ||
| 142 | apic_id = pa->apic_id; | 143 | apic_id = pa->apic_id; |
| 143 | apicid_to_node[apic_id] = node; | 144 | apicid_to_node[apic_id] = node; |
| 145 | node_set(node, cpu_nodes_parsed); | ||
| 144 | acpi_numa = 1; | 146 | acpi_numa = 1; |
| 145 | printk(KERN_INFO "SRAT: PXM %u -> APIC %u -> Node %u\n", | 147 | printk(KERN_INFO "SRAT: PXM %u -> APIC %u -> Node %u\n", |
| 146 | pxm, apic_id, node); | 148 | pxm, apic_id, node); |
| @@ -174,6 +176,7 @@ acpi_numa_processor_affinity_init(struct acpi_srat_cpu_affinity *pa) | |||
| 174 | else | 176 | else |
| 175 | apic_id = pa->apic_id; | 177 | apic_id = pa->apic_id; |
| 176 | apicid_to_node[apic_id] = node; | 178 | apicid_to_node[apic_id] = node; |
| 179 | node_set(node, cpu_nodes_parsed); | ||
| 177 | acpi_numa = 1; | 180 | acpi_numa = 1; |
| 178 | printk(KERN_INFO "SRAT: PXM %u -> APIC %u -> Node %u\n", | 181 | printk(KERN_INFO "SRAT: PXM %u -> APIC %u -> Node %u\n", |
| 179 | pxm, apic_id, node); | 182 | pxm, apic_id, node); |
| @@ -402,7 +405,8 @@ int __init acpi_scan_nodes(unsigned long start, unsigned long end) | |||
| 402 | return -1; | 405 | return -1; |
| 403 | } | 406 | } |
| 404 | 407 | ||
| 405 | node_possible_map = nodes_parsed; | 408 | /* Account for nodes with cpus and no memory */ |
| 409 | nodes_or(node_possible_map, nodes_parsed, cpu_nodes_parsed); | ||
| 406 | 410 | ||
| 407 | /* Finally register nodes */ | 411 | /* Finally register nodes */ |
| 408 | for_each_node_mask(i, node_possible_map) | 412 | for_each_node_mask(i, node_possible_map) |
diff --git a/drivers/input/mouse/maplemouse.c b/drivers/input/mouse/maplemouse.c index d196abfb68bc..5f278176eb9b 100644 --- a/drivers/input/mouse/maplemouse.c +++ b/drivers/input/mouse/maplemouse.c | |||
| @@ -2,8 +2,8 @@ | |||
| 2 | * SEGA Dreamcast mouse driver | 2 | * SEGA Dreamcast mouse driver |
| 3 | * Based on drivers/usb/usbmouse.c | 3 | * Based on drivers/usb/usbmouse.c |
| 4 | * | 4 | * |
| 5 | * Copyright Yaegashi Takeshi, 2001 | 5 | * Copyright (c) Yaegashi Takeshi, 2001 |
| 6 | * Adrian McMenamin, 2008 | 6 | * Copyright (c) Adrian McMenamin, 2008 - 2009 |
| 7 | */ | 7 | */ |
| 8 | 8 | ||
| 9 | #include <linux/kernel.h> | 9 | #include <linux/kernel.h> |
| @@ -29,7 +29,7 @@ static void dc_mouse_callback(struct mapleq *mq) | |||
| 29 | struct maple_device *mapledev = mq->dev; | 29 | struct maple_device *mapledev = mq->dev; |
| 30 | struct dc_mouse *mse = maple_get_drvdata(mapledev); | 30 | struct dc_mouse *mse = maple_get_drvdata(mapledev); |
| 31 | struct input_dev *dev = mse->dev; | 31 | struct input_dev *dev = mse->dev; |
| 32 | unsigned char *res = mq->recvbuf; | 32 | unsigned char *res = mq->recvbuf->buf; |
| 33 | 33 | ||
| 34 | buttons = ~res[8]; | 34 | buttons = ~res[8]; |
| 35 | relx = *(unsigned short *)(res + 12) - 512; | 35 | relx = *(unsigned short *)(res + 12) - 512; |
| @@ -47,7 +47,7 @@ static void dc_mouse_callback(struct mapleq *mq) | |||
| 47 | 47 | ||
| 48 | static int dc_mouse_open(struct input_dev *dev) | 48 | static int dc_mouse_open(struct input_dev *dev) |
| 49 | { | 49 | { |
| 50 | struct dc_mouse *mse = dev->dev.platform_data; | 50 | struct dc_mouse *mse = maple_get_drvdata(to_maple_dev(&dev->dev)); |
| 51 | 51 | ||
| 52 | maple_getcond_callback(mse->mdev, dc_mouse_callback, HZ/50, | 52 | maple_getcond_callback(mse->mdev, dc_mouse_callback, HZ/50, |
| 53 | MAPLE_FUNC_MOUSE); | 53 | MAPLE_FUNC_MOUSE); |
| @@ -57,29 +57,33 @@ static int dc_mouse_open(struct input_dev *dev) | |||
| 57 | 57 | ||
| 58 | static void dc_mouse_close(struct input_dev *dev) | 58 | static void dc_mouse_close(struct input_dev *dev) |
| 59 | { | 59 | { |
| 60 | struct dc_mouse *mse = dev->dev.platform_data; | 60 | struct dc_mouse *mse = maple_get_drvdata(to_maple_dev(&dev->dev)); |
| 61 | 61 | ||
| 62 | maple_getcond_callback(mse->mdev, dc_mouse_callback, 0, | 62 | maple_getcond_callback(mse->mdev, dc_mouse_callback, 0, |
| 63 | MAPLE_FUNC_MOUSE); | 63 | MAPLE_FUNC_MOUSE); |
| 64 | } | 64 | } |
| 65 | 65 | ||
| 66 | 66 | /* allow the mouse to be used */ | |
| 67 | static int __devinit probe_maple_mouse(struct device *dev) | 67 | static int __devinit probe_maple_mouse(struct device *dev) |
| 68 | { | 68 | { |
| 69 | struct maple_device *mdev = to_maple_dev(dev); | 69 | struct maple_device *mdev = to_maple_dev(dev); |
| 70 | struct maple_driver *mdrv = to_maple_driver(dev->driver); | 70 | struct maple_driver *mdrv = to_maple_driver(dev->driver); |
| 71 | int error; | ||
| 71 | struct input_dev *input_dev; | 72 | struct input_dev *input_dev; |
| 72 | struct dc_mouse *mse; | 73 | struct dc_mouse *mse; |
| 73 | int error; | ||
| 74 | 74 | ||
| 75 | mse = kzalloc(sizeof(struct dc_mouse), GFP_KERNEL); | 75 | mse = kzalloc(sizeof(struct dc_mouse), GFP_KERNEL); |
| 76 | input_dev = input_allocate_device(); | 76 | if (!mse) { |
| 77 | |||
| 78 | if (!mse || !input_dev) { | ||
| 79 | error = -ENOMEM; | 77 | error = -ENOMEM; |
| 80 | goto fail; | 78 | goto fail; |
| 81 | } | 79 | } |
| 82 | 80 | ||
| 81 | input_dev = input_allocate_device(); | ||
| 82 | if (!input_dev) { | ||
| 83 | error = -ENOMEM; | ||
| 84 | goto fail_nomem; | ||
| 85 | } | ||
| 86 | |||
| 83 | mse->dev = input_dev; | 87 | mse->dev = input_dev; |
| 84 | mse->mdev = mdev; | 88 | mse->mdev = mdev; |
| 85 | 89 | ||
| @@ -89,25 +93,24 @@ static int __devinit probe_maple_mouse(struct device *dev) | |||
| 89 | BIT_MASK(BTN_RIGHT) | BIT_MASK(BTN_MIDDLE); | 93 | BIT_MASK(BTN_RIGHT) | BIT_MASK(BTN_MIDDLE); |
| 90 | input_dev->relbit[0] = BIT_MASK(REL_X) | BIT_MASK(REL_Y) | | 94 | input_dev->relbit[0] = BIT_MASK(REL_X) | BIT_MASK(REL_Y) | |
| 91 | BIT_MASK(REL_WHEEL); | 95 | BIT_MASK(REL_WHEEL); |
| 92 | input_dev->name = mdev->product_name; | ||
| 93 | input_dev->id.bustype = BUS_HOST; | ||
| 94 | input_dev->open = dc_mouse_open; | 96 | input_dev->open = dc_mouse_open; |
| 95 | input_dev->close = dc_mouse_close; | 97 | input_dev->close = dc_mouse_close; |
| 98 | input_dev->name = mdev->product_name; | ||
| 99 | input_dev->id.bustype = BUS_HOST; | ||
| 100 | error = input_register_device(input_dev); | ||
| 101 | if (error) | ||
| 102 | goto fail_register; | ||
| 96 | 103 | ||
| 97 | mdev->driver = mdrv; | 104 | mdev->driver = mdrv; |
| 98 | maple_set_drvdata(mdev, mse); | 105 | maple_set_drvdata(mdev, mse); |
| 99 | 106 | ||
| 100 | error = input_register_device(input_dev); | 107 | return error; |
| 101 | if (error) | ||
| 102 | goto fail; | ||
| 103 | |||
| 104 | return 0; | ||
| 105 | 108 | ||
| 106 | fail: | 109 | fail_register: |
| 107 | input_free_device(input_dev); | 110 | input_free_device(input_dev); |
| 108 | maple_set_drvdata(mdev, NULL); | 111 | fail_nomem: |
| 109 | kfree(mse); | 112 | kfree(mse); |
| 110 | mdev->driver = NULL; | 113 | fail: |
| 111 | return error; | 114 | return error; |
| 112 | } | 115 | } |
| 113 | 116 | ||
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index 7e2e7dd4cd2f..2734eca59243 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c | |||
| @@ -109,10 +109,9 @@ int irq_set_affinity(unsigned int irq, const struct cpumask *cpumask) | |||
| 109 | spin_lock_irqsave(&desc->lock, flags); | 109 | spin_lock_irqsave(&desc->lock, flags); |
| 110 | 110 | ||
| 111 | #ifdef CONFIG_GENERIC_PENDING_IRQ | 111 | #ifdef CONFIG_GENERIC_PENDING_IRQ |
| 112 | if (desc->status & IRQ_MOVE_PCNTXT || desc->status & IRQ_DISABLED) { | 112 | if (desc->status & IRQ_MOVE_PCNTXT) |
| 113 | cpumask_copy(desc->affinity, cpumask); | ||
| 114 | desc->chip->set_affinity(irq, cpumask); | 113 | desc->chip->set_affinity(irq, cpumask); |
| 115 | } else { | 114 | else { |
| 116 | desc->status |= IRQ_MOVE_PENDING; | 115 | desc->status |= IRQ_MOVE_PENDING; |
| 117 | cpumask_copy(desc->pending_mask, cpumask); | 116 | cpumask_copy(desc->pending_mask, cpumask); |
| 118 | } | 117 | } |
diff --git a/kernel/lockdep.c b/kernel/lockdep.c index b0f011866969..accb40cdb12a 100644 --- a/kernel/lockdep.c +++ b/kernel/lockdep.c | |||
| @@ -2490,13 +2490,20 @@ static int mark_lock(struct task_struct *curr, struct held_lock *this, | |||
| 2490 | void lockdep_init_map(struct lockdep_map *lock, const char *name, | 2490 | void lockdep_init_map(struct lockdep_map *lock, const char *name, |
| 2491 | struct lock_class_key *key, int subclass) | 2491 | struct lock_class_key *key, int subclass) |
| 2492 | { | 2492 | { |
| 2493 | if (unlikely(!debug_locks)) | 2493 | lock->class_cache = NULL; |
| 2494 | #ifdef CONFIG_LOCK_STAT | ||
| 2495 | lock->cpu = raw_smp_processor_id(); | ||
| 2496 | #endif | ||
| 2497 | |||
| 2498 | if (DEBUG_LOCKS_WARN_ON(!name)) { | ||
| 2499 | lock->name = "NULL"; | ||
| 2494 | return; | 2500 | return; |
| 2501 | } | ||
| 2502 | |||
| 2503 | lock->name = name; | ||
| 2495 | 2504 | ||
| 2496 | if (DEBUG_LOCKS_WARN_ON(!key)) | 2505 | if (DEBUG_LOCKS_WARN_ON(!key)) |
| 2497 | return; | 2506 | return; |
| 2498 | if (DEBUG_LOCKS_WARN_ON(!name)) | ||
| 2499 | return; | ||
| 2500 | /* | 2507 | /* |
| 2501 | * Sanity check, the lock-class key must be persistent: | 2508 | * Sanity check, the lock-class key must be persistent: |
| 2502 | */ | 2509 | */ |
| @@ -2505,12 +2512,11 @@ void lockdep_init_map(struct lockdep_map *lock, const char *name, | |||
| 2505 | DEBUG_LOCKS_WARN_ON(1); | 2512 | DEBUG_LOCKS_WARN_ON(1); |
| 2506 | return; | 2513 | return; |
| 2507 | } | 2514 | } |
| 2508 | lock->name = name; | ||
| 2509 | lock->key = key; | 2515 | lock->key = key; |
| 2510 | lock->class_cache = NULL; | 2516 | |
| 2511 | #ifdef CONFIG_LOCK_STAT | 2517 | if (unlikely(!debug_locks)) |
| 2512 | lock->cpu = raw_smp_processor_id(); | 2518 | return; |
| 2513 | #endif | 2519 | |
| 2514 | if (subclass) | 2520 | if (subclass) |
| 2515 | register_lock_class(lock, subclass, 1); | 2521 | register_lock_class(lock, subclass, 1); |
| 2516 | } | 2522 | } |
diff --git a/kernel/panic.c b/kernel/panic.c index 934fb377f4b3..3dcaa1661357 100644 --- a/kernel/panic.c +++ b/kernel/panic.c | |||
| @@ -221,7 +221,7 @@ void add_taint(unsigned flag) | |||
| 221 | * post-warning case. | 221 | * post-warning case. |
| 222 | */ | 222 | */ |
| 223 | if (flag != TAINT_CRAP && flag != TAINT_WARN && __debug_locks_off()) | 223 | if (flag != TAINT_CRAP && flag != TAINT_WARN && __debug_locks_off()) |
| 224 | printk(KERN_WARNING "Disabling lockdep due to kernel taint\n"); | 224 | printk(KERN_WARNING "Disabling lock debugging due to kernel taint\n"); |
| 225 | 225 | ||
| 226 | set_bit(flag, &tainted_mask); | 226 | set_bit(flag, &tainted_mask); |
| 227 | } | 227 | } |
