<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Hi Bob,<br>
      Looks like there's a problem with the name spaces. Instead of
      being comprised by 'Arm', 'Genode' should be a top-level name
      space as well as 'Kernel'. I think it would be a good idea to
      investigate why the 'Arm' prefix is active at all at
      'double_list.h:95'.<br>
      <br>
      Martin<br>
      <br>
      On 17.08.2014 18:57, Bob Stewart wrote:<br>
    </div>
    <blockquote cite="mid:53F0DF12.3040105@...196..." type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <div class="moz-cite-prefix">Hi Martin,<br>
            Been out-of-town for the past few days.<br>
        <br>
        I understand the changes due to issue 1199 and I did create the
        core library make file (in base-hw/lib/mk/platform_bbb) for the
        platform I'm working with before I left. Everything built ok
        until it got to <i>cpu_session_component.c</i> in the core
        library build section where multiple errors occurred. The
        following error would indicate I'm missing something
        fundamental:<br>
        <br>
        In file included from
/Work/Genode/genode-14.05/repos/base-hw/src/core/kernel/scheduler.h:19:0,<br>
                         from
        /Work/Genode/genode-14.05/repos/base-hw/src/core/kernel/processor.h:21,<br>
                         from
        /Work/Genode/genode-14.05/repos/base-hw/src/core/kernel/thread.h:21,<br>
                         from
/Work/Genode/genode-14.05/repos/base-hw/src/core/include/platform_thread.h:29,<br>
                         from
/Work/Genode/genode-14.05/repos/base/src/core/include/cpu_session_component.h:27,<br>
                         from
/Work/Genode/genode-14.05/repos/base/src/core/cpu_session_component.cc:21:<br>
        /Work/Genode/genode-14.05/repos/base-hw/src/core/kernel/double_list.h:

        In member function ���void
Arm::Kernel::Double_list<T>::insert_tail(Arm::Kernel::Double_list<T>::Item*)���:<br>
        /Work/Genode/genode-14.05/repos/base-hw/src/core/kernel/double_list.h:95:4:

        error: ���printf��� is not a member of ���Arm::Genode���<br>
        <br>
        <br>
        Regarding the page fault in the ROM fs  initialization, I did
        not isolate the route cause -- it appeared to be getting a low
        address of 0x1000 and try to create a translation table entry
        with that. I thought I saw some changes in the ROM area in the
        pull, so I was going to get a clean build and then try again.<br>
        <br>
            Bob<br>
        <br>
        <br>
        On 08/13/2014 05:12 AM, Martin Stein wrote:<br>
      </div>
      <blockquote cite="mid:53EB2C18.7090008@...1..."
        type="cite">
        <meta content="text/html; charset=ISO-8859-1"
          http-equiv="Content-Type">
        <div class="moz-cite-prefix">Hey Bob,<br>
          <br>
          The changes you're talking about originate from this issue: <a
            moz-do-not-send="true" class="moz-txt-link-freetext"
            href="https://github.com/genodelabs/genode/issues/1199">https://github.com/genodelabs/genode/issues/1199</a>.
          Core now consists of a generic 'base-hw/src/core/target.mk'
          that solely defines the target name and a dependency to the
          library 'core'. All the other content that core is composed of
          resides in the variant 'core.mk' and 'core.inc'
          library-description files within 'base-hw/lib/mk' and its
          sub-directories (respectively 'core-*.mk' and 'core-*.inc' for
          libraries that are additions to the core library).<br>
          At the one hand these changes reduce redundancy and LOC count
          as hardware-specifics were split up more fine-grained when
          transfered into libraries, at the other hand we unified the
          scheme of handling orthogonal specifiers (see for example the
          core-trustzone* files that provide optional trustzone support
          for different platform specifiers). Apart from that, the
          commits didn't change that much regarding the substance of
          core.<br>
          I hope this short insight helps you applying your changes to
          the current state. If you have further questions on this don't
          hesitate to ask.<br>
          <br>
          Regarding the page fault: Does that mean that you were able to
          fix the fault?<br>
          <br>
          Cheers<br>
          Martin<br>
          <br>
          On 12.08.2014 23:41, Bob Stewart wrote:<br>
        </div>
        <blockquote cite="mid:53EA8A21.1040809@...196..." type="cite">
          <meta content="text/html; charset=ISO-8859-1"
            http-equiv="Content-Type">
          <div class="moz-cite-prefix">Martin,<br>
                Have not been able to build with the pull from the
            master branch. Looks like there are changes to base-hw build
            that I've not seen before.   The platform target.mk file now
            appear in a repos//base-hw/lib/mk/ directory as core.mk. Is
            there documentation on the changes? I searched the git
            repository but couldn't find any.<br>
            <br>
            <br>
            The mmu faulting address was coming from the creation of
            Rom_modules in the ROM fs.<br>
            <br>
            Thanks,<br>
                    Bob<br>
            <br>
            On 08/11/2014 09:03 AM, Bob Stewart wrote:<br>
          </div>
          <blockquote cite="mid:53E8BF22.5070805@...196..."
            type="cite">
            <meta content="text/html; charset=ISO-8859-1"
              http-equiv="Content-Type">
            <div class="moz-cite-prefix"><br>
              Thanks for the quick reply, Martin.<br>
              <br>
              I'll pull the current master branch tomorrow and let you
              know if it fixes my issue.<br>
              <br>
              Thanks for the debugging tip on core faults. <br>
              My core-only mmio regions are the same as they were in
              14.02 and unless the handling of the region has changed I
              should have the correct translation table entries. My PDBG
              output from the _mmu_exception method was:<br>
              <br>
              <i>void Kernel::Thread::_mmu_exception(): f_addr 0x1008
                f_writes 0x1 f_pd 0x813d6004 f_signal 0x0 label core</i><i><br>
              </i><br>
              Looks like I've a problem with the fault address, so I'll
              keep digging to see where that is coming from.<br>
              <br>
              Thanks,<br>
                      Bob<br>
              On 08/11/2014 07:54 AM, Martin Stein wrote:<br>
            </div>
            <blockquote cite="mid:53E8AEDC.5080800@...1..."
              type="cite">
              <pre wrap="">Hi Bob,

