)]}'
{
  "log": [
    {
      "commit": "ab14de6c37fae22911ba99f4171613e6d758050b",
      "tree": "7545169fe9d64a82616ae37f2b6c1a420c77f30f",
      "parents": [
        "31ee4b2f40994e8b21691f85cdd4052551a789b7"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Feb 05 21:18:37 2007 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Feb 05 21:18:37 2007 +0100"
      },
      "message": "[S390] Convert memory detection into C code.\n\nHopefully this will make it more maintainable and less error prone.\nCode makes use of search_exception_tables(). Since it calls this\nfunction before the kernel exeception table is sorted, there is an\nearly call to sort_main_extable().\n\nThis way it\u0027s easy to use the already present infrastructure of fixup\nsections. Also this would allows to easily convert the rest of\nhead[31|64].S into C code.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "a45e14148fb34175cba042df8979e7982758635f",
      "tree": "10add976d1291f4172e95aea60e2c44594b9813d",
      "parents": [
        "b3c14d0bfd1739b930f26df90552a4d8cdcca0a6"
      ],
      "author": {
        "name": "Michael Holzheu",
        "email": "holzheu@de.ibm.com",
        "time": "Fri Dec 15 17:18:22 2006 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Dec 15 17:18:22 2006 +0100"
      },
      "message": "[S390] Fix reboot hang on LPARs\n\nReboot hangs on LPARs without diag308 support. The reason for this is,\nthat before the reboot is done, the channel subsystem is shut down.\nDuring the reset on each possible subchannel a \"store subchannel\" is\ndone. This operation can end in a program check interruption, if the\nspecified subchannel set is not implemented by the hardware. During\nthe reset, currently we do not have a program check handler, which\nleads to the described kernel bug. We install now a new program check\nhandler for the reboot code to fix this problem.\n\nSigned-off-by: Michael Holzheu \u003cholzheu@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "15e9b586e0bd3692e2a21c5be178810d9d32214e",
      "tree": "8bcf2c9b3780281c9562eab965e3ca6ba64e5bc0",
      "parents": [
        "2254f5a7779452395e37ea2f7d6e1a550d34e678"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Dec 04 15:40:26 2006 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Dec 04 15:40:26 2006 +0100"
      },
      "message": "[S390] Reset infrastructure for re-IPL.\n\nIn case of re-IPL and diag308 doesn\u0027t work we have to reset all devices\nmanually and wait synchronously that each reset finished.\nThis patch adds the necessary infrastucture and the first exploiter of it.\n\nSubsystems that need to add a function that needs to be called at re-IPL\nmay register/unregister this function via\n\nstruct reset_call {\n\tstruct reset_call *next;\n\tvoid (*fn)(void);\n};\n\nvoid register_reset_call(struct reset_call *reset);\nvoid unregister_reset_call(struct reset_call *reset);\n\nWhen the registered function get called the context is:\n\n- all cpus beside the current one are stopped\n- all machine checks and interrupts are disabled\n- prefixing is disabled\n- a default machine check handler is available for use\n\nThe registered functions may not take any locks are sleep.\n\nFor the common I/O layer part of this patch:\n\nIntroduce a reset_call css_reset that does the following:\n- clear all subchannels\n- perform a rchp on all channel paths and wait for the resulting\n  machine checks\nThis replaces the calls to clear_all_subchannels() and\ncio_reset_channel_paths() for kexec and ccw reipl. reipl_ccw_dev() now\nuses reipl_find_schid() to determine the subchannel id for a given\ndevice id.\nAlso remove cio_reset_channel_paths() and friends since they are not\nneeded anymore.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    }
  ]
}
