<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi,<br>
    <br>
    Yes, exactly: <tt>apic_is_bsp</tt> is broken on the SCC. It should
    use <tt>rck_get_coreid</tt> to initialize <tt>apic_bsp</tt>, but I
    doesn't. If fixed this issue in my tree, but it won't help you, as
    there are more bugs coming up after that.<br>
    <br>
    Are you sure you reverted your revision properly? Can you try a
    clean clone of that revision? I tested revision release2011-09-02 on
    our SCC, and it worked.<br>
    <br>
    On 04/27/2012 11:55 AM, Shi Jinghao (史经浩) wrote:
    <blockquote
cite="mid:CAKdW-HFunq542WrbG98+9xCGtHfiOrbAtF=VQkvWRFELjSWBUg@mail.gmail.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <div class="gmail_extra"><br>
      </div>
      <div class="gmail_extra">Here is my progress update on the problem
        of booting on SCC.</div>
      <div class="gmail_extra"><br>
      </div>
      <div class="gmail_extra">I found that the variable bsp is not
        correctly set in apic_init (/kernel/arch/x86/apic.c). bsp is
        initiated as true when defined. But there is no code that set
        its value when __scc__ is defined. The only code that touch bsp
        is wapped by #if !defined(__scc__) || defined.</div>
      <div class="gmail_extra"><br>
      </div>
      <div class="gmail_extra">So I added the following line in
        text_init (/kernel/arch/x86_32/init.c), right after print the
        "My APIC ID:" message, </div>
      <div class="gmail_extra"><br>
      </div>
      <div class="gmail_extra">bsp = (apic_id == 0);</div>
      <div class="gmail_extra"><br>
      </div>
      <div class="gmail_extra">It's a temporal hack that we assume core
        0 is always the bsp core.</div>
      <div class="gmail_extra"><br>
      </div>
      <div class="gmail_extra">After done this, core 1 will realize that
        it's not bsp core so it will not try to boot core 0. But then
        I immediately found that the core_data passed to core 1 is
        corrupted. I found this from:</div>
      <div class="gmail_extra"><br>
      </div>
      <div class="gmail_extra">- core_data-&gt;memory_base_start =
        0x0ffb7000, which seems ok but core_data-&gt;memory_bits = 0,
        this will make app_alloc_phys_end = 0x0ffb7001 and fail
        app_alloc_phys</div>
      <div class="gmail_extra"><br>
      </div>
      <div class="gmail_extra">- core_data-&gt;dst_core_id and
        src_arch_id is wrong (some meaningless number)</div>
      <div class="gmail_extra"><br>
      </div>
      <div class="gmail_extra">I'm trying to figure out whether core 0
        has place the x86_core_data structure correctly..</div>
      <div class="gmail_extra"><br>
      </div>
      <div class="gmail_extra">Thanks,</div>
      <div class="gmail_extra">Jinghao<br>
        <br>
        <div class="gmail_quote">On Fri, Apr 27, 2012 at 2:18 PM, Shi
          Jinghao <span dir="ltr">&lt;<a moz-do-not-send="true"
              href="mailto:jhshi89@gmail.com" target="_blank">jhshi89@gmail.com</a>&gt;</span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div class="gmail_extra">Hi, Stefan,</div>
            <div class="gmail_extra"><br>
            </div>
            <div class="gmail_extra">I tried release2011-09-02 but it's
              still not work, and the same problem occurs.</div>
            <div class="gmail_extra"><br>
            </div>
            <div class="gmail_extra">Don't know if you got any clue yet,
              but when I insert a printk in function kernel_startup
              (/kernel/arch/x86/startup_x86.c). I find that the function
              apic_is_bsp() may not work properly: each core think it'
              startup core!! But when I traced the code and come to
              apic_base_msr (function apic_init in file
              /kernel/arch/x86/apic.c), I am lost, and can not figure
              out where apic_base_msr.bsp is set. Any hints here?</div>
            <div class="gmail_extra"><br>
            </div>
            <div class="gmail_extra">Thanks,</div>
            <div class="gmail_extra">Jinghao</div>
            <div class="gmail_extra"><br>
            </div>
            <div class="gmail_extra"><br>
            </div>
            <div class="gmail_extra">Here is the code snippet where I
              inserted printk, FYI:</div>
            <div class="gmail_extra"><br>
            </div>
            <div class="gmail_extra">
              <div class="gmail_extra">290     if (apic_is_bsp()) {</div>
              <div class="gmail_extra">291         printk(LOG_DEBUG, "\n
                in kernel_startup, I am BSP\n");</div>
              <div class="gmail_extra">292         /* Initialize the
                location to allocate phys memory from */</div>
              <div class="gmail_extra">293         bsp_init_alloc_addr =
                glbl_core_data-&gt;start_free_ram;</div>
              <div class="gmail_extra">
                294     </div>
              <div class="gmail_extra">295         /* spawn init */</div>
              <div class="gmail_extra">296         init_dcb =
                spawn_bsp_init(BSP_INIT_MODULE_PATH, bsp_alloc_phys);</div>
              <div class="gmail_extra">297     } else {</div>
              <div class="gmail_extra">298         printk(LOG_DEBUG, "\n
                in kernel_startup, I am NOT BSP\n");</div>
              <div class="gmail_extra">299         my_core_id =
                core_data-&gt;dst_core_id;</div>
              <div class="gmail_extra">300 </div>
              <div class="gmail_extra">301         /* Initialize the
                allocator */</div>
              <div class="gmail_extra">302         app_alloc_phys_start
                = core_data-&gt;memory_base_start;</div>
              <div class="gmail_extra">303         app_alloc_phys_end  
                = ((lpaddr_t)1 &lt;&lt; core_data-&gt;memory_bits) +</div>
              <div class="gmail_extra">304                              
                      app_alloc_phys_start;</div>
              <div class="gmail_extra">305     </div>
              <div class="gmail_extra">306         init_dcb =
                spawn_app_init(core_data, APP_INIT_PROG_NAME,
                app_alloc_phys);</div>
              <div class="gmail_extra">307     }</div>
              <div>
                <div class="h5">
                  <div><br>
                  </div>
                  <br>
                  <div class="gmail_quote">On Tue, Apr 24, 2012 at 4:13
                    AM, Stefan Kästle <span dir="ltr">&lt;<a
                        moz-do-not-send="true"
                        href="mailto:stefan.kaestle@inf.ethz.ch"
                        target="_blank">stefan.kaestle@inf.ethz.ch</a>&gt;</span>
                    wrote:<br>
                    <blockquote class="gmail_quote" style="margin:0 0 0
                      .8ex;border-left:1px #ccc solid;padding-left:1ex">
                      <div bgcolor="#FFFFFF" text="#000000"> Hi,<br>
                        <br>
                        this is harder to fix than I originally though.
                        I will take some time to fix (especially since I
                        am a little busy right now).<br>
                        <br>
                        Maybe you want to use an earlier version of
                        Barrelfish in the meanwhile, e.g. revision
                        release2011-09-02?! Since then, nothing
                        significantly changed for the SCC code anyway.
                        That one works fine on our SCC. In case you
                        revert, make sure to do a clean rebuild!<br>
                        <br>
                        Cheers<br>
                         Stefan<br>
                        <br>
                        On 04/22/2012 12:18 PM, Shi Jinghao (史经浩) wrote:
                        <blockquote type="cite">
                          <div class="gmail_extra">Hi, stefan.</div>
                          <div class="gmail_extra"><br>
                          </div>
                          <div class="gmail_extra">I changed the line as
                            you instructed and it works. But when I try
                            to boot core 0, 1, 2 ,3</div>
                          <div class="gmail_extra"> with the following
                            line:</div>
                          <div class="gmail_extra"><br>
                          </div>
                          <div class="gmail_extra">module
                            /scc/sbin/spawnd boot bootscc=1-3</div>
                          <div class="gmail_extra"><br>
                          </div>
                          <div class="gmail_extra">The same problem
                            occurs (ouput attached). So what's the
                            proper syntax that correctly</div>
                          <div class="gmail_extra">boot scc cores (e.g.
                            {0, 1, 2, 3}, or {0, 2, 4, 6} )?</div>
                          <div class="gmail_extra"><br>
                          </div>
                          <div class="gmail_extra">Regards,</div>
                          <div class="gmail_extra">Jinghao</div>
                          <div class="gmail_extra"> <br>
                          </div>
                          <div class="gmail_extra"> ---------- OUTPUT
                            START ------------------------------</div>
                          <div class="gmail_extra">
                            <div class="gmail_extra">Kernel starting at
                              address 0x80100000</div>
                            <div>Barrelfish CPU driver starting on scc
                              core 0</div>
                          </div>
                          <div class="gmail_extra">
                            <div class="gmail_extra">init: invoked as:
                              init 2097152</div>
                            <div class="gmail_extra">Spawning memory
                              server (scc/sbin/mem_serv)...</div>
                            <div class="gmail_extra">Spawning monitor
                              (scc/sbin/monitor)...</div>
                            <div class="gmail_extra"> starting monitor
                              as 'scc/sbin/monitor 327680 '</div>
                            <div class="gmail_extra">monitor: invoked
                              as: scc/sbin/monitor 327680</div>
                            <div class="gmail_extra">RAM allocator
                              initialised, 1612 MB (of 1628 MB)
                              available</div>
                            <div class="gmail_extra">Spawning chips on
                              core 0</div>
                            <div class="gmail_extra">Spawning
                              /scc/sbin/ramfsd on core 0</div>
                            <div class="gmail_extra">Spawning
                              /scc/sbin/spawnd on core 0</div>
                            <div class="gmail_extra">Spawning
                              /scc/sbin/startd on core 0</div>
                            <div class="gmail_extra">0 chips: client
                              waiting for ramfs</div>
                            <div class="gmail_extra">ramfsd.0:
                              pre-populating from boot image...</div>
                            <div class="gmail_extra">0 chips: client
                              waiting for ramfs</div>
                            <div class="gmail_extra"> ramfsd.0: ready</div>
                            <div class="gmail_extra">0 chips: notifying
                              client about ramfs</div>
                            <div class="gmail_extra">0 chips: notifying
                              client about ramfs</div>
                            <div class="gmail_extra">kernel 0:
                              Allocating RAM at 0x80000000 uninitialized</div>
                            <div class="gmail_extra">kernel 0:
                              Allocating RAM at 0x80010000 uninitialized</div>
                            <div class="gmail_extra">spawnd.0: coreid 0
                              is arch id 0</div>
                            <div class="gmail_extra">spawnd.0: coreid 1
                              is arch id 1</div>
                            <div class="gmail_extra"> spawnd.0: coreid 2
                              is arch id 2</div>
                            <div class="gmail_extra">spawnd.0: coreid 3
                              is arch id 3</div>
                            <div class="gmail_extra">0 chips: client
                              waiting for all_spawnds_up</div>
                            <div class="gmail_extra">Monitor 0: booting
                              scc core 1 as '/scc/sbin/cpu'</div>
                            <div class="gmail_extra">kernel 0:
                              Allocating RAM at 0x80020000 uninitialized</div>
                            <div class="gmail_extra">Kernel starting at
                              address 0x80100000</div>
                            <div class="gmail_extra">My APIC ID: 1</div>
                            <div class="gmail_extra"> Barrelfish CPU
                              driver starting on scc core 1</div>
                            <div class="gmail_extra">init: invoked as:
                              init 2097152</div>
                            <div class="gmail_extra">Spawning memory
                              server (scc/sbin/mem_serv)...</div>
                            <div class="gmail_extra">Spawning monitor
                              (scc/sbin/monitor)...</div>
                            <div class="gmail_extra"> starting monitor
                              as 'scc/sbin/monitor 327680 '</div>
                            <div class="gmail_extra">monitor: invoked
                              as: scc/sbin/monitor 327680</div>
                            <div class="gmail_extra">RAM allocator
                              initialised, 1612 MB (of 1628 MB)
                              available</div>
                            <div class="gmail_extra">Spawning chips on
                              core 1</div>
                            <div class="gmail_extra">Spawning
                              /scc/sbin/ramfsd on core 1</div>
                            <div class="gmail_extra">Spawning
                              /scc/sbin/spawnd on core 1</div>
                            <div class="gmail_extra">Spawning
                              /scc/sbin/startd on core 1</div>
                            <div class="gmail_extra">0 chips: client
                              waiting for ramfs</div>
                            <div class="gmail_extra">ramfsd.1:
                              pre-populating from boot image...</div>
                            <div class="gmail_extra">0 chips: client
                              waiting for ramfs</div>
                            <div class="gmail_extra"> ramfsd.1: ready</div>
                            <div class="gmail_extra">0 chips: notifying
                              client about ramfs</div>
                            <div class="gmail_extra">0 chips: notifying
                              client about ramfs</div>
                            <div class="gmail_extra">kernel 1:
                              Allocating RAM at 0x84000000 uninitialized</div>
                            <div class="gmail_extra">kernel 1:
                              Allocating RAM at 0x84010000 uninitialized</div>
                            <div class="gmail_extra">spawnd.1: coreid 0
                              is arch id 2</div>
                            <div class="gmail_extra">spawnd.1: coreid 1
                              is arch id 1</div>
                            <div class="gmail_extra"> spawnd.1: coreid 2
                              is arch id 3</div>
                            <div class="gmail_extra">0 chips: client
                              waiting for all_spawnds_up</div>
                            <div class="gmail_extra">Monitor 1: booting
                              scc core 0 as '/scc/sbin/cpu'</div>
                            <div class="gmail_extra"> kernel 1:
                              Allocating RAM at 0x84020000 uninitialized</div>
                            <div class="gmail_extra">kernel 1 PANIC!
                              kernel assertion "rck_get_coreid() == 0"
                              failed at ../kernel/arch/scc/rck.c:876</div>
                            <div class="gmail_extra">kernel 1: exception
                              3 (error code 0x0): breakpoint</div>
                            <div class="gmail_extra">On behalf of:
                              monitor</div>
                            <div class="gmail_extra">Faulting
                              instruction pointer (or following
                              instruction): 0x8010a7bf (0x 10a7bf in
                              binary)</div>
                            <div class="gmail_extra">EAX 0x80118000 EBX
                              0x80116e88 ECX 0x0 EDX 0x805202c0 ESP
                              0x80920a08</div>
                            <div class="gmail_extra">Top o' stack:</div>
                            <div class="gmail_extra">0x8010a7bf 0x2 0x8
                              0x10 0x3 0x0 0x8010a7bf 0x8 0x2 0x80520180
                              0x80116e88 0x80920a44 0x8010c612
                              0x80116e88 0x210d6000 0x80920a64
                              0x8010c64b 0x801164a0 0x80114c10
                              0x80114b55 </div>
                            <div class="gmail_extra">No GDB backend</div>
                            <div class="gmail_extra">----------------
                              OUTPUT END ----------------------------</div>
                            <div><br>
                            </div>
                            <br>
                            <div class="gmail_quote">On Sun, Apr 22,
                              2012 at 5:33 PM, <span dir="ltr">&lt;<a
                                  moz-do-not-send="true"
                                  href="mailto:barrelfish-users-request@lists.inf.ethz.ch"
                                  target="_blank">barrelfish-users-request@lists.inf.ethz.ch</a>&gt;</span>
                              wrote:<br>
                              <blockquote class="gmail_quote"
                                style="margin:0 0 0 .8ex;border-left:1px
                                #ccc solid;padding-left:1ex">Send
                                Barrelfish-users mailing list
                                submissions to<br>
                                       <a moz-do-not-send="true"
                                  href="mailto:barrelfish-users@lists.inf.ethz.ch"
                                  target="_blank">barrelfish-users@lists.inf.ethz.ch</a><br>
                                <br>
                                To subscribe or unsubscribe via the
                                World Wide Web, visit<br>
                                       <a moz-do-not-send="true"
                                  href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users"
                                  target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a><br>
                                or, via email, send a message with
                                subject or body 'help' to<br>
                                       <a moz-do-not-send="true"
                                  href="mailto:barrelfish-users-request@lists.inf.ethz.ch"
                                  target="_blank">barrelfish-users-request@lists.inf.ethz.ch</a><br>
                                <br>
                                You can reach the person managing the
                                list at<br>
                                       <a moz-do-not-send="true"
                                  href="mailto:barrelfish-users-owner@lists.inf.ethz.ch"
                                  target="_blank">barrelfish-users-owner@lists.inf.ethz.ch</a><br>
                                <br>
                                When replying, please edit your Subject
                                line so it is more specific<br>
                                than "Re: Contents of Barrelfish-users
                                digest..."<br>
                                <br>
                                <br>
                                Today's Topics:<br>
                                <br>
                                  1. Problems when booting Barrelfish on
                                SCC (???? &lt;<a moz-do-not-send="true"
                                  href="mailto:jhshi@cs.hku.hk"
                                  target="_blank">jhshi@cs.hku.hk</a>&gt;)<br>
                                  2. Re: Problems when booting
                                Barrelfish on SCC (Stefan K?stle)<br>
                                <br>
                                <br>
----------------------------------------------------------------------<br>
                                <br>
                                Message: 1<br>
                                Date: Sun, 22 Apr 2012 17:12:57 +0800<br>
                                From: Shi Jinghao (???? &lt;<a
                                  moz-do-not-send="true"
                                  href="mailto:jhshi@cs.hku.hk"
                                  target="_blank">jhshi@cs.hku.hk</a>&gt;<br>
                                Subject: [Barrelfish-users] Problems
                                when booting Barrelfish on SCC<br>
                                To: <a moz-do-not-send="true"
                                  href="mailto:barrelfish-users@lists.inf.ethz.ch"
                                  target="_blank">barrelfish-users@lists.inf.ethz.ch</a><br>
                                Message-ID:<br>
                                       &lt;<a moz-do-not-send="true"
href="mailto:CAKdW-HFRKv6HWqAxwsL5MMJRqot6BSPkHXPx9ecXg3eaONRHZw@mail.gmail.com"
                                  target="_blank">CAKdW-HFRKv6HWqAxwsL5MMJRqot6BSPkHXPx9ecXg3eaONRHZw@mail.gmail.com</a>&gt;<br>
                                Content-Type: text/plain;
                                charset="iso-8859-1"<br>
                                <br>
                                Hi,<br>
                                <br>
                                I'm trying to boot barrelfish on SCC.
                                I've managed to compile the source,<br>
                                get barrelfish0.obj and <a
                                  moz-do-not-send="true"
                                  href="http://barrelfish48.mt"
                                  target="_blank">barrelfish48.mt</a>.<br>
                                Then I use the bootscc.sh to boot it.
                                For test, I just want to boot core 0<br>
                                and core 1, but a weird problem<br>
                                happens: core 1 is trying to boot core
                                0. Here is the output after system<br>
                                start.<br>
                                <br>
                                ----------------------OUTPUT START
                                ------------------------------------<br>
                                Kernel starting at address 0x80100000<br>
                                hku@ubuntu:~/fish/<a
                                  moz-do-not-send="true"
                                  href="http://hg.barrelfish.org/build$"
                                  target="_blank">hg.barrelfish.org/build$</a>
                                My APIC ID: 0<br>
                                Barrelfish CPU driver starting on scc
                                core 0<br>
                                init: invoked as: init 2097152<br>
                                Spawning memory server
                                (scc/sbin/mem_serv)...<br>
                                Spawning monitor (scc/sbin/monitor)...<br>
                                starting monitor as 'scc/sbin/monitor
                                327680 '<br>
                                monitor: invoked as: scc/sbin/monitor
                                327680<br>
                                RAM allocator initialised, 1612 MB (of
                                1628 MB) available<br>
                                Spawning chips on core 0<br>
                                Spawning /scc/sbin/ramfsd on core 0<br>
                                Spawning /scc/sbin/spawnd on core 0<br>
                                Spawning /scc/sbin/startd on core 0<br>
                                0 chips: client waiting for ramfs<br>
                                ramfsd.0: pre-populating from boot
                                image...<br>
                                0 chips: client waiting for ramfs<br>
                                ramfsd.0: ready<br>
                                0 chips: notifying client about ramfs<br>
                                0 chips: notifying client about ramfs<br>
                                kernel 0: Allocating RAM at 0x80000000
                                uninitialized<br>
                                kernel 0: Allocating RAM at 0x80010000
                                uninitialized<br>
                                spawnd.0: coreid 0 is arch id 0<br>
                                spawnd.0: coreid 1 is arch id 1<br>
                                0 chips: client waiting for
                                all_spawnds_up<br>
                                Monitor 0: booting scc core 1 as
                                '/scc/sbin/cpu'<br>
                                kernel 0: Allocating RAM at 0x80020000
                                uninitialized<br>
                                Kernel starting at address 0x80100000<br>
                                My APIC ID: 1<br>
                                Barrelfish CPU driver starting on scc
                                core 1<br>
                                init: invoked as: init 2097152<br>
                                Spawning memory server
                                (scc/sbin/mem_serv)...<br>
                                Spawning monitor (scc/sbin/monitor)...<br>
                                starting monitor as 'scc/sbin/monitor
                                327680 '<br>
                                monitor: invoked as: scc/sbin/monitor
                                327680<br>
                                RAM allocator initialised, 1612 MB (of
                                1628 MB) available<br>
                                Spawning chips on core 1<br>
                                Spawning /scc/sbin/ramfsd on core 1<br>
                                Spawning /scc/sbin/spawnd on core 1<br>
                                Spawning /scc/sbin/startd on core 1<br>
                                0 chips: client waiting for ramfs<br>
                                ramfsd.1: pre-populating from boot
                                image...<br>
                                0 chips: client waiting for ramfs<br>
                                ramfsd.1: ready<br>
                                0 chips: notifying client about ramfs<br>
                                0 chips: notifying client about ramfs<br>
                                kernel 1: Allocating RAM at 0x84000000
                                uninitialized<br>
                                kernel 1: Allocating RAM at 0x84010000
                                uninitialized<br>
                                spawnd.1: coreid 0 is arch id 0<br>
                                spawnd.1: coreid 1 is arch id 1<br>
                                0 chips: client waiting for
                                all_spawnds_up<br>
                                Monitor 1: booting scc core 0 as
                                '/scc/sbin/cpu'<br>
                                ********* Why would core 1 want to boot
                                core 0 ? **************<br>
                                kernel 1: Allocating RAM at 0x84020000
                                uninitialized<br>
                                kernel 1 PANIC! kernel assertion
                                "rck_get_coreid() == 0" failed at<br>
                                ../kernel/arch/scc/rck.c:876<br>
                                kernel 1: exception 3 (error code 0x0):
                                breakpoint<br>
                                On behalf of: monitor<br>
                                Faulting instruction pointer (or
                                following instruction): 0x8010a7bf (0x<br>
                                10a7bf in binary)<br>
                                EAX 0x80118000 EBX 0x80116e88 ECX 0x0
                                EDX 0x805202c0 ESP 0x80920a08<br>
                                Top o' stack:<br>
                                0x8010a7bf 0x2 0x8 0x10 0x3 0x0
                                0x8010a7bf 0x8 0x2 0x80520180 0x80116e88<br>
                                0x80920a44 0x8010c612 0x80116e88
                                0x210d6000 0x80920a64 0x8010c64b<br>
                                0x801164a0 0x80114c10 0x80114b55<br>
                                No GDB backend<br>
                                --------------- OUTPUT END
                                ------------------------------<br>
                                <br>
                                As I see it, core 1 seems thought that
                                it's the bsp core (while it's not)<br>
                                so it's responsible to boot other cores.
                                But I fail to see why core 1 would<br>
                                think like that.<br>
                                <br>
                                Any ideas on this? Thanks in advance.<br>
                                <br>
                                Regards,<br>
                                Jinghao<br>
                                <br>
                                FYI, this is my menu.lst.scc<br>
                                <br>
                                 1 timeout 0<br>
                                 2<br>
                                 3 # spawnd is used to control which
                                cpus are booted<br>
                                 4 #<br>
                                 5 # "spawnd boot" will use the skb and
                                pci to figure out and<br>
                                 6 #  boot all cores in the machine<br>
                                 7 #<br>
                                 8 # "spawnd boot bootscc=1-6" will not
                                use the skb and<br>
                                 9 # boot the list of cores passed as
                                argument.<br>
                                 10 # The hardware id of the cores to
                                boot should be specified.<br>
                                 11 # This list may not include the bsp
                                core id.<br>
                                 12<br>
                                 13 title   Barrelfish<br>
                                 14 root    (nd)<br>
                                 15 kernel  /scc/sbin/cpu loglevel=4<br>
                                 16 module  /scc/sbin/cpu<br>
                                 17 module  /scc/sbin/init<br>
                                 18<br>
                                 19 # Domains spawned by init<br>
                                 20 module  /scc/sbin/mem_serv<br>
                                 21 module  /scc/sbin/monitor<br>
                                 22<br>
                                 23 module  /scc/sbin/chips boot<br>
                                 24 module  /scc/sbin/ramfsd boot<br>
                                 25 module  /scc/sbin/spawnd boot
                                bootscc=0-1<br>
                                 26 module  /scc/sbin/startd boot<br>
                                 27<br>
                                 28 #module
                                /scc/sbin/examples/xmpl-hello<br>
                                 29<br>
                                 30 # modules needed to start the
                                networking<br>
                                 31 # module  /scc/sbin/eMAC core=0
                                device=2<br>
                                 32 # module  /scc/sbin/netd core=0
                                cardname=eMAC2_0<br>
                                 33 # module  /scc/sbin/eMAC core=1<br>
                                 34 # module  /scc/sbin/netd core=1
                                cardname=eMAC2_1<br>
                                 35<br>
                                 36 # Test for network throughput<br>
                                 37 # module  /scc/sbin/netthroughput
                                core=1 /nfs<br>
                                nfs://<a moz-do-not-send="true"
                                  href="http://10.110.4.41/shared/nfs/pravin/testfile.txt"
                                  target="_blank"><font color="red"><b>MailScanner
                                      warning: numerical links are often
                                      malicious:</b></font>
                                  10.110.4.41/shared/nfs/pravin/testfile.txt</a><br>
                                 38<br>
                                 39 # For webserver<br>
                                 40 # module  /scc/sbin/webserver core=1
                                eMAC2_1 10.110.4.41<br>
                                /shared/pravin/sw<br>
                                 41<br>
                                 42 # RCK memory map<br>
                                 43 # Everything up til VGA is private
                                RAM (maybe we want to throw it away)<br>
                                 44 mmap    map 0x0     0xa000      2<br>
                                 45 # Everything after VGA is private
                                RAM (we also live in this area)<br>
                                 46 mmap    map 0xe800      0x26ff1800
                                 1<br>
                                 47 # Shared RAM (over all MCs) in the
                                middle of address space<br>
                                 48 #mmap   map 0x80000000  0x4000000  
                                1<br>
                                 49 mmap    map     0x80000000    
                                 0x40000000      1<br>
                                 50 # At the very end we have some
                                platform memory (bootup EEPROM)<br>
                                 51 mmap    map 0xfffc0000  0x40000    
                                2<br>
                                -------------- next part --------------<br>
                                An HTML attachment was scrubbed...<br>
                                URL: <a moz-do-not-send="true"
href="https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20120422/e2ff7982/attachment-0001.html"
                                  target="_blank">https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20120422/e2ff7982/attachment-0001.html</a><br>
                                <br>
                                ------------------------------<br>
                                <br>
                                Message: 2<br>
                                Date: Sun, 22 Apr 2012 11:33:52 +0200<br>
                                From: Stefan K?stle &lt;<a
                                  moz-do-not-send="true"
                                  href="mailto:stefan.kaestle@inf.ethz.ch"
                                  target="_blank">stefan.kaestle@inf.ethz.ch</a>&gt;<br>
                                Subject: Re: [Barrelfish-users] Problems
                                when booting Barrelfish on<br>
                                       SCC<br>
                                To: &lt;<a moz-do-not-send="true"
                                  href="mailto:barrelfish-users@lists.inf.ethz.ch"
                                  target="_blank">barrelfish-users@lists.inf.ethz.ch</a>&gt;<br>
                                Message-ID: &lt;<a
                                  moz-do-not-send="true"
                                  href="mailto:4F93D080.6080905@inf.ethz.ch"
                                  target="_blank">4F93D080.6080905@inf.ethz.ch</a>&gt;<br>
                                Content-Type: text/plain;
                                charset="iso-8859-1"<br>
                                <br>
                                Hi,<br>
                                <br>
                                can you try replacing<br>
                                module  /scc/sbin/spawnd boot
                                bootscc=0-1<br>
                                with<br>
                                module  /scc/sbin/spawnd boot bootscc=1<br>
                                and try it again?<br>
                                <br>
                                The boot-up of core 0 is implicit - we
                                do not specify it as a spwand<br>
                                argument.<br>
                                <br>
                                Cheers,<br>
                                 Stefan<br>
                                <br>
                                On 04/22/2012 11:12 AM, Shi Jinghao
                                (???) wrote:<br>
                                &gt; Hi,<br>
                                &gt;<br>
                                &gt; I'm trying to boot barrelfish on
                                SCC. I've managed to compile the<br>
                                &gt; source, get barrelfish0.obj and <a
                                  moz-do-not-send="true"
                                  href="http://barrelfish48.mt"
                                  target="_blank">barrelfish48.mt</a>
                                &lt;<a moz-do-not-send="true"
                                  href="http://barrelfish48.mt"
                                  target="_blank">http://barrelfish48.mt</a>&gt;.<br>
                                &gt; Then I use the bootscc.sh to boot
                                it. For test, I just want to boot<br>
                                &gt; core 0 and core 1, but a weird
                                problem<br>
                                &gt; happens: core 1 is trying to boot
                                core 0. Here is the output after<br>
                                &gt; system start.<br>
                                &gt;<br>
                                &gt; ----------------------OUTPUT START
                                ------------------------------------<br>
                                &gt; Kernel starting at address
                                0x80100000<br>
                                &gt; hku@ubuntu:~/fish/<a
                                  moz-do-not-send="true"
                                  href="http://hg.barrelfish.org/build$"
                                  target="_blank">hg.barrelfish.org/build$</a><br>
                                &gt; &lt;<a moz-do-not-send="true"
                                  href="http://hg.barrelfish.org/build$"
                                  target="_blank">http://hg.barrelfish.org/build$</a>&gt;

                                My APIC ID: 0<br>
                                &gt; Barrelfish CPU driver starting on
                                scc core 0<br>
                                &gt; init: invoked as: init 2097152<br>
                                &gt; Spawning memory server
                                (scc/sbin/mem_serv)...<br>
                                &gt; Spawning monitor
                                (scc/sbin/monitor)...<br>
                                &gt; starting monitor as
                                'scc/sbin/monitor 327680 '<br>
                                &gt; monitor: invoked as:
                                scc/sbin/monitor 327680<br>
                                &gt; RAM allocator initialised, 1612 MB
                                (of 1628 MB) available<br>
                                &gt; Spawning chips on core 0<br>
                                &gt; Spawning /scc/sbin/ramfsd on core 0<br>
                                &gt; Spawning /scc/sbin/spawnd on core 0<br>
                                &gt; Spawning /scc/sbin/startd on core 0<br>
                                &gt; 0 chips: client waiting for ramfs<br>
                                &gt; ramfsd.0: pre-populating from boot
                                image...<br>
                                &gt; 0 chips: client waiting for ramfs<br>
                                &gt; ramfsd.0: ready<br>
                                &gt; 0 chips: notifying client about
                                ramfs<br>
                                &gt; 0 chips: notifying client about
                                ramfs<br>
                                &gt; kernel 0: Allocating RAM at
                                0x80000000 uninitialized<br>
                                &gt; kernel 0: Allocating RAM at
                                0x80010000 uninitialized<br>
                                &gt; spawnd.0: coreid 0 is arch id 0<br>
                                &gt; spawnd.0: coreid 1 is arch id 1<br>
                                &gt; 0 chips: client waiting for
                                all_spawnds_up<br>
                                &gt; Monitor 0: booting scc core 1 as
                                '/scc/sbin/cpu'<br>
                                &gt; kernel 0: Allocating RAM at
                                0x80020000 uninitialized<br>
                                &gt; Kernel starting at address
                                0x80100000<br>
                                &gt; My APIC ID: 1<br>
                                &gt; Barrelfish CPU driver starting on
                                scc core 1<br>
                                &gt; init: invoked as: init 2097152<br>
                                &gt; Spawning memory server
                                (scc/sbin/mem_serv)...<br>
                                &gt; Spawning monitor
                                (scc/sbin/monitor)...<br>
                                &gt; starting monitor as
                                'scc/sbin/monitor 327680 '<br>
                                &gt; monitor: invoked as:
                                scc/sbin/monitor 327680<br>
                                &gt; RAM allocator initialised, 1612 MB
                                (of 1628 MB) available<br>
                                &gt; Spawning chips on core 1<br>
                                &gt; Spawning /scc/sbin/ramfsd on core 1<br>
                                &gt; Spawning /scc/sbin/spawnd on core 1<br>
                                &gt; Spawning /scc/sbin/startd on core 1<br>
                                &gt; 0 chips: client waiting for ramfs<br>
                                &gt; ramfsd.1: pre-populating from boot
                                image...<br>
                                &gt; 0 chips: client waiting for ramfs<br>
                                &gt; ramfsd.1: ready<br>
                                &gt; 0 chips: notifying client about
                                ramfs<br>
                                &gt; 0 chips: notifying client about
                                ramfs<br>
                                &gt; kernel 1: Allocating RAM at
                                0x84000000 uninitialized<br>
                                &gt; kernel 1: Allocating RAM at
                                0x84010000 uninitialized<br>
                                &gt; spawnd.1: coreid 0 is arch id 0<br>
                                &gt; spawnd.1: coreid 1 is arch id 1<br>
                                &gt; 0 chips: client waiting for
                                all_spawnds_up<br>
                                &gt; Monitor 1: booting scc core 0 as
                                '/scc/sbin/cpu'<br>
                                &gt; ********* Why would core 1 want to
                                boot core 0 ? **************<br>
                                &gt; kernel 1: Allocating RAM at
                                0x84020000 uninitialized<br>
                                &gt; kernel 1 PANIC! kernel assertion
                                "rck_get_coreid() == 0" failed at<br>
                                &gt; ../kernel/arch/scc/rck.c:876<br>
                                &gt; kernel 1: exception 3 (error code
                                0x0): breakpoint<br>
                                &gt; On behalf of: monitor<br>
                                &gt; Faulting instruction pointer (or
                                following instruction): 0x8010a7bf<br>
                                &gt; (0x 10a7bf in binary)<br>
                                &gt; EAX 0x80118000 EBX 0x80116e88 ECX
                                0x0 EDX 0x805202c0 ESP 0x80920a08<br>
                                &gt; Top o' stack:<br>
                                &gt; 0x8010a7bf 0x2 0x8 0x10 0x3 0x0
                                0x8010a7bf 0x8 0x2 0x80520180<br>
                                &gt; 0x80116e88 0x80920a44 0x8010c612
                                0x80116e88 0x210d6000 0x80920a64<br>
                                &gt; 0x8010c64b 0x801164a0 0x80114c10
                                0x80114b55<br>
                                &gt; No GDB backend<br>
                                &gt; --------------- OUTPUT END
                                ------------------------------<br>
                                &gt;<br>
                                &gt; As I see it, core 1 seems thought
                                that it's the bsp core (while it's<br>
                                &gt; not) so it's responsible to boot
                                other cores. But I fail to see why<br>
                                &gt; core 1 would think like that.<br>
                                &gt;<br>
                                &gt; Any ideas on this? Thanks in
                                advance.<br>
                                &gt;<br>
                                &gt; Regards,<br>
                                &gt; Jinghao<br>
                                &gt;<br>
                                &gt; FYI, this is my menu.lst.scc<br>
                                &gt;<br>
                                &gt;   1 timeout 0<br>
                                &gt;   2<br>
                                &gt;   3 # spawnd is used to control
                                which cpus are booted<br>
                                &gt;   4 #<br>
                                &gt;   5 # "spawnd boot" will use the
                                skb and pci to figure out and<br>
                                &gt;   6 #  boot all cores in the
                                machine<br>
                                &gt;   7 #<br>
                                &gt;   8 # "spawnd boot bootscc=1-6"
                                will not use the skb and<br>
                                &gt;   9 # boot the list of cores passed
                                as argument.<br>
                                &gt;  10 # The hardware id of the cores
                                to boot should be specified.<br>
                                &gt;  11 # This list may not include the
                                bsp core id.<br>
                                &gt;  12<br>
                                &gt;  13 title   Barrelfish<br>
                                &gt;  14 root    (nd)<br>
                                &gt;  15 kernel  /scc/sbin/cpu
                                loglevel=4<br>
                                &gt;  16 module  /scc/sbin/cpu<br>
                                &gt;  17 module  /scc/sbin/init<br>
                                &gt;  18<br>
                                &gt;  19 # Domains spawned by init<br>
                                &gt;  20 module  /scc/sbin/mem_serv<br>
                                &gt;  21 module  /scc/sbin/monitor<br>
                                &gt;  22<br>
                                &gt;  23 module  /scc/sbin/chips boot<br>
                                &gt;  24 module  /scc/sbin/ramfsd boot<br>
                                &gt;  25 module  /scc/sbin/spawnd boot
                                bootscc=0-1<br>
                                &gt;  26 module  /scc/sbin/startd boot<br>
                                &gt;  27<br>
                                &gt;  28 #module
                                /scc/sbin/examples/xmpl-hello<br>
                                &gt;  29<br>
                                &gt;  30 # modules needed to start the
                                networking<br>
                                &gt;  31 # module  /scc/sbin/eMAC core=0
                                device=2<br>
                                &gt;  32 # module  /scc/sbin/netd core=0
                                cardname=eMAC2_0<br>
                                &gt;  33 # module  /scc/sbin/eMAC core=1<br>
                                &gt;  34 # module  /scc/sbin/netd core=1
                                cardname=eMAC2_1<br>
                                &gt;  35<br>
                                &gt;  36 # Test for network throughput<br>
                                &gt;  37 # module
                                 /scc/sbin/netthroughput core=1 /nfs<br>
                                &gt; nfs://<a moz-do-not-send="true"
                                  href="http://10.110.4.41/shared"
                                  target="_blank"><font color="red"><b>MailScanner
                                      warning: numerical links are often
                                      malicious:</b></font>
                                  10.110.4.41/shared</a> &lt;<a
                                  moz-do-not-send="true"
                                  href="http://10.110.4.41/shared"
                                  target="_blank"><font color="red"><b>MailScanner
                                      warning: numerical links are often
                                      malicious:</b></font>
                                  http://10.110.4.41/shared</a>&gt;<br>
                                &gt; /nfs/pravin/testfile.txt<br>
                                &gt;  38<br>
                                &gt;  39 # For webserver<br>
                                &gt;  40 # module  /scc/sbin/webserver
                                core=1 eMAC2_1 10.110.4.41<br>
                                &gt; /shared/pravin/sw<br>
                                &gt;  41<br>
                                &gt;  42 # RCK memory map<br>
                                &gt;  43 # Everything up til VGA is
                                private RAM (maybe we want to throw it<br>
                                &gt; away)<br>
                                &gt;  44 mmap    map 0x0     0xa000    
                                 2<br>
                                &gt;  45 # Everything after VGA is
                                private RAM (we also live in this area)<br>
                                &gt;  46 mmap    map 0xe800    
                                 0x26ff1800  1<br>
                                &gt;  47 # Shared RAM (over all MCs) in
                                the middle of address space<br>
                                &gt;  48 #mmap   map 0x80000000
                                 0x4000000   1<br>
                                &gt;  49 mmap    map     0x80000000    
                                 0x40000000      1<br>
                                &gt;  50 # At the very end we have some
                                platform memory (bootup EEPROM)<br>
                                &gt;  51 mmap    map 0xfffc0000  0x40000
                                    2<br>
                                &gt;<br>
                                &gt;<br>
                                &gt;<br>
                                &gt;
                                _______________________________________________<br>
                                &gt; Barrelfish-users mailing list<br>
                                &gt; <a moz-do-not-send="true"
                                  href="mailto:Barrelfish-users@lists.inf.ethz.ch"
                                  target="_blank">Barrelfish-users@lists.inf.ethz.ch</a><br>
                                &gt; <a moz-do-not-send="true"
                                  href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users"
                                  target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a><br>
                                -------------- next part --------------<br>
                                An HTML attachment was scrubbed...<br>
                                URL: <a moz-do-not-send="true"
href="https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20120422/ffc2681c/attachment.html"
                                  target="_blank">https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20120422/ffc2681c/attachment.html</a><br>
                                <br>
                                ------------------------------<br>
                                <br>
_______________________________________________<br>
                                Barrelfish-users mailing list<br>
                                <a moz-do-not-send="true"
                                  href="mailto:Barrelfish-users@lists.inf.ethz.ch"
                                  target="_blank">Barrelfish-users@lists.inf.ethz.ch</a><br>
                                <a moz-do-not-send="true"
                                  href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users"
                                  target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a><br>
                                <br>
                                <br>
                                End of Barrelfish-users Digest, Vol 27,
                                Issue 9<br>
***********************************************<br>
                                <br>
                              </blockquote>
                            </div>
                            <br>
                          </div>
                        </blockquote>
                      </div>
                    </blockquote>
                  </div>
                  <br>
                </div>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Stefan</pre>
  </body>
</html>