On 09.08.2014 22:21, Bob Stewart wrote:
</pre>
              <blockquote type="cite">
                <pre wrap="">I went back to the 14.05 issues today and found I could get the kernel 
initialization to complete successfully if I reverted the S bit to 
"unshared" in the memory attributes in a Section entry create. Prior to 
14.05 this bit was set to "unshared" and was presumably changed in 14.05 
to allow for multiple processors accessing the same memory regions.
</pre>
              </blockquote>
              <pre wrap="">We had an issue (<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://github.com/genodelabs/genode/issues/1181">https://github.com/genodelabs/genode/issues/1181</a>)
recently that the shared-bit should be set only when using SMP. The
related changes are in the current state of our master branch
(<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://github.com/genodelabs/genode/tree/master">https://github.com/genodelabs/genode/tree/master</a>) but not in version
14.05. Could you please give it a try?

</pre>
              <blockquote type="cite">
                <pre wrap="">In addition, after completing kernel initialization, core's "main" 
function is entered, the info message for creating local services shows 
up, a translation for the top of RAM (0x80000000) is created, then the 
message "failed to communicate thread event" occurs and init is never 
called. Any thoughts on why that message is appearing would be 
appreciated. It appears to be coming from initialization of the root 
interfaces.
</pre>
              </blockquote>
              <pre wrap="">This seems to be a page fault in core. Normally core should never
trigger a page fault because there's no one to handle it. So the kernel
doesn't know who to inform about it and thus prints this message. To
prevent this situation, memory regions statically needed by core
(program image, MMIO regions) get mapped 1:1 in the 'Core_pd'
constructor in 'base-hw/src/core/kernel/kernel.cc' using, among others,
the platform specific method 'Platform::_core_only_mmio_regions'. I
assume that your port misses a region in this function. You can get
further information about the page fault by printing things like
'_fault_addr', '_fault_writes', 'char const * Thread::label()', and
'unsigned long Thread::ip' in the method 'Thread::_mmu_exception()' in
'base-hw/src/core/arm/cpu_support.cc' right before '_fault.submit()'.

Cheers
Martin

------------------------------------------------------------------------------
_______________________________________________
genode-main mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:genode-main@lists.sourceforge.net">genode-main@lists.sourceforge.net</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/genode-main">https://lists.sourceforge.net/lists/listinfo/genode-main</a>

</pre>
            </blockquote>
            <br>
          </blockquote>
        </blockquote>
      </blockquote>
      <blockquote cite="mid:53EB2C18.7090008@...1..."
        type="cite">
        <blockquote cite="mid:53EA8A21.1040809@...196..." type="cite">
          <blockquote cite="mid:53E8BF22.5070805@...196..."
            type="cite"> </blockquote>
          <br>
          <br>
          <fieldset class="mimeAttachmentHeader"></fieldset>
          <br>
          <pre wrap="">------------------------------------------------------------------------------
</pre>
          <br>
          <fieldset class="mimeAttachmentHeader"></fieldset>
          <br>
          <pre wrap="">_______________________________________________
genode-main mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:genode-main@lists.sourceforge.net">genode-main@lists.sourceforge.net</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/genode-main">https://lists.sourceforge.net/lists/listinfo/genode-main</a>
</pre>
        </blockquote>
        <br>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">------------------------------------------------------------------------------
</pre>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">_______________________________________________
genode-main mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:genode-main@lists.sourceforge.net">genode-main@lists.sourceforge.net</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/genode-main">https://lists.sourceforge.net/lists/listinfo/genode-main</a>
</pre>
      </blockquote>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">------------------------------------------------------------------------------
</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
genode-main mailing list
<a class="moz-txt-link-abbreviated" href="mailto:genode-main@lists.sourceforge.net">genode-main@lists.sourceforge.net</a>
<a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/genode-main">https://lists.sourceforge.net/lists/listinfo/genode-main</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>