diff options
| author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-17 18:29:33 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-17 18:29:33 -0400 |
| commit | fd2f261053b2f125d5f6882b6d095ce2f4076fe5 (patch) | |
| tree | 5be548353e3c8b3a7e1e5e01e41b88777ad6d249 /arch | |
| parent | 99e1221d1a1edac316f7f8116c781f75733b1159 (diff) | |
| parent | a07a5b336f699e21d405764931a9d5426dc4f945 (diff) | |
Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
[S390] Fix broken logic, SIGA flags must be bitwise ORed
[S390] cio: Dont print trailing \0 in modalias_show().
[S390] Simplify stack trace.
[S390] z/VM unit record device driver
[S390] vmcp cleanup
[S390] qdio: output queue stall on FCP and network devices
[S390] Fix disassembly of RX_URRD, SI_URD & PC-relative instructions.
[S390] Update default configuration.
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/s390/defconfig | 110 | ||||
| -rw-r--r-- | arch/s390/kernel/dis.c | 7 | ||||
| -rw-r--r-- | arch/s390/kernel/stacktrace.c | 26 |
3 files changed, 47 insertions, 96 deletions
diff --git a/arch/s390/defconfig b/arch/s390/defconfig index 485b60c1983c..2aae23dba4bb 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.21 | 3 | # Linux kernel version: 2.6.22 |
| 4 | # Thu May 10 15:18:19 2007 | 4 | # Tue Jul 17 12:50:23 2007 |
| 5 | # | 5 | # |
| 6 | CONFIG_MMU=y | 6 | CONFIG_MMU=y |
| 7 | CONFIG_ZONE_DMA=y | 7 | CONFIG_ZONE_DMA=y |
| @@ -32,12 +32,11 @@ CONFIG_LOCALVERSION="" | |||
| 32 | CONFIG_LOCALVERSION_AUTO=y | 32 | CONFIG_LOCALVERSION_AUTO=y |
| 33 | CONFIG_SWAP=y | 33 | CONFIG_SWAP=y |
| 34 | CONFIG_SYSVIPC=y | 34 | CONFIG_SYSVIPC=y |
| 35 | # CONFIG_IPC_NS is not set | ||
| 36 | CONFIG_SYSVIPC_SYSCTL=y | 35 | CONFIG_SYSVIPC_SYSCTL=y |
| 37 | CONFIG_POSIX_MQUEUE=y | 36 | CONFIG_POSIX_MQUEUE=y |
| 38 | # CONFIG_BSD_PROCESS_ACCT is not set | 37 | # CONFIG_BSD_PROCESS_ACCT is not set |
| 39 | # CONFIG_TASKSTATS is not set | 38 | # CONFIG_TASKSTATS is not set |
| 40 | # CONFIG_UTS_NS is not set | 39 | # CONFIG_USER_NS is not set |
| 41 | CONFIG_AUDIT=y | 40 | CONFIG_AUDIT=y |
| 42 | # CONFIG_AUDITSYSCALL is not set | 41 | # CONFIG_AUDITSYSCALL is not set |
| 43 | CONFIG_IKCONFIG=y | 42 | CONFIG_IKCONFIG=y |
| @@ -61,20 +60,19 @@ CONFIG_BUG=y | |||
| 61 | CONFIG_ELF_CORE=y | 60 | CONFIG_ELF_CORE=y |
| 62 | CONFIG_BASE_FULL=y | 61 | CONFIG_BASE_FULL=y |
| 63 | CONFIG_FUTEX=y | 62 | CONFIG_FUTEX=y |
| 63 | CONFIG_ANON_INODES=y | ||
| 64 | CONFIG_EPOLL=y | 64 | CONFIG_EPOLL=y |
| 65 | CONFIG_SIGNALFD=y | ||
| 66 | CONFIG_TIMERFD=y | ||
| 67 | CONFIG_EVENTFD=y | ||
| 65 | CONFIG_SHMEM=y | 68 | CONFIG_SHMEM=y |
| 66 | CONFIG_VM_EVENT_COUNTERS=y | 69 | CONFIG_VM_EVENT_COUNTERS=y |
| 67 | CONFIG_SLUB_DEBUG=y | ||
| 68 | CONFIG_SLAB=y | 70 | CONFIG_SLAB=y |
| 69 | # CONFIG_SLUB is not set | 71 | # CONFIG_SLUB is not set |
| 70 | # CONFIG_SLOB is not set | 72 | # CONFIG_SLOB is not set |
| 71 | CONFIG_RT_MUTEXES=y | 73 | CONFIG_RT_MUTEXES=y |
| 72 | # CONFIG_TINY_SHMEM is not set | 74 | # CONFIG_TINY_SHMEM is not set |
| 73 | CONFIG_BASE_SMALL=0 | 75 | CONFIG_BASE_SMALL=0 |
| 74 | |||
| 75 | # | ||
| 76 | # Loadable module support | ||
| 77 | # | ||
| 78 | CONFIG_MODULES=y | 76 | CONFIG_MODULES=y |
| 79 | CONFIG_MODULE_UNLOAD=y | 77 | CONFIG_MODULE_UNLOAD=y |
| 80 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 78 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
| @@ -82,12 +80,9 @@ CONFIG_MODVERSIONS=y | |||
| 82 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 80 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
| 83 | CONFIG_KMOD=y | 81 | CONFIG_KMOD=y |
| 84 | CONFIG_STOP_MACHINE=y | 82 | CONFIG_STOP_MACHINE=y |
| 85 | |||
| 86 | # | ||
| 87 | # Block layer | ||
| 88 | # | ||
| 89 | CONFIG_BLOCK=y | 83 | CONFIG_BLOCK=y |
| 90 | # CONFIG_BLK_DEV_IO_TRACE is not set | 84 | # CONFIG_BLK_DEV_IO_TRACE is not set |
| 85 | CONFIG_BLK_DEV_BSG=y | ||
| 91 | 86 | ||
| 92 | # | 87 | # |
| 93 | # IO Schedulers | 88 | # IO Schedulers |
| @@ -151,6 +146,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y | |||
| 151 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 146 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
| 152 | CONFIG_RESOURCES_64BIT=y | 147 | CONFIG_RESOURCES_64BIT=y |
| 153 | CONFIG_ZONE_DMA_FLAG=1 | 148 | CONFIG_ZONE_DMA_FLAG=1 |
| 149 | CONFIG_VIRT_TO_BUS=y | ||
| 154 | CONFIG_HOLES_IN_ZONE=y | 150 | CONFIG_HOLES_IN_ZONE=y |
| 155 | 151 | ||
| 156 | # | 152 | # |
| @@ -248,25 +244,13 @@ CONFIG_IPV6_SIT=y | |||
| 248 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 244 | # CONFIG_IPV6_MULTIPLE_TABLES is not set |
| 249 | # CONFIG_NETWORK_SECMARK is not set | 245 | # CONFIG_NETWORK_SECMARK is not set |
| 250 | # CONFIG_NETFILTER is not set | 246 | # CONFIG_NETFILTER is not set |
| 251 | |||
| 252 | # | ||
| 253 | # DCCP Configuration (EXPERIMENTAL) | ||
| 254 | # | ||
| 255 | # CONFIG_IP_DCCP is not set | 247 | # CONFIG_IP_DCCP is not set |
| 256 | |||
| 257 | # | ||
| 258 | # SCTP Configuration (EXPERIMENTAL) | ||
| 259 | # | ||
| 260 | CONFIG_IP_SCTP=m | 248 | CONFIG_IP_SCTP=m |
| 261 | # CONFIG_SCTP_DBG_MSG is not set | 249 | # CONFIG_SCTP_DBG_MSG is not set |
| 262 | # CONFIG_SCTP_DBG_OBJCNT is not set | 250 | # CONFIG_SCTP_DBG_OBJCNT is not set |
| 263 | # CONFIG_SCTP_HMAC_NONE is not set | 251 | # CONFIG_SCTP_HMAC_NONE is not set |
| 264 | # CONFIG_SCTP_HMAC_SHA1 is not set | 252 | # CONFIG_SCTP_HMAC_SHA1 is not set |
| 265 | CONFIG_SCTP_HMAC_MD5=y | 253 | CONFIG_SCTP_HMAC_MD5=y |
| 266 | |||
| 267 | # | ||
| 268 | # TIPC Configuration (EXPERIMENTAL) | ||
| 269 | # | ||
| 270 | # CONFIG_TIPC is not set | 254 | # CONFIG_TIPC is not set |
| 271 | # CONFIG_ATM is not set | 255 | # CONFIG_ATM is not set |
| 272 | # CONFIG_BRIDGE is not set | 256 | # CONFIG_BRIDGE is not set |
| @@ -293,6 +277,7 @@ CONFIG_NET_SCH_CBQ=m | |||
| 293 | # CONFIG_NET_SCH_HTB is not set | 277 | # CONFIG_NET_SCH_HTB is not set |
| 294 | # CONFIG_NET_SCH_HFSC is not set | 278 | # CONFIG_NET_SCH_HFSC is not set |
| 295 | CONFIG_NET_SCH_PRIO=m | 279 | CONFIG_NET_SCH_PRIO=m |
| 280 | CONFIG_NET_SCH_RR=m | ||
| 296 | CONFIG_NET_SCH_RED=m | 281 | CONFIG_NET_SCH_RED=m |
| 297 | CONFIG_NET_SCH_SFQ=m | 282 | CONFIG_NET_SCH_SFQ=m |
| 298 | CONFIG_NET_SCH_TEQL=m | 283 | CONFIG_NET_SCH_TEQL=m |
| @@ -317,10 +302,14 @@ CONFIG_CLS_U32_MARK=y | |||
| 317 | CONFIG_NET_CLS_RSVP=m | 302 | CONFIG_NET_CLS_RSVP=m |
| 318 | CONFIG_NET_CLS_RSVP6=m | 303 | CONFIG_NET_CLS_RSVP6=m |
| 319 | # CONFIG_NET_EMATCH is not set | 304 | # CONFIG_NET_EMATCH is not set |
| 320 | # CONFIG_NET_CLS_ACT is not set | 305 | CONFIG_NET_CLS_ACT=y |
| 306 | CONFIG_NET_ACT_POLICE=y | ||
| 307 | # CONFIG_NET_ACT_GACT is not set | ||
| 308 | # CONFIG_NET_ACT_MIRRED is not set | ||
| 309 | # CONFIG_NET_ACT_PEDIT is not set | ||
| 310 | # CONFIG_NET_ACT_SIMP is not set | ||
| 321 | CONFIG_NET_CLS_POLICE=y | 311 | CONFIG_NET_CLS_POLICE=y |
| 322 | # CONFIG_NET_CLS_IND is not set | 312 | # CONFIG_NET_CLS_IND is not set |
| 323 | CONFIG_NET_ESTIMATOR=y | ||
| 324 | 313 | ||
| 325 | # | 314 | # |
| 326 | # Network testing | 315 | # Network testing |
| @@ -329,6 +318,7 @@ CONFIG_NET_ESTIMATOR=y | |||
| 329 | # CONFIG_NET_TCPPROBE is not set | 318 | # CONFIG_NET_TCPPROBE is not set |
| 330 | # CONFIG_AF_RXRPC is not set | 319 | # CONFIG_AF_RXRPC is not set |
| 331 | # CONFIG_RFKILL is not set | 320 | # CONFIG_RFKILL is not set |
| 321 | # CONFIG_NET_9P is not set | ||
| 332 | # CONFIG_PCMCIA is not set | 322 | # CONFIG_PCMCIA is not set |
| 333 | CONFIG_CCW=y | 323 | CONFIG_CCW=y |
| 334 | 324 | ||
| @@ -345,15 +335,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
| 345 | # CONFIG_DEBUG_DRIVER is not set | 335 | # CONFIG_DEBUG_DRIVER is not set |
| 346 | # CONFIG_DEBUG_DEVRES is not set | 336 | # CONFIG_DEBUG_DEVRES is not set |
| 347 | CONFIG_SYS_HYPERVISOR=y | 337 | CONFIG_SYS_HYPERVISOR=y |
| 348 | |||
| 349 | # | ||
| 350 | # Connector - unified userspace <-> kernelspace linker | ||
| 351 | # | ||
| 352 | # CONFIG_CONNECTOR is not set | 338 | # CONFIG_CONNECTOR is not set |
| 353 | 339 | CONFIG_BLK_DEV=y | |
| 354 | # | ||
| 355 | # Block devices | ||
| 356 | # | ||
| 357 | # CONFIG_BLK_DEV_COW_COMMON is not set | 340 | # CONFIG_BLK_DEV_COW_COMMON is not set |
| 358 | CONFIG_BLK_DEV_LOOP=m | 341 | CONFIG_BLK_DEV_LOOP=m |
| 359 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 342 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
| @@ -376,17 +359,15 @@ CONFIG_DASD_ECKD=y | |||
| 376 | CONFIG_DASD_FBA=y | 359 | CONFIG_DASD_FBA=y |
| 377 | CONFIG_DASD_DIAG=y | 360 | CONFIG_DASD_DIAG=y |
| 378 | CONFIG_DASD_EER=y | 361 | CONFIG_DASD_EER=y |
| 379 | 362 | CONFIG_MISC_DEVICES=y | |
| 380 | # | 363 | # CONFIG_EEPROM_93CX6 is not set |
| 381 | # Misc devices | ||
| 382 | # | ||
| 383 | # CONFIG_BLINK is not set | ||
| 384 | 364 | ||
| 385 | # | 365 | # |
| 386 | # SCSI device support | 366 | # SCSI device support |
| 387 | # | 367 | # |
| 388 | # CONFIG_RAID_ATTRS is not set | 368 | # CONFIG_RAID_ATTRS is not set |
| 389 | CONFIG_SCSI=y | 369 | CONFIG_SCSI=y |
| 370 | # CONFIG_SCSI_DMA is not set | ||
| 390 | # CONFIG_SCSI_TGT is not set | 371 | # CONFIG_SCSI_TGT is not set |
| 391 | CONFIG_SCSI_NETLINK=y | 372 | CONFIG_SCSI_NETLINK=y |
| 392 | CONFIG_SCSI_PROC_FS=y | 373 | CONFIG_SCSI_PROC_FS=y |
| @@ -447,40 +428,21 @@ CONFIG_DM_MIRROR=y | |||
| 447 | CONFIG_DM_ZERO=y | 428 | CONFIG_DM_ZERO=y |
| 448 | CONFIG_DM_MULTIPATH=y | 429 | CONFIG_DM_MULTIPATH=y |
| 449 | # CONFIG_DM_MULTIPATH_EMC is not set | 430 | # CONFIG_DM_MULTIPATH_EMC is not set |
| 431 | # CONFIG_DM_MULTIPATH_RDAC is not set | ||
| 450 | # CONFIG_DM_DELAY is not set | 432 | # CONFIG_DM_DELAY is not set |
| 451 | |||
| 452 | # | ||
| 453 | # Network device support | ||
| 454 | # | ||
| 455 | CONFIG_NETDEVICES=y | 433 | CONFIG_NETDEVICES=y |
| 434 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
| 435 | # CONFIG_IFB is not set | ||
| 456 | CONFIG_DUMMY=m | 436 | CONFIG_DUMMY=m |
| 457 | CONFIG_BONDING=m | 437 | CONFIG_BONDING=m |
| 438 | # CONFIG_MACVLAN is not set | ||
| 458 | CONFIG_EQUALIZER=m | 439 | CONFIG_EQUALIZER=m |
| 459 | CONFIG_TUN=m | 440 | CONFIG_TUN=m |
| 460 | |||
| 461 | # | ||
| 462 | # Ethernet (10 or 100Mbit) | ||
| 463 | # | ||
| 464 | CONFIG_NET_ETHERNET=y | 441 | CONFIG_NET_ETHERNET=y |
| 465 | # CONFIG_MII is not set | 442 | # CONFIG_MII is not set |
| 466 | 443 | CONFIG_NETDEV_1000=y | |
| 467 | # | 444 | CONFIG_NETDEV_10000=y |
| 468 | # Ethernet (1000 Mbit) | ||
| 469 | # | ||
| 470 | |||
| 471 | # | ||
| 472 | # Ethernet (10000 Mbit) | ||
| 473 | # | ||
| 474 | CONFIG_MLX4_DEBUG=y | ||
| 475 | |||
| 476 | # | ||
| 477 | # Token Ring devices | ||
| 478 | # | ||
| 479 | # CONFIG_TR is not set | 445 | # CONFIG_TR is not set |
| 480 | |||
| 481 | # | ||
| 482 | # Wan interfaces | ||
| 483 | # | ||
| 484 | # CONFIG_WAN is not set | 446 | # CONFIG_WAN is not set |
| 485 | 447 | ||
| 486 | # | 448 | # |
| @@ -511,10 +473,6 @@ CONFIG_CCWGROUP=y | |||
| 511 | CONFIG_UNIX98_PTYS=y | 473 | CONFIG_UNIX98_PTYS=y |
| 512 | CONFIG_LEGACY_PTYS=y | 474 | CONFIG_LEGACY_PTYS=y |
| 513 | CONFIG_LEGACY_PTY_COUNT=256 | 475 | CONFIG_LEGACY_PTY_COUNT=256 |
| 514 | |||
| 515 | # | ||
| 516 | # Watchdog Cards | ||
| 517 | # | ||
| 518 | # CONFIG_WATCHDOG is not set | 476 | # CONFIG_WATCHDOG is not set |
| 519 | CONFIG_HW_RANDOM=m | 477 | CONFIG_HW_RANDOM=m |
| 520 | # CONFIG_R3964 is not set | 478 | # CONFIG_R3964 is not set |
| @@ -554,6 +512,8 @@ CONFIG_S390_TAPE_34XX=m | |||
| 554 | # CONFIG_VMCP is not set | 512 | # CONFIG_VMCP is not set |
| 555 | # CONFIG_MONREADER is not set | 513 | # CONFIG_MONREADER is not set |
| 556 | CONFIG_MONWRITER=m | 514 | CONFIG_MONWRITER=m |
| 515 | CONFIG_S390_VMUR=m | ||
| 516 | # CONFIG_POWER_SUPPLY is not set | ||
| 557 | 517 | ||
| 558 | # | 518 | # |
| 559 | # File systems | 519 | # File systems |
| @@ -655,7 +615,6 @@ CONFIG_SUNRPC=y | |||
| 655 | # CONFIG_NCP_FS is not set | 615 | # CONFIG_NCP_FS is not set |
| 656 | # CONFIG_CODA_FS is not set | 616 | # CONFIG_CODA_FS is not set |
| 657 | # CONFIG_AFS_FS is not set | 617 | # CONFIG_AFS_FS is not set |
| 658 | # CONFIG_9P_FS is not set | ||
| 659 | 618 | ||
| 660 | # | 619 | # |
| 661 | # Partition Types | 620 | # Partition Types |
| @@ -712,6 +671,7 @@ CONFIG_MAGIC_SYSRQ=y | |||
| 712 | CONFIG_DEBUG_FS=y | 671 | CONFIG_DEBUG_FS=y |
| 713 | CONFIG_HEADERS_CHECK=y | 672 | CONFIG_HEADERS_CHECK=y |
| 714 | CONFIG_DEBUG_KERNEL=y | 673 | CONFIG_DEBUG_KERNEL=y |
| 674 | # CONFIG_SCHED_DEBUG is not set | ||
| 715 | # CONFIG_SCHEDSTATS is not set | 675 | # CONFIG_SCHEDSTATS is not set |
| 716 | # CONFIG_TIMER_STATS is not set | 676 | # CONFIG_TIMER_STATS is not set |
| 717 | # CONFIG_DEBUG_SLAB is not set | 677 | # CONFIG_DEBUG_SLAB is not set |
| @@ -740,10 +700,6 @@ CONFIG_FORCED_INLINING=y | |||
| 740 | # | 700 | # |
| 741 | # CONFIG_KEYS is not set | 701 | # CONFIG_KEYS is not set |
| 742 | # CONFIG_SECURITY is not set | 702 | # CONFIG_SECURITY is not set |
| 743 | |||
| 744 | # | ||
| 745 | # Cryptographic options | ||
| 746 | # | ||
| 747 | CONFIG_CRYPTO=y | 703 | CONFIG_CRYPTO=y |
| 748 | CONFIG_CRYPTO_ALGAPI=y | 704 | CONFIG_CRYPTO_ALGAPI=y |
| 749 | CONFIG_CRYPTO_BLKCIPHER=y | 705 | CONFIG_CRYPTO_BLKCIPHER=y |
| @@ -782,10 +738,7 @@ CONFIG_CRYPTO_FCRYPT=m | |||
| 782 | # CONFIG_CRYPTO_CRC32C is not set | 738 | # CONFIG_CRYPTO_CRC32C is not set |
| 783 | CONFIG_CRYPTO_CAMELLIA=m | 739 | CONFIG_CRYPTO_CAMELLIA=m |
| 784 | # CONFIG_CRYPTO_TEST is not set | 740 | # CONFIG_CRYPTO_TEST is not set |
| 785 | 741 | CONFIG_CRYPTO_HW=y | |
| 786 | # | ||
| 787 | # Hardware crypto devices | ||
| 788 | # | ||
| 789 | # CONFIG_CRYPTO_SHA1_S390 is not set | 742 | # CONFIG_CRYPTO_SHA1_S390 is not set |
| 790 | # CONFIG_CRYPTO_SHA256_S390 is not set | 743 | # CONFIG_CRYPTO_SHA256_S390 is not set |
| 791 | # CONFIG_CRYPTO_DES_S390 is not set | 744 | # CONFIG_CRYPTO_DES_S390 is not set |
| @@ -800,6 +753,7 @@ CONFIG_ZCRYPT=m | |||
| 800 | CONFIG_BITREVERSE=m | 753 | CONFIG_BITREVERSE=m |
| 801 | # CONFIG_CRC_CCITT is not set | 754 | # CONFIG_CRC_CCITT is not set |
| 802 | # CONFIG_CRC16 is not set | 755 | # CONFIG_CRC16 is not set |
| 756 | # CONFIG_CRC_ITU_T is not set | ||
| 803 | CONFIG_CRC32=m | 757 | CONFIG_CRC32=m |
| 804 | # CONFIG_LIBCRC32C is not set | 758 | # CONFIG_LIBCRC32C is not set |
| 805 | CONFIG_PLIST=y | 759 | CONFIG_PLIST=y |
diff --git a/arch/s390/kernel/dis.c b/arch/s390/kernel/dis.c index a057ebf108a7..d3057318f2bf 100644 --- a/arch/s390/kernel/dis.c +++ b/arch/s390/kernel/dis.c | |||
| @@ -240,8 +240,8 @@ static const unsigned char formats[][7] = { | |||
| 240 | [INSTR_RXY_FRRD] = { 0xff, F_8,D20_20,X_12,B_16,0,0 },/* e.g. ley */ | 240 | [INSTR_RXY_FRRD] = { 0xff, F_8,D20_20,X_12,B_16,0,0 },/* e.g. ley */ |
| 241 | [INSTR_RX_FRRD] = { 0xff, F_8,D_20,X_12,B_16,0,0 }, /* e.g. ae */ | 241 | [INSTR_RX_FRRD] = { 0xff, F_8,D_20,X_12,B_16,0,0 }, /* e.g. ae */ |
| 242 | [INSTR_RX_RRRD] = { 0xff, R_8,D_20,X_12,B_16,0,0 }, /* e.g. l */ | 242 | [INSTR_RX_RRRD] = { 0xff, R_8,D_20,X_12,B_16,0,0 }, /* e.g. l */ |
| 243 | [INSTR_RX_URRD] = { 0x00, U4_8,D_20,X_12,B_16,0,0 }, /* e.g. bc */ | 243 | [INSTR_RX_URRD] = { 0xff, U4_8,D_20,X_12,B_16,0,0 }, /* e.g. bc */ |
| 244 | [INSTR_SI_URD] = { 0x00, D_20,B_16,U8_8,0,0,0 }, /* e.g. cli */ | 244 | [INSTR_SI_URD] = { 0xff, D_20,B_16,U8_8,0,0,0 }, /* e.g. cli */ |
| 245 | [INSTR_SIY_URD] = { 0xff, D20_20,B_16,U8_8,0,0,0 }, /* e.g. tmy */ | 245 | [INSTR_SIY_URD] = { 0xff, D20_20,B_16,U8_8,0,0,0 }, /* e.g. tmy */ |
| 246 | [INSTR_SSE_RDRD] = { 0xff, D_20,B_16,D_36,B_32,0,0 }, /* e.g. mvsdk */ | 246 | [INSTR_SSE_RDRD] = { 0xff, D_20,B_16,D_36,B_32,0,0 }, /* e.g. mvsdk */ |
| 247 | [INSTR_SS_L0RDRD] = { 0xff, D_20,L8_8,B_16,D_36,B_32,0 }, | 247 | [INSTR_SS_L0RDRD] = { 0xff, D_20,L8_8,B_16,D_36,B_32,0 }, |
| @@ -1190,7 +1190,8 @@ static int print_insn(char *buffer, unsigned char *code, unsigned long addr) | |||
| 1190 | else if (operand->flags & OPERAND_CR) | 1190 | else if (operand->flags & OPERAND_CR) |
| 1191 | ptr += sprintf(ptr, "%%c%i", value); | 1191 | ptr += sprintf(ptr, "%%c%i", value); |
| 1192 | else if (operand->flags & OPERAND_PCREL) | 1192 | else if (operand->flags & OPERAND_PCREL) |
| 1193 | ptr += sprintf(ptr, "%lx", value + addr); | 1193 | ptr += sprintf(ptr, "%lx", (signed int) value |
| 1194 | + addr); | ||
| 1194 | else if (operand->flags & OPERAND_SIGNED) | 1195 | else if (operand->flags & OPERAND_SIGNED) |
| 1195 | ptr += sprintf(ptr, "%i", value); | 1196 | ptr += sprintf(ptr, "%i", value); |
| 1196 | else | 1197 | else |
diff --git a/arch/s390/kernel/stacktrace.c b/arch/s390/kernel/stacktrace.c index 515ff9011dd7..da6924729964 100644 --- a/arch/s390/kernel/stacktrace.c +++ b/arch/s390/kernel/stacktrace.c | |||
| @@ -12,7 +12,6 @@ | |||
| 12 | #include <linux/kallsyms.h> | 12 | #include <linux/kallsyms.h> |
| 13 | 13 | ||
| 14 | static unsigned long save_context_stack(struct stack_trace *trace, | 14 | static unsigned long save_context_stack(struct stack_trace *trace, |
| 15 | unsigned int *skip, | ||
| 16 | unsigned long sp, | 15 | unsigned long sp, |
| 17 | unsigned long low, | 16 | unsigned long low, |
| 18 | unsigned long high) | 17 | unsigned long high) |
| @@ -28,10 +27,10 @@ static unsigned long save_context_stack(struct stack_trace *trace, | |||
| 28 | sf = (struct stack_frame *)sp; | 27 | sf = (struct stack_frame *)sp; |
| 29 | while(1) { | 28 | while(1) { |
| 30 | addr = sf->gprs[8] & PSW_ADDR_INSN; | 29 | addr = sf->gprs[8] & PSW_ADDR_INSN; |
| 31 | if (!(*skip)) | 30 | if (!trace->skip) |
| 32 | trace->entries[trace->nr_entries++] = addr; | 31 | trace->entries[trace->nr_entries++] = addr; |
| 33 | else | 32 | else |
| 34 | (*skip)--; | 33 | trace->skip--; |
| 35 | if (trace->nr_entries >= trace->max_entries) | 34 | if (trace->nr_entries >= trace->max_entries) |
| 36 | return sp; | 35 | return sp; |
| 37 | low = sp; | 36 | low = sp; |
| @@ -48,10 +47,10 @@ static unsigned long save_context_stack(struct stack_trace *trace, | |||
| 48 | return sp; | 47 | return sp; |
| 49 | regs = (struct pt_regs *)sp; | 48 | regs = (struct pt_regs *)sp; |
| 50 | addr = regs->psw.addr & PSW_ADDR_INSN; | 49 | addr = regs->psw.addr & PSW_ADDR_INSN; |
| 51 | if (!(*skip)) | 50 | if (!trace->skip) |
| 52 | trace->entries[trace->nr_entries++] = addr; | 51 | trace->entries[trace->nr_entries++] = addr; |
| 53 | else | 52 | else |
| 54 | (*skip)--; | 53 | trace->skip--; |
| 55 | if (trace->nr_entries >= trace->max_entries) | 54 | if (trace->nr_entries >= trace->max_entries) |
| 56 | return sp; | 55 | return sp; |
| 57 | low = sp; | 56 | low = sp; |
| @@ -65,20 +64,17 @@ void save_stack_trace(struct stack_trace *trace) | |||
| 65 | unsigned long orig_sp, new_sp; | 64 | unsigned long orig_sp, new_sp; |
| 66 | 65 | ||
| 67 | orig_sp = sp & PSW_ADDR_INSN; | 66 | orig_sp = sp & PSW_ADDR_INSN; |
| 68 | 67 | new_sp = save_context_stack(trace, orig_sp, | |
| 69 | new_sp = save_context_stack(trace, &trace->skip, orig_sp, | 68 | S390_lowcore.panic_stack - PAGE_SIZE, |
| 70 | S390_lowcore.panic_stack - PAGE_SIZE, | 69 | S390_lowcore.panic_stack); |
| 71 | S390_lowcore.panic_stack); | ||
| 72 | if (new_sp != orig_sp) | 70 | if (new_sp != orig_sp) |
| 73 | return; | 71 | return; |
| 74 | new_sp = save_context_stack(trace, &trace->skip, new_sp, | 72 | new_sp = save_context_stack(trace, new_sp, |
| 75 | S390_lowcore.async_stack - ASYNC_SIZE, | 73 | S390_lowcore.async_stack - ASYNC_SIZE, |
| 76 | S390_lowcore.async_stack); | 74 | S390_lowcore.async_stack); |
| 77 | if (new_sp != orig_sp) | 75 | if (new_sp != orig_sp) |
| 78 | return; | 76 | return; |
| 79 | 77 | save_context_stack(trace, new_sp, | |
| 80 | save_context_stack(trace, &trace->skip, new_sp, | ||
| 81 | S390_lowcore.thread_info, | 78 | S390_lowcore.thread_info, |
| 82 | S390_lowcore.thread_info + THREAD_SIZE); | 79 | S390_lowcore.thread_info + THREAD_SIZE); |
| 83 | return; | ||
| 84 | } | 80 | } |
