<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hi All,<br>
      <br>
      Thanks a lot for your effort to solve the boot problems.
      Unfortunately, this patch doesn't work for the Nemo board. I need
      the patch created by Olof Johansson.<br>
      <br>
      diff -rupN linux-3.13/arch/powerpc/kernel/head_64.S
      linux-3.13-nemo/arch/powerpc/kernel/head_64.S<br>
      --- linux-3.13/arch/powerpc/kernel/head_64.S    2014-01-05
      00:12:14.000000000 +0100<br>
      +++ linux-3.13-nemo/arch/powerpc/kernel/head_64.S    2014-01-05
      23:06:13.001618802 +0100<br>
      @@ -69,6 +69,13 @@ _GLOBAL(__start)<br>
           /* NOP this out unconditionally */<br>
       BEGIN_FTR_SECTION<br>
           FIXUP_ENDIAN<br>
      +/* Hack for PWRficient platforms: Due to CFE(?) bug, the 64-bit<br>
      + * word at 0x8 needs to be set to 0. Patch it up here once we're<br>
      + * done executing it (we can be lazy and avoid invalidating<br>
      + * icache)<br>
      + */<br>
      +li    r0,0<br>
      +std    0,8(0)        <br>
           b    .__start_initialization_multiplatform<br>
       END_FTR_SECTION(0, 1)<br>
       <br>
      Is it possible to integrate Olof's patch into the kernel sources?<br>
      <br>
      All the best,<br>
      <br>
      Christian<br>
      <br>
      Am 15.01.14 21:01, schrieb Christian Zigotzky:<br>
    </div>
    <blockquote cite="mid:52D6E928.7050307@xenosoft.de" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <meta http-equiv="content-type" content="text/html;
        charset=ISO-8859-1">
      <table summary="commit info" class="commit-info">
        <tbody>
          <tr>
            <th>author</th>
            <td>Linus Torvalds <a moz-do-not-send="true"
                class="moz-txt-link-rfc2396E"
                href="mailto:torvalds@linux-foundation.org"><torvalds@linux-foundation.org></a></td>
            <td class="right">2014-01-13 03:59:05 (GMT)</td>
          </tr>
          <tr>
            <th>committer</th>
            <td> Linus Torvalds <a moz-do-not-send="true"
                class="moz-txt-link-rfc2396E"
                href="mailto:torvalds@linux-foundation.org"><torvalds@linux-foundation.org></a></td>
            <td class="right">2014-01-13 03:59:05 (GMT)</td>
          </tr>
          <tr>
            <th>commit</th>
            <td colspan="2" class="sha1"><a moz-do-not-send="true"
