diff options
Diffstat (limited to 'arch/s390')
| -rw-r--r-- | arch/s390/defconfig | 54 | ||||
| -rw-r--r-- | arch/s390/include/asm/bitops.h | 6 | ||||
| -rw-r--r-- | arch/s390/include/asm/kexec.h | 2 | ||||
| -rw-r--r-- | arch/s390/kernel/process.c | 4 | ||||
| -rw-r--r-- | arch/s390/kernel/smp.c | 2 | ||||
| -rw-r--r-- | arch/s390/kernel/vmlinux.lds.S | 2 |
6 files changed, 46 insertions, 24 deletions
diff --git a/arch/s390/defconfig b/arch/s390/defconfig index c5cdb975d590..9b0bc2c9fba0 100644 --- a/arch/s390/defconfig +++ b/arch/s390/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.26-rc4 | 3 | # Linux kernel version: 2.6.27-rc4 |
| 4 | # Fri May 30 09:49:33 2008 | 4 | # Thu Aug 21 19:43:29 2008 |
| 5 | # | 5 | # |
| 6 | CONFIG_SCHED_MC=y | 6 | CONFIG_SCHED_MC=y |
| 7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
| @@ -68,7 +68,6 @@ CONFIG_INITRAMFS_SOURCE="" | |||
| 68 | CONFIG_SYSCTL=y | 68 | CONFIG_SYSCTL=y |
| 69 | # CONFIG_EMBEDDED is not set | 69 | # CONFIG_EMBEDDED is not set |
| 70 | CONFIG_SYSCTL_SYSCALL=y | 70 | CONFIG_SYSCTL_SYSCALL=y |
| 71 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
| 72 | CONFIG_KALLSYMS=y | 71 | CONFIG_KALLSYMS=y |
| 73 | # CONFIG_KALLSYMS_ALL is not set | 72 | # CONFIG_KALLSYMS_ALL is not set |
| 74 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 73 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
| @@ -93,11 +92,17 @@ CONFIG_SLAB=y | |||
| 93 | # CONFIG_MARKERS is not set | 92 | # CONFIG_MARKERS is not set |
| 94 | CONFIG_HAVE_OPROFILE=y | 93 | CONFIG_HAVE_OPROFILE=y |
| 95 | CONFIG_KPROBES=y | 94 | CONFIG_KPROBES=y |
| 95 | # CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set | ||
| 96 | CONFIG_KRETPROBES=y | 96 | CONFIG_KRETPROBES=y |
| 97 | # CONFIG_HAVE_IOREMAP_PROT is not set | ||
| 97 | CONFIG_HAVE_KPROBES=y | 98 | CONFIG_HAVE_KPROBES=y |
| 98 | CONFIG_HAVE_KRETPROBES=y | 99 | CONFIG_HAVE_KRETPROBES=y |
| 100 | # CONFIG_HAVE_ARCH_TRACEHOOK is not set | ||
| 99 | # CONFIG_HAVE_DMA_ATTRS is not set | 101 | # CONFIG_HAVE_DMA_ATTRS is not set |
| 102 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
| 103 | # CONFIG_HAVE_CLK is not set | ||
| 100 | CONFIG_PROC_PAGE_MONITOR=y | 104 | CONFIG_PROC_PAGE_MONITOR=y |
| 105 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | ||
| 101 | CONFIG_SLABINFO=y | 106 | CONFIG_SLABINFO=y |
| 102 | CONFIG_RT_MUTEXES=y | 107 | CONFIG_RT_MUTEXES=y |
| 103 | # CONFIG_TINY_SHMEM is not set | 108 | # CONFIG_TINY_SHMEM is not set |
| @@ -113,6 +118,7 @@ CONFIG_STOP_MACHINE=y | |||
| 113 | CONFIG_BLOCK=y | 118 | CONFIG_BLOCK=y |
| 114 | # CONFIG_BLK_DEV_IO_TRACE is not set | 119 | # CONFIG_BLK_DEV_IO_TRACE is not set |
| 115 | CONFIG_BLK_DEV_BSG=y | 120 | CONFIG_BLK_DEV_BSG=y |
| 121 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
| 116 | CONFIG_BLOCK_COMPAT=y | 122 | CONFIG_BLOCK_COMPAT=y |
| 117 | 123 | ||
| 118 | # | 124 | # |
| @@ -175,6 +181,8 @@ CONFIG_PREEMPT=y | |||
| 175 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | 181 | CONFIG_ARCH_SPARSEMEM_ENABLE=y |
| 176 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y | 182 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y |
| 177 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | 183 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y |
| 184 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
| 185 | CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y | ||
| 178 | CONFIG_SELECT_MEMORY_MODEL=y | 186 | CONFIG_SELECT_MEMORY_MODEL=y |
| 179 | # CONFIG_FLATMEM_MANUAL is not set | 187 | # CONFIG_FLATMEM_MANUAL is not set |
| 180 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 188 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
| @@ -185,8 +193,12 @@ CONFIG_HAVE_MEMORY_PRESENT=y | |||
| 185 | CONFIG_SPARSEMEM_EXTREME=y | 193 | CONFIG_SPARSEMEM_EXTREME=y |
| 186 | CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y | 194 | CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y |
| 187 | CONFIG_SPARSEMEM_VMEMMAP=y | 195 | CONFIG_SPARSEMEM_VMEMMAP=y |
| 196 | CONFIG_MEMORY_HOTPLUG=y | ||
| 197 | CONFIG_MEMORY_HOTPLUG_SPARSE=y | ||
| 198 | CONFIG_MEMORY_HOTREMOVE=y | ||
| 188 | CONFIG_PAGEFLAGS_EXTENDED=y | 199 | CONFIG_PAGEFLAGS_EXTENDED=y |
| 189 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 200 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
| 201 | CONFIG_MIGRATION=y | ||
| 190 | CONFIG_RESOURCES_64BIT=y | 202 | CONFIG_RESOURCES_64BIT=y |
| 191 | CONFIG_ZONE_DMA_FLAG=1 | 203 | CONFIG_ZONE_DMA_FLAG=1 |
| 192 | CONFIG_BOUNCE=y | 204 | CONFIG_BOUNCE=y |
| @@ -198,6 +210,7 @@ CONFIG_VIRT_TO_BUS=y | |||
| 198 | CONFIG_MACHCHK_WARNING=y | 210 | CONFIG_MACHCHK_WARNING=y |
| 199 | CONFIG_QDIO=y | 211 | CONFIG_QDIO=y |
| 200 | # CONFIG_QDIO_DEBUG is not set | 212 | # CONFIG_QDIO_DEBUG is not set |
| 213 | CONFIG_CHSC_SCH=m | ||
| 201 | 214 | ||
| 202 | # | 215 | # |
| 203 | # Misc | 216 | # Misc |
| @@ -206,6 +219,7 @@ CONFIG_IPL=y | |||
| 206 | # CONFIG_IPL_TAPE is not set | 219 | # CONFIG_IPL_TAPE is not set |
| 207 | CONFIG_IPL_VM=y | 220 | CONFIG_IPL_VM=y |
| 208 | CONFIG_BINFMT_ELF=y | 221 | CONFIG_BINFMT_ELF=y |
| 222 | CONFIG_COMPAT_BINFMT_ELF=y | ||
| 209 | CONFIG_BINFMT_MISC=m | 223 | CONFIG_BINFMT_MISC=m |
| 210 | CONFIG_FORCE_MAX_ZONEORDER=9 | 224 | CONFIG_FORCE_MAX_ZONEORDER=9 |
| 211 | # CONFIG_PROCESS_DEBUG is not set | 225 | # CONFIG_PROCESS_DEBUG is not set |
| @@ -226,10 +240,6 @@ CONFIG_S390_HYPFS_FS=y | |||
| 226 | CONFIG_KEXEC=y | 240 | CONFIG_KEXEC=y |
| 227 | # CONFIG_ZFCPDUMP is not set | 241 | # CONFIG_ZFCPDUMP is not set |
| 228 | CONFIG_S390_GUEST=y | 242 | CONFIG_S390_GUEST=y |
| 229 | |||
| 230 | # | ||
| 231 | # Networking | ||
| 232 | # | ||
| 233 | CONFIG_NET=y | 243 | CONFIG_NET=y |
| 234 | 244 | ||
| 235 | # | 245 | # |
| @@ -364,7 +374,6 @@ CONFIG_NET_SCH_CBQ=m | |||
| 364 | # CONFIG_NET_SCH_HTB is not set | 374 | # CONFIG_NET_SCH_HTB is not set |
| 365 | # CONFIG_NET_SCH_HFSC is not set | 375 | # CONFIG_NET_SCH_HFSC is not set |
| 366 | CONFIG_NET_SCH_PRIO=m | 376 | CONFIG_NET_SCH_PRIO=m |
| 367 | CONFIG_NET_SCH_RR=m | ||
| 368 | CONFIG_NET_SCH_RED=m | 377 | CONFIG_NET_SCH_RED=m |
| 369 | CONFIG_NET_SCH_SFQ=m | 378 | CONFIG_NET_SCH_SFQ=m |
| 370 | CONFIG_NET_SCH_TEQL=m | 379 | CONFIG_NET_SCH_TEQL=m |
| @@ -430,7 +439,9 @@ CONFIG_CCW=y | |||
| 430 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 439 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
| 431 | CONFIG_STANDALONE=y | 440 | CONFIG_STANDALONE=y |
| 432 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 441 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
| 433 | # CONFIG_FW_LOADER is not set | 442 | CONFIG_FW_LOADER=y |
| 443 | # CONFIG_FIRMWARE_IN_KERNEL is not set | ||
| 444 | CONFIG_EXTRA_FIRMWARE="" | ||
| 434 | # CONFIG_DEBUG_DRIVER is not set | 445 | # CONFIG_DEBUG_DRIVER is not set |
| 435 | # CONFIG_DEBUG_DEVRES is not set | 446 | # CONFIG_DEBUG_DEVRES is not set |
| 436 | CONFIG_SYS_HYPERVISOR=y | 447 | CONFIG_SYS_HYPERVISOR=y |
| @@ -507,6 +518,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
| 507 | # CONFIG_ISCSI_TCP is not set | 518 | # CONFIG_ISCSI_TCP is not set |
| 508 | # CONFIG_SCSI_DEBUG is not set | 519 | # CONFIG_SCSI_DEBUG is not set |
| 509 | CONFIG_ZFCP=y | 520 | CONFIG_ZFCP=y |
| 521 | CONFIG_SCSI_DH=m | ||
| 522 | CONFIG_SCSI_DH_RDAC=m | ||
| 523 | CONFIG_SCSI_DH_HP_SW=m | ||
| 524 | CONFIG_SCSI_DH_EMC=m | ||
| 525 | CONFIG_SCSI_DH_ALUA=m | ||
| 510 | CONFIG_MD=y | 526 | CONFIG_MD=y |
| 511 | CONFIG_BLK_DEV_MD=y | 527 | CONFIG_BLK_DEV_MD=y |
| 512 | CONFIG_MD_LINEAR=m | 528 | CONFIG_MD_LINEAR=m |
| @@ -522,14 +538,10 @@ CONFIG_DM_CRYPT=y | |||
| 522 | CONFIG_DM_SNAPSHOT=y | 538 | CONFIG_DM_SNAPSHOT=y |
| 523 | CONFIG_DM_MIRROR=y | 539 | CONFIG_DM_MIRROR=y |
| 524 | CONFIG_DM_ZERO=y | 540 | CONFIG_DM_ZERO=y |
| 525 | CONFIG_DM_MULTIPATH=y | 541 | CONFIG_DM_MULTIPATH=m |
| 526 | # CONFIG_DM_MULTIPATH_EMC is not set | ||
| 527 | # CONFIG_DM_MULTIPATH_RDAC is not set | ||
| 528 | # CONFIG_DM_MULTIPATH_HP is not set | ||
| 529 | # CONFIG_DM_DELAY is not set | 542 | # CONFIG_DM_DELAY is not set |
| 530 | # CONFIG_DM_UEVENT is not set | 543 | # CONFIG_DM_UEVENT is not set |
| 531 | CONFIG_NETDEVICES=y | 544 | CONFIG_NETDEVICES=y |
| 532 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
| 533 | # CONFIG_IFB is not set | 545 | # CONFIG_IFB is not set |
| 534 | CONFIG_DUMMY=m | 546 | CONFIG_DUMMY=m |
| 535 | CONFIG_BONDING=m | 547 | CONFIG_BONDING=m |
| @@ -544,7 +556,6 @@ CONFIG_NET_ETHERNET=y | |||
| 544 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 556 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
| 545 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | 557 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set |
| 546 | CONFIG_NETDEV_1000=y | 558 | CONFIG_NETDEV_1000=y |
| 547 | # CONFIG_E1000E_ENABLED is not set | ||
| 548 | CONFIG_NETDEV_10000=y | 559 | CONFIG_NETDEV_10000=y |
| 549 | # CONFIG_TR is not set | 560 | # CONFIG_TR is not set |
| 550 | # CONFIG_WAN is not set | 561 | # CONFIG_WAN is not set |
| @@ -576,7 +587,10 @@ CONFIG_DEVKMEM=y | |||
| 576 | CONFIG_UNIX98_PTYS=y | 587 | CONFIG_UNIX98_PTYS=y |
| 577 | CONFIG_LEGACY_PTYS=y | 588 | CONFIG_LEGACY_PTYS=y |
| 578 | CONFIG_LEGACY_PTY_COUNT=256 | 589 | CONFIG_LEGACY_PTY_COUNT=256 |
| 590 | CONFIG_HVC_DRIVER=y | ||
| 591 | CONFIG_VIRTIO_CONSOLE=y | ||
| 579 | CONFIG_HW_RANDOM=m | 592 | CONFIG_HW_RANDOM=m |
| 593 | CONFIG_HW_RANDOM_VIRTIO=m | ||
| 580 | # CONFIG_R3964 is not set | 594 | # CONFIG_R3964 is not set |
| 581 | CONFIG_RAW_DRIVER=m | 595 | CONFIG_RAW_DRIVER=m |
| 582 | CONFIG_MAX_RAW_DEVS=256 | 596 | CONFIG_MAX_RAW_DEVS=256 |
| @@ -616,6 +630,7 @@ CONFIG_MONWRITER=m | |||
| 616 | CONFIG_S390_VMUR=m | 630 | CONFIG_S390_VMUR=m |
| 617 | # CONFIG_POWER_SUPPLY is not set | 631 | # CONFIG_POWER_SUPPLY is not set |
| 618 | # CONFIG_THERMAL is not set | 632 | # CONFIG_THERMAL is not set |
| 633 | # CONFIG_THERMAL_HWMON is not set | ||
| 619 | # CONFIG_WATCHDOG is not set | 634 | # CONFIG_WATCHDOG is not set |
| 620 | 635 | ||
| 621 | # | 636 | # |
| @@ -693,6 +708,7 @@ CONFIG_CONFIGFS_FS=m | |||
| 693 | # CONFIG_CRAMFS is not set | 708 | # CONFIG_CRAMFS is not set |
| 694 | # CONFIG_VXFS_FS is not set | 709 | # CONFIG_VXFS_FS is not set |
| 695 | # CONFIG_MINIX_FS is not set | 710 | # CONFIG_MINIX_FS is not set |
| 711 | # CONFIG_OMFS_FS is not set | ||
| 696 | # CONFIG_HPFS_FS is not set | 712 | # CONFIG_HPFS_FS is not set |
| 697 | # CONFIG_QNX4FS_FS is not set | 713 | # CONFIG_QNX4FS_FS is not set |
| 698 | # CONFIG_ROMFS_FS is not set | 714 | # CONFIG_ROMFS_FS is not set |
| @@ -712,7 +728,6 @@ CONFIG_LOCKD_V4=y | |||
| 712 | CONFIG_EXPORTFS=y | 728 | CONFIG_EXPORTFS=y |
| 713 | CONFIG_NFS_COMMON=y | 729 | CONFIG_NFS_COMMON=y |
| 714 | CONFIG_SUNRPC=y | 730 | CONFIG_SUNRPC=y |
| 715 | # CONFIG_SUNRPC_BIND34 is not set | ||
| 716 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 731 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
| 717 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 732 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
| 718 | # CONFIG_SMB_FS is not set | 733 | # CONFIG_SMB_FS is not set |
| @@ -780,6 +795,7 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
| 780 | # CONFIG_DEBUG_INFO is not set | 795 | # CONFIG_DEBUG_INFO is not set |
| 781 | # CONFIG_DEBUG_VM is not set | 796 | # CONFIG_DEBUG_VM is not set |
| 782 | # CONFIG_DEBUG_WRITECOUNT is not set | 797 | # CONFIG_DEBUG_WRITECOUNT is not set |
| 798 | CONFIG_DEBUG_MEMORY_INIT=y | ||
| 783 | # CONFIG_DEBUG_LIST is not set | 799 | # CONFIG_DEBUG_LIST is not set |
| 784 | # CONFIG_DEBUG_SG is not set | 800 | # CONFIG_DEBUG_SG is not set |
| 785 | # CONFIG_FRAME_POINTER is not set | 801 | # CONFIG_FRAME_POINTER is not set |
| @@ -789,6 +805,7 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
| 789 | # CONFIG_LKDTM is not set | 805 | # CONFIG_LKDTM is not set |
| 790 | # CONFIG_FAULT_INJECTION is not set | 806 | # CONFIG_FAULT_INJECTION is not set |
| 791 | # CONFIG_LATENCYTOP is not set | 807 | # CONFIG_LATENCYTOP is not set |
| 808 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
| 792 | CONFIG_SAMPLES=y | 809 | CONFIG_SAMPLES=y |
| 793 | # CONFIG_SAMPLE_KOBJECT is not set | 810 | # CONFIG_SAMPLE_KOBJECT is not set |
| 794 | # CONFIG_SAMPLE_KPROBES is not set | 811 | # CONFIG_SAMPLE_KPROBES is not set |
| @@ -847,6 +864,10 @@ CONFIG_CRYPTO_HMAC=m | |||
| 847 | # CONFIG_CRYPTO_MD4 is not set | 864 | # CONFIG_CRYPTO_MD4 is not set |
| 848 | CONFIG_CRYPTO_MD5=m | 865 | CONFIG_CRYPTO_MD5=m |
| 849 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 866 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
| 867 | CONFIG_CRYPTO_RMD128=m | ||
| 868 | CONFIG_CRYPTO_RMD160=m | ||
| 869 | CONFIG_CRYPTO_RMD256=m | ||
| 870 | CONFIG_CRYPTO_RMD320=m | ||
| 850 | CONFIG_CRYPTO_SHA1=m | 871 | CONFIG_CRYPTO_SHA1=m |
| 851 | # CONFIG_CRYPTO_SHA256 is not set | 872 | # CONFIG_CRYPTO_SHA256 is not set |
| 852 | # CONFIG_CRYPTO_SHA512 is not set | 873 | # CONFIG_CRYPTO_SHA512 is not set |
| @@ -895,6 +916,7 @@ CONFIG_BITREVERSE=m | |||
| 895 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | 916 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set |
| 896 | # CONFIG_CRC_CCITT is not set | 917 | # CONFIG_CRC_CCITT is not set |
| 897 | # CONFIG_CRC16 is not set | 918 | # CONFIG_CRC16 is not set |
| 919 | CONFIG_CRC_T10DIF=y | ||
| 898 | # CONFIG_CRC_ITU_T is not set | 920 | # CONFIG_CRC_ITU_T is not set |
| 899 | CONFIG_CRC32=m | 921 | CONFIG_CRC32=m |
| 900 | CONFIG_CRC7=m | 922 | CONFIG_CRC7=m |
diff --git a/arch/s390/include/asm/bitops.h b/arch/s390/include/asm/bitops.h index b4eb24ab5af9..8e9243ae0c19 100644 --- a/arch/s390/include/asm/bitops.h +++ b/arch/s390/include/asm/bitops.h | |||
| @@ -709,7 +709,7 @@ static inline int find_next_zero_bit (const unsigned long * addr, | |||
| 709 | * __ffz_word returns __BITOPS_WORDSIZE | 709 | * __ffz_word returns __BITOPS_WORDSIZE |
| 710 | * if no zero bit is present in the word. | 710 | * if no zero bit is present in the word. |
| 711 | */ | 711 | */ |
| 712 | set = __ffz_word(0, *p >> bit) + bit; | 712 | set = __ffz_word(bit, *p >> bit); |
| 713 | if (set >= size) | 713 | if (set >= size) |
| 714 | return size + offset; | 714 | return size + offset; |
| 715 | if (set < __BITOPS_WORDSIZE) | 715 | if (set < __BITOPS_WORDSIZE) |
| @@ -824,7 +824,7 @@ static inline int ext2_find_next_zero_bit(void *vaddr, unsigned long size, | |||
| 824 | * s390 version of ffz returns __BITOPS_WORDSIZE | 824 | * s390 version of ffz returns __BITOPS_WORDSIZE |
| 825 | * if no zero bit is present in the word. | 825 | * if no zero bit is present in the word. |
| 826 | */ | 826 | */ |
| 827 | set = ffz(__load_ulong_le(p, 0) >> bit) + bit; | 827 | set = __ffz_word(bit, __load_ulong_le(p, 0) >> bit); |
| 828 | if (set >= size) | 828 | if (set >= size) |
| 829 | return size + offset; | 829 | return size + offset; |
| 830 | if (set < __BITOPS_WORDSIZE) | 830 | if (set < __BITOPS_WORDSIZE) |
| @@ -865,7 +865,7 @@ static inline int ext2_find_next_bit(void *vaddr, unsigned long size, | |||
| 865 | * s390 version of ffz returns __BITOPS_WORDSIZE | 865 | * s390 version of ffz returns __BITOPS_WORDSIZE |
| 866 | * if no zero bit is present in the word. | 866 | * if no zero bit is present in the word. |
| 867 | */ | 867 | */ |
| 868 | set = ffs(__load_ulong_le(p, 0) >> bit) + bit; | 868 | set = __ffs_word(0, __load_ulong_le(p, 0) & (~0UL << bit)); |
| 869 | if (set >= size) | 869 | if (set >= size) |
| 870 | return size + offset; | 870 | return size + offset; |
| 871 | if (set < __BITOPS_WORDSIZE) | 871 | if (set < __BITOPS_WORDSIZE) |
diff --git a/arch/s390/include/asm/kexec.h b/arch/s390/include/asm/kexec.h index f219c6411e0b..bb729b84a21e 100644 --- a/arch/s390/include/asm/kexec.h +++ b/arch/s390/include/asm/kexec.h | |||
| @@ -31,7 +31,7 @@ | |||
| 31 | #define KEXEC_CONTROL_MEMORY_LIMIT (1UL<<31) | 31 | #define KEXEC_CONTROL_MEMORY_LIMIT (1UL<<31) |
| 32 | 32 | ||
| 33 | /* Allocate one page for the pdp and the second for the code */ | 33 | /* Allocate one page for the pdp and the second for the code */ |
| 34 | #define KEXEC_CONTROL_CODE_SIZE 4096 | 34 | #define KEXEC_CONTROL_PAGE_SIZE 4096 |
| 35 | 35 | ||
| 36 | /* The native architecture */ | 36 | /* The native architecture */ |
| 37 | #define KEXEC_ARCH KEXEC_ARCH_S390 | 37 | #define KEXEC_ARCH KEXEC_ARCH_S390 |
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c index 9839767d0842..3e2c05cb6a87 100644 --- a/arch/s390/kernel/process.c +++ b/arch/s390/kernel/process.c | |||
| @@ -75,7 +75,9 @@ unsigned long thread_saved_pc(struct task_struct *tsk) | |||
| 75 | return sf->gprs[8]; | 75 | return sf->gprs[8]; |
| 76 | } | 76 | } |
| 77 | 77 | ||
| 78 | DEFINE_PER_CPU(struct s390_idle_data, s390_idle); | 78 | DEFINE_PER_CPU(struct s390_idle_data, s390_idle) = { |
| 79 | .lock = __SPIN_LOCK_UNLOCKED(s390_idle.lock) | ||
| 80 | }; | ||
| 79 | 81 | ||
| 80 | static int s390_idle_enter(void) | 82 | static int s390_idle_enter(void) |
| 81 | { | 83 | { |
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c index b795b3e24afd..00b9b4dec5eb 100644 --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c | |||
| @@ -610,7 +610,6 @@ static void __init smp_create_idle(unsigned int cpu) | |||
| 610 | if (IS_ERR(p)) | 610 | if (IS_ERR(p)) |
| 611 | panic("failed fork for CPU %u: %li", cpu, PTR_ERR(p)); | 611 | panic("failed fork for CPU %u: %li", cpu, PTR_ERR(p)); |
| 612 | current_set[cpu] = p; | 612 | current_set[cpu] = p; |
| 613 | spin_lock_init(&(&per_cpu(s390_idle, cpu))->lock); | ||
| 614 | } | 613 | } |
| 615 | 614 | ||
| 616 | static int __cpuinit smp_alloc_lowcore(int cpu) | 615 | static int __cpuinit smp_alloc_lowcore(int cpu) |
| @@ -845,7 +844,6 @@ void __init smp_prepare_boot_cpu(void) | |||
| 845 | current_set[0] = current; | 844 | current_set[0] = current; |
| 846 | smp_cpu_state[0] = CPU_STATE_CONFIGURED; | 845 | smp_cpu_state[0] = CPU_STATE_CONFIGURED; |
| 847 | smp_cpu_polarization[0] = POLARIZATION_UNKNWN; | 846 | smp_cpu_polarization[0] = POLARIZATION_UNKNWN; |
| 848 | spin_lock_init(&(&__get_cpu_var(s390_idle))->lock); | ||
| 849 | } | 847 | } |
| 850 | 848 | ||
| 851 | void __init smp_cpus_done(unsigned int max_cpus) | 849 | void __init smp_cpus_done(unsigned int max_cpus) |
diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S index 76c1e60c92f3..607bd67a18ce 100644 --- a/arch/s390/kernel/vmlinux.lds.S +++ b/arch/s390/kernel/vmlinux.lds.S | |||
| @@ -55,7 +55,7 @@ SECTIONS | |||
| 55 | __start___ex_table = .; | 55 | __start___ex_table = .; |
| 56 | *(__ex_table) | 56 | *(__ex_table) |
| 57 | __stop___ex_table = .; | 57 | __stop___ex_table = .; |
| 58 | } | 58 | } :data |
| 59 | 59 | ||
| 60 | .data : { /* Data */ | 60 | .data : { /* Data */ |
| 61 | DATA_DATA | 61 | DATA_DATA |