href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=a6da83f98267bc8ee4e34aa899169991eb0ceb93">a6da83f98267bc8ee4e34aa899169991eb0ceb93</a>
              (<a moz-do-not-send="true"
href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/patch/?id=a6da83f98267bc8ee4e34aa899169991eb0ceb93">patch</a>)</td>
          </tr>
          <tr>
            <th>tree</th>
            <td colspan="2" class="sha1"><a moz-do-not-send="true"
href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/?id=a6da83f98267bc8ee4e34aa899169991eb0ceb93">84c228e0a87475dbdb0f72621c137cce8253131b</a></td>
          </tr>
          <tr>
            <th>parent</th>
            <td colspan="2" class="sha1"><a moz-do-not-send="true"
href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=061f49ec2d722f485237870f04544d8bec15a778">061f49ec2d722f485237870f04544d8bec15a778</a>
              (<a moz-do-not-send="true"
href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/diff/?id=a6da83f98267bc8ee4e34aa899169991eb0ceb93&id2=061f49ec2d722f485237870f04544d8bec15a778">diff</a>)</td>
          </tr>
          <tr>
            <th>parent</th>
            <td colspan="2" class="sha1"><a moz-do-not-send="true"
href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=10348f5976830e5d8f74e8abb04a9a057a5e8478">10348f5976830e5d8f74e8abb04a9a057a5e8478</a>
              (<a moz-do-not-send="true"
href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/diff/?id=a6da83f98267bc8ee4e34aa899169991eb0ceb93&id2=10348f5976830e5d8f74e8abb04a9a057a5e8478">diff</a>)</td>
          </tr>
        </tbody>
      </table>
      <div class="commit-subject">Merge branch 'merge' of
        git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc<span
          class="decoration"></span></div>
      <div class="commit-msg">Pull powerpc fix from Ben Herrenschmidt:
        "Here's one regression fix for 3.13 that I would appreciate if
        you could still pull in. It was an "interesting" one to debug,
        basically it's an old bug that got somewhat "exposed" by new
        code breaking the boot on PA Semi boards (yes, it does appear
        that some people are still using these!)" * 'merge' of
        git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc: Check return value of instance-to-package OF call </div>
      <div class="diffstat-header"><a moz-do-not-send="true"
href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/diff/?id=a6da83f98267bc8ee4e34aa899169991eb0ceb93">Diffstat</a></div>
      <table summary="diffstat" class="diffstat">
        <tbody>
          <tr>
            <td class="mode">-rw-r--r--</td>
            <td class="upd"><a moz-do-not-send="true"
href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/diff/arch/powerpc/kernel/prom_init.c?id=a6da83f98267bc8ee4e34aa899169991eb0ceb93">arch/powerpc/kernel/prom_init.c</a></td>
            <td class="right">22</td>
            <td class="graph">
              <table summary="file diffstat" width="22%">
                <tbody>
                  <tr>
                    <td class="add" style="width: 59.1%;"><br>
                    </td>
                    <td class="rem" style="width: 40.9%;"><br>
                    </td>
                    <td class="none" style="width: 0.0%;"><br>
                    </td>
                  </tr>
                </tbody>
              </table>
            </td>
          </tr>
        </tbody>
      </table>
      <div class="diffstat-summary">1 files changed, 13 insertions, 9
        deletions</div>
      <table summary="diff" class="diff">
        <tbody>
          <tr>
            <td>
              <div class="head">diff --git
                a/arch/powerpc/kernel/prom_init.c
                b/arch/powerpc/kernel/prom_init.c<br>
                index cb64a6e..078145a 100644<br>
                --- a/<a moz-do-not-send="true"
href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/kernel/prom_init.c?id=061f49ec2d722f485237870f04544d8bec15a778">arch/powerpc/kernel/prom_init.c</a><br>
                +++ b/<a moz-do-not-send="true"
href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/kernel/prom_init.c?id=a6da83f98267bc8ee4e34aa899169991eb0ceb93">arch/powerpc/kernel/prom_init.c</a></div>
              <div class="hunk">@@ -1986,19 +1986,23 @@ static void
                __init prom_init_stdout(void)</div>
              <div class="ctx"> /* Get the full OF pathname of the
                stdout device */</div>
              <div class="ctx"> memset(path, 0, 256);</div>
              <div class="ctx"> call_prom("instance-to-path", 3, 1,
                prom.stdout, path, 255);</div>
              <div class="del">- stdout_node =
                call_prom("instance-to-package", 1, 1, prom.stdout);</div>
              <div class="del">- val = cpu_to_be32(stdout_node);</div>
              <div class="del">- prom_setprop(prom.chosen, "/chosen",
                "linux,stdout-package",</div>
              <div class="del">- &val, sizeof(val));</div>
              <div class="ctx"> prom_printf("OF stdout device is: %s\n",
                of_stdout_device);</div>
              <div class="ctx"> prom_setprop(prom.chosen, "/chosen",
                "linux,stdout-path",</div>
              <div class="ctx"> path, strlen(path) + 1);</div>
              <div class="ctx"> </div>
              <div class="del">- /* If it's a display, note it */</div>
              <div class="del">- memset(type, 0, sizeof(type));</div>
              <div class="del">- prom_getprop(stdout_node,
                "device_type", type, sizeof(type));</div>
              <div class="del">- if (strcmp(type, "display") == 0)</div>
              <div class="del">- prom_setprop(stdout_node, path,
                "linux,boot-display", NULL, 0);</div>
              <div class="add">+ /* instance-to-package fails on PA-Semi
                */</div>
              <div class="add">+ stdout_node =
                call_prom("instance-to-package", 1, 1, prom.stdout);</div>
              <div class="add">+ if (stdout_node != PROM_ERROR) {</div>
              <div class="add">+ val = cpu_to_be32(stdout_node);</div>
              <div class="add">+ prom_setprop(prom.chosen, "/chosen",
                "linux,stdout-package",</div>
              <div class="add">+ &val, sizeof(val));</div>
              <div class="add">+</div>
              <div class="add">+ /* If it's a display, note it */</div>
              <div class="add">+ memset(type, 0, sizeof(type));</div>
              <div class="add">+ prom_getprop(stdout_node,
                "device_type", type, sizeof(type));</div>
              <div class="add">+ if (strcmp(type, "display") == 0)</div>
              <div class="add">+ prom_setprop(stdout_node, path,
                "linux,boot-display", NULL, 0);</div>
              <div class="add">+ }</div>
              <div class="ctx"> }</div>
              <div class="ctx"> </div>
              <div class="ctx"> static int __init
                prom_find_machine_type(void)</div>
            </td>
          </tr>
        </tbody>
      </table>
    </blockquote>
    <br>
  </body>
</html